Quantcast
Channel: The Conifer Systems Blog » Software Engineering
Browsing latest articles
Browse All 10 View Live

How to Get Dependencies from /showIncludes

Our GNU make whitepaper mentions that, if you’re using Visual C with GNU make, you can use the /showIncludes compiler option to help generate .d files, much like you can with the -MD option to gcc.  I...

View Article



Derived Files in Repositories

Traditionally, users of source control systems are told that they should only put source files, not derived files, in their repositories.  For example, you would check in your .c and .h files, but not...

View Article

Binary Searching for Bugs

Normally, when debugging, I would recommend starting from first principles and trying to understand the problem’s root cause before doing anything else.  Without a complete understanding of the bug,...

View Article

Build Determinism

I’ve written earlier about machine-independent builds, but let’s talk about a related issue: build determinism.  A build or a build step is deterministic if I can run it multiple times and get the same...

View Article

Windows vs. Unix File System Semantics

One of the challenges in implementing a cross-platform file system driver such as Cascade File System is dealing with the many differences, small and large, between how Windows, Linux, and Macintosh...

View Article


The Benefits of Small Commits

Unless there’s a specific reason why you can’t, I recommend that you commit code to your repository in the smallest possible atomic chunks. Look, it’s great that modern source control systems allow you...

View Article

When Are Small Commits Bad?

I wrote previously on the topic of small commits.  So when and why would I advise bunching small changes together into bigger ones, aside from the obvious case of changes that must be done atomically...

View Article

Continuous Process Improvement

With the possible bankruptcy of the US Big Three automakers in the news, it’s interesting to think about the analogies between making cars and making software.  There is no one single reason why the...

View Article


The Cost of Integration

I’d like to propose a fundamental law of configuration management: the cost of an integration increases over time.  This is similar to the well-known software engineering observation that the cost of...

View Article


The Cost of Branching

I wrote previously on the cost of integration.  I’d like to follow up by discussing a related topic, the cost of branching. Doesn’t integration imply branching?  Not exactly: branching requires...

View Article
Browsing latest articles
Browse All 10 View Live




Latest Images