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”

Induced Signals and Obtained Waves

In this post I will go back to an article that I read around 30 years ago. At the time I was working for a Fortune 500 company. After lunch some of our team members would stop by the technical library in our building. The library had a nice collection of books and magazines.

I believe that the article of interest appeared in the IEEE Spectrum magazine. It dealt with a technique to troubleshoot computer cards. I believe the article was about the Xerox company. Continue reading “Induced Signals and Obtained Waves”

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?”

Order Processing Testing – Moq 4 and xUnit

I am reading, experimenting and hopefully learning how to use Moq is a mocking framework for C#/.NET. To learn more about mocking objects read here. For additional documentation on moq4 read here.

After completing the PluralSight course “Mocking with Moq 4 and xUnit” I decided to look for examples of Moq mocking a database. This post is based on my experience and comments on the article Unit Test Through Mocking Using MOQ Framework by Chinmay Dey published Dec 26, 2018. Continue reading “Order Processing Testing – Moq 4 and xUnit”

Calculator in C#

In this post we will develop a simple calculator able to add, subtract, multiply and divide.

The code will be implemented in C# using Visual Studio 2022.

Once we have the main code operational, we will add xUnit and will test using Moq4.

Let’s start by showing some output from our simple calculator. Continue reading “Calculator in C#”

Notes from the UnsafeCSharp Presentation

At work each month a set of hours are set aside/scheduled for employees to learn something new. I have worked at more than a dozen companies and have never seen a periodic time scheduled in the company calendar for it. Yesterday we had eight hours scheduled for learning. During that time an invite for a one hour presentation UnsafeCSharp showed up. I watched and enjoyed it. In addition most presentations at work are recorded so I am planning on watching it again later today.

As I am writing this post I am not sure if there are things that were presented that are company confidential. For that reason, at this time I am not disclosing the name of the presenter or will dive into specific topics. Continue reading “Notes from the UnsafeCSharp Presentation”

First ChatGPT Post – Populate Binary Tree

Hope your weekend is going well. I will start with an unrelated event to the main subject of this post.

When I was working at my first job in Minneapolis, Minnesota the Red Cross would stop by at work for blood drives. They made it simple, so I started to give blood once a year.

Time went by and I decided to do it twice a year (one for my wife and one for me). I had my first appointment for 2023 last Friday afternoon. All went well as usual up to the point in which after the gauze was taped to my arm to protect the area from which the needle was removed. The technician offered a bandage to put pressure over the gauze to protect it for a couple hours. I have always declined and this time was no different. Continue reading “First ChatGPT Post – Populate Binary Tree”

Stanford Lecture: Don Knuth – Twintrees, Baxter Permutations, and Floorplans (2022)

Due to the COVID-19 pandemic, the last couple years Donald Knuth professor emeritus at Stanford University was not able to generate/present The Annual Christmas Lectures. For this past year (today is January 01, 2023 – Happy New Year!) he generated Stanford Lecture: Don Knuth – Twintrees, Baxter Permutations, and Floor Plans (2022). When you read the title it is hard to imagine how the three topics could be connected. My suggestion is to watch the video in which the topics are presented. Towards the end of the video the relationships are discovered. Not only that, but a set of four C programs are provided so one may experiment with the concepts. Continue reading “Stanford Lecture: Don Knuth – Twintrees, Baxter Permutations, and Floorplans (2022)”

Longest Absolute File Path – C# and Java – Revisited

Hope you had a nice Thanksgiving day with family and friends. My wife and I typically roast a turkey. This year, for the first time, we went with a fresh turkey breast. It was a fraction of the weight of a full turkey and when all was said and done, my wife did not have to deal with cleaning the bones. Today, and probably for the next few days, we will be having different types of turkey sandwiches (Bread, butter on the outside, panini press @ 350F, turkey meat. When brown and crunchy, open sandwich, apply mayonnaise and a touch of mustard. Close and enjoy).

In this post I will revisit solving LeetCode 388. Longest Absolute File Path. The motivation was a message I received a few days back on a solution in O(n). I looked up my solution in Java from February 27, 2017 and it was hard to follow. At the time I used a different plugin and the output was not that great. With time it stopped working so I switched to a different one. Much better but sometimes it mangles the output. Continue reading “Longest Absolute File Path – C# and Java – Revisited”

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”