About:

Kyle Carter is a principal software engineer passionate about software and architecture, sharing experiences to help others and learn.

Website:

Specializations:

Interests:

Software Software architecture Learning

Outgoing Links:

Subscribe to RSS:
The text discusses the confusing case of git signatures on GitHub, explaining the issues with git signing and why it is not popular. It also highlights GitHub's attempt at simplifying commit signature and what it misses, and the p...
The text discusses the importance of accurate time in software development and the impact of NTP interactions going wrong. It explains how NTP works, the incident of a custom NTP client causing issues, and the lessons learned from...
The Cyber Safety Review Board published a report on the Microsoft Exchange Online intrusion by Storm-0558 in the summer of 2023. The report highlights various issues, including the lack of security culture at Microsoft, the flaws ...
The text discusses modern methods for Cross Site Request Forgery (CSRF) protection, explaining what CSRF is and various mitigation methods including Synchronizer Token, custom request header pattern, and requiring additional user ...
The text discusses a picture that has taken over the software development internet by storm. It has sparked reactions from people who think it's the greatest thing ever, those who think it's a horrible idea, and those who are unde...
The text discusses the need for FIPS-140 compliance in technology, particularly in HTTPD servers. It explains what FIPS-140 is, why it is important, and the process of building a FIPS-140 compliant HTTPD server. It also emphasizes...
The article discusses McKinsey's article on measuring software developer productivity, highlighting the good and bad points. It references DORA and SPACE metrics, but adds little value with its own metrics. It emphasizes the impor...
The text discusses the concept of mechanical sympathy in software development, emphasizing the importance of understanding the details of how the internals work behind all the abstractions. It highlights the benefits of gaining a ...
The text discusses the risks of pushing proof of concept (POC) code into production without proper review and the benefits of POCs in software development. It highlights the reasons why POCs may make their way into production and ...
The text discusses the transition to cloud-native development, emphasizing the importance of utilizing cloud services and features instead of writing your own code. It highlights the benefits of embracing cloud-native architecture...
The text discusses the importance of verifying the internal structure of services and system architecture in software development. It introduces the ArchUnit library, which allows automated testing of the architecture of Java code...
The text emphasizes the importance of domain knowledge in software development, stating that understanding the real world is necessary to build effective software. It discusses the ways to gain domain knowledge and highlights its ...
The text discusses the different types of software architects, including the accidental architect, the wannabe architect, the ivory tower architect, and the invisible architect. It highlights the strengths and weaknesses of each s...
The text discusses the different ways to build proxies in Java, including the definition of a proxy, use cases for proxies, and ways to accomplish proxying. It compares different methods of proxying and their performance, highligh...
The text discusses the use of DynamoDB as a data store in a project, the issue of incomplete result sets, the investigation into the problem, and the correct solution to the issue.
The text discusses various steps to fast track growth as a software engineer, including volunteering to dig into something, gaining domain knowledge, looking up from your work, code reviewing others, learning the principles, tryin...
The text discusses the process of designing software and overcoming writer's block in programming. It introduces the mantra 'Make it Work, Make it Right, Make it Fast' and explains the three steps involved in the process. It empha...
The text explains the history and differences between the Julian and Gregorian calendars, and how they were developed to keep in sync with the seasons. It also discusses the challenges developers face when dealing with different c...
The text discusses the importance of understanding the history and reasoning behind the architecture of a system. It provides various methods for discovering this history, such as storytelling, quality attributes, architecture dec...
The text discusses the introduction of virtual threads in Java as part of Project Loom, aiming to enable a high-throughput, lightweight concurrency model. It explains the importance of virtual threads, how they work, their benefit...
The text discusses the critical security vulnerability of SQL injection and the importance of mitigating it. It emphasizes the need for parameterized queries and offers alternative strategies to mitigate SQL injection issues witho...