Data Oriented Programming – DOP

A couple weeks ago I attended the one-hour webinar “Reduce System Complexity with Data-Oriented Programming” from the ACM. I have been a member of the ACM for a long time and enjoy their webinars, magazine, and access to on-line courses. At this time they offer access to PluralSight which happens to also be offered at work.

The following comes from the invitation to the ACM webinar:

Description

Complexity is one of the main difficulties in the development of successful software systems. Modern programming languages and frameworks make it easy to develop and deploy our code quickly, but as the code base grows, complexity makes it challenging to add new features. Continue reading “Data Oriented Programming – DOP”

Agile – Does it work as is?

What do the following countries:  China, Egypt, England, Italy, Portugal, and Spain, just to mention a few, have in common? At some point in the past they were superpowers and for some reason or another they let someone else take their place.

If I would have been living in Italy, specifically in Rome 2000 years ago, I would have told the emperor and their citizens that we had to change our ways or we would allow a country to collapse. That is easy said because we have learned about the history of Rome and the many other countries that went through the same experience, yet it has always been a somewhat different situation. Continue reading “Agile – Does it work as is?”

Software Engineering at Google Lessons Learned from Programming Over Time

Good day, it has been a while since my last post. Have been quite busy at work and home. The holidays are approaching so things might improve somewhat.

In this post I am not going to write code. I am going to let you know about things that called my attention in the past few weeks.

I am currently reading “Software Engineering at Google Lessons Learned from Programming Over Time”, curated by Titus Winters, Tom Monshreck & Hyrum Wright, published by O’Reilly. And yes, it is the book with the pink flamingo on the cover. Continue reading “Software Engineering at Google Lessons Learned from Programming Over Time”

Added new CLI to the iCAS

It is another Saturday in the Twin Cities of Minneapolis and St. Paul. Last night I changed the alarm to wake up at 05:15 AM. That said I was up around 05:00 AM. My wife and her friend want to get an early start shopping. They should be back around 11:00 AM. They both took masks, gloves and umbrellas. The forecast does not call for rain in this area, but around the time they were leaving there were some spotty dark clouds.

The latest and greatest on liberals is to allow defilement of statues of Christopher Columbus around the country. Not sure what is the point and more important what will change with such actions. Continue reading “Added new CLI to the iCAS”

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”