Why I’m strongly opposed to modifying third-party library code

The Lone C++ Coder's Blog from The Lone C++ Coder's Blog

I encounter this on a fairly regular basis - a project uses a third-party library and there is either a bug in the library that we can’t seem to avoid hitting, or there’s a feature missing or not 100% ideal for our use case. Especially when dealing with an open source library, at this point someone will inevitably suggest that we have the source, so we should just fix/hack/modify the library and get on with our lives.

Large file handling in Emacs revisited, with a quick look at VLF

The Lone C++ Coder's Blog from The Lone C++ Coder's Blog

I recently blogged about installing a 64-bit build of Emacs for Windows because I was dealing with a bunch of large and very large files. While the 64-bit build definitely handled the really large files much better than the 32-bit build, there were still some performance issues. The main advantage of using the 64 bit build was that I could finally load a couple of files that I wasn’t able to load on the 32-bit build, but opening the files severely tested my patience.

Dr Dobb’s – the end of an era

The Lone C++ Coder's Blog from The Lone C++ Coder's Blog

I grew up as a software developer on a steady diet of Dr Dobb’s magazines. I was hooked the first time I came across an issue of the magazine as a student in the university library and for most of my career I have been a subscriber to it, until the print magazine was cancelled. I was sad to read this morning that after 38 years of publication, first in print and then on the web, the online edition has now met the same fate.

Making git work better on Windows

The Lone C++ Coder's Blog from The Lone C++ Coder's Blog

In a previous blog post I explained how you can substantially improve the performance of git on Windows updating the underlying SSH implementation. This performance improvement is very worthwhile in a standard Unix-style git setup where access to the git repository is done using ssh as the transport layer. For a regular development workstation, this update works fine as long as you keep remembering that you need to check and possibly update the ssh binaries after every git update.

Checking C++ library versions during build time

The Lone C++ Coder's Blog from The Lone C++ Coder's Blog

In my previous post, I discussed various strategies for managing third party libraries. In this post I’ll discuss a couple of techniques you can use to ensure that a specific version of your source code will get compiled with the correct version of the required libraries. Yes, you can rely on your package management tools to always deliver you the correct versions. If you’re a little more paranoid and/or spent way too much time debugging problems stemming from mixing the wrong libraries, you may want to continue reading.

Managing third party libraries in C++ projects

The Lone C++ Coder's Blog from The Lone C++ Coder's Blog

Every reasonably sized C++ project these days will use some third party libraries. Some of them like boost are viewed as extensions of the standard libraries that no sane developer would want to be without. Then there is whatever GUI toolkit your project uses, possibly another toolkit to deal with data access, the ACE libraries, etc etc. You get the picture. Somehow, these third party libraries have to be integrated into your development and build process in such a way that they don’t become major stumbling blocks.