Singleton Pattern

It is a humid, cloudy and rainy day the Twin Cities of Minneapolis and St. Paul. Probably the only redeeming feature is that the Final Four is being played at the US Bank Stadium in Minneapolis. There are several streets closed in Minneapolis. Yesterday in the evening news you could see the amount of people eating, buying memorabilia, watching concerts, even riding a Ferris wheel built at a street intersection. It seemed that people were having lots of fun.

Yesterday morning I woke up shortly before 04:00 AM. I wanted to check on some tests running on a couple computers at home and had to write some documentation. I just got up and finished the tasks in the first 2-hour block of the day. Woke up my wife and had breakfast. She had plans with a friend to go shopping early morning. They were back around noon. We ended up having hotdogs for lunch, but what is most important, they had fun. Continue reading “Singleton Pattern”

Java Visitor Pattern

This morning after waking up I read Why I Write a Data Science Blog by Rebecca Vickery.  The subject of the post is to summarize the benefits that writing a blog, in her case regarding Data Science, provides her with benefits that help her improve towards her goals, and helps others starting a Data Science career with topics and situations that they might / will encounter at work.

I agree with her comments but would like to add that the idea of explaining some topic on writing is a great technique and applies to any type of subject. You do not know what you cannot explain. It is a simple as that. That is the reason I spend a couple hours every day reading, experimenting and then writing about what I have learned. I have tried to apply several of Richard Feynman techniques to my daily life. Hope they are working :o) Continue reading “Java Visitor Pattern”

What Should My Next Career Move Be?

It is another Sunday morning in winter in the Twin Cities of Minneapolis and St. Paul. Something is going on with the weather. Today the highs will be around 32F. In addition you can see green grass in many lawns. I was talking with my son who lives in Indiana and he mentioned that yesterday they woke up to several inches of fresh snow. He was going with his family to a Vivaldi concert in Cincinnati and hoping that the roads would cooperate. In contrast, the roads in my neck of the woods are perfectly clean. My wife and I will be leaving shortly for a walk in the Mall of America. Stores open at 11:00 AM so if we get there no later than 09:00 AM we should have plenty of time to feed my Fitbit five miles or more, get a bite and head back home. Continue reading “What Should My Next Career Move Be?”

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”

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”

Coding Conventions – C Programming Language

Last week I spoke with several developers regarding coding conventions for the C programming language. Most of them responded that there is some documentation by the organization, but some of them have never found it or read it. Most of them just look at existing code and try to mimic. The issue is that on most legacy projects, there is code written using different styles. Some organizations use some tools to extract documentation and or code metrics. With time those tools may have changed leaving behind artifacts that are no longer needed. Continue reading “Coding Conventions – C Programming Language”

Technical Debt

I have been architecting, designing, documenting from an engineering point of view, implementing, and testing software products and services for a few decades. Many years ago, working for a Fortune 500, I was troubled by the practices used to develop software. It seems that there had to be better ways to get from requirements to products and services. That induced me to read books and papers and take several college courses in order to satisfy my curiosity and be able to apply and create better ways. Continue reading “Technical Debt”

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”

C++ or Java?

Last week I was talking with a manager on the subject of C++ versus Java. The motivation behind this was if a project needs to be developed in C++ does experience in Java could be useful to quickly learn the specifics of C++ and become proficient in a very short period of time.

I would like to share my thoughts regarding this question. Perhaps it will shed some light into similar discussions that may arise in current or future projects. I would like to state that in my software development career I have learned and used a few procedural and OO programming languages (Assembly Language (multiple processors), BASIC, Bash shell, C shell, C, C++, C#, Fortran, Java, JavaScript, Pascal, Perl, PHP, PL/1, PL/C, Python, Ruby on Rails, SQL, Visual Basic and Visual C++ among others). In some projects I have written several million LOC using a single programming language. Continue reading “C++ or Java?”

The Single-Responsibility Principle

Today is January 01, 2017. Happy and prosperous New Year!!!

As I have mentioned in prior blog entries, among many other activities, I enjoy reading technical books in order to learn, refresh and on occasions question what some may consider common knowledge. One of the books that I am currently reading is “Agile Software Development Principles, Patterns and Development” by Robert C. Martin. So far, I recommend this book to people studying and practicing computer science. Continue reading “The Single-Responsibility Principle”