Number of Islands – Java

Last evening before going to bed, I left a window in the kitchen opened just a crack. The temperature was forecasted to drop down to 37F, so I hopped it was going to be fine.

A few minutes past midnight I woke up. It felt somewhat chilly. I closed the window and checked the temperature in the upper level zone. It was at 68F which is at what we keep it during the winter months. I turned on the heat in the zone and went back to bed. During the rest of the night I heard the furnace kick in a couple times.

During breakfast my wife asked if windows were closed and the furnace was on. I told her about my midnight adventure. We agreed on leaving windows closed from now on until next spring. The system at home has an air exchange unit so it makes sense to keep the windows closed and the temperature at 68F. Continue reading “Number of Islands – Java”

Masking Personal Information

Earlier this morning while having breakfast with my wife, around 06:30 AM she noted that the day was quite dark. I replied that this is normal this time of the year, especially because Daylight Savings in the United States was extended since the last update.

Around 07:00 AM, after showering and getting dressed, I descend to my home office. Around 10:00 AM I prepared coffee for my first break of the working day. It was sunny and windy with a temperature in the high 40’s. Hopefully the weather will remain like that for the rest of the day.

While browsing the LeetCode web site problem 831 Masking Personal Information called my attention. I develop software and systems that deal with medical records and images which need to be de-identified. This problem seemed to contain a very reduced set of data that needs to be anonymized. Continue reading “Masking Personal Information”

TDD is Seldom Understood

Introduction

I read and re twitted the post by Chris Fox titled “Test-Driven Development is Fundamentally Wrong” in Hacker Noon. In the past few months, I have been reading multiple articles a day about TDD. It seems to me that most people (i.e., software engineers and software managers) have heard about the benefits of using TDD, but it all collapses when understanding and applying the proper concepts or fundamental nature. Continue reading “TDD is Seldom Understood”

Flatland Space Stations

Please do not be shocked by the introductory sentences. I was born into an Italian family. My parents moved from Italy to Peru in the 1930’s. Growing up in Peru we were introduced to have wine with weekend meals. In particular wine was only served for lunch. My sisters and I started drinking lemonade with wine. After a few years we moved to have a desert that is made of fresh strawberries with sugar and wine. You just mix the ingredients and let them sit for a couple hours in the fridge. If you try it this summer, make sure it is served chilled. As we got older we had weekend lunch with a couple bottles of wine. None of us ever had issues with alcohol. Different cultures have different approaches to solve the same issue. We just need to make sure that what we do works to solve the problem. If it does not, learn and put practice different approaches. This philosophy can and should be applied to life and software development. Continue reading “Flatland Space Stations”

Binary Tree – Heap

I read an article or two from Medium every day. A few days ago I read “Binary Trees: The Heap” by David Pynes. The idea behind a binary tree or heap is to be able to associate values with associated priorities. For example, assume you are in line at an emergency room in a hospital. When you arrive and register the facility may use a plain queue (FIFO) to wait for a physician. What happens if a patient in worse condition that you arrives later. The logical thing would be to allow them to see a physician before patients that are less ill. Continue reading “Binary Tree – Heap”

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”

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”

Test Driven Development – TDD

I was about to continue the design and implementation of the single link queue using C++ and decided to write this blog to illustrate the TDD process that I follow when developing code. The initial architecture and design phases have already passed. I am now facing the design, implementation and testing of some methods that could be used around the implementation of dequeue (remove) the next element in a FIFO (First In First Out) fashion.

Please note that I am using C++ and the Visual Studio 2013 IDE running on a Windows 10 platform. Continue reading “Test Driven Development – TDD”