The manual process around updating broken links is due to be replaced by a simple link checker that I’ve been writing in Rust. It’s not quite ready yet but it’s nearly there…
I was updating a few broken links today and came across this from 2004;
“Software development is about discipline and detail; code quality starts to decay as soon as developers forget this. All code decays, but tests can help to make this decay obvious earlier.
This blog has been around a long time and the internet tends to rot. This means that quite a lot of the links on old posts are broken. I’m slowly fixing these broken links to use “The Wayback Machine” but it’s complicated to automate as the resulting URLs need to include a timestamp of a valid snapshot and can’t just include a ‘rough idea of the date’. So I’m fixing the broken links manually by watching the posts that are accessed the most and manually checking the links and fixing them up.
On the 3rd of May 2003 I posted the first entry on this blog. I then proceeded to “back fill” the blog with various things that had either been posted before in other places or had been laying around waiting for me to have somewhere to put them. This is why although the blog began in 2003 the archives go back to 1992.
What I said on the 10th anniversary of this blog is still apt:
I’ve just purchased a license for Deleaker by Softanics. I found out about the tool from Bartek’s coding blog where he writes about the tool here.
I downloaded the trial edition and it found quite a few subtle issues in some of my unit test code. Nothing too serious, but stuff that other tools have missed. The run-time overhead doesn’t appear to be that great, my server tests still run at a reasonable speed and nothing fails because of the instrumentation.
I’ve been trying various static analysis tools on the C++ code of The Server Framework. I’ve now been using Resharper C++ quite regularly for over a year and I still use the Gimpel PC-Lint Plus Beta on a regular basis. I haven’t used CppDepend as much, mainly because once I’d fixed the issues that it raised, and that I decided I needed to fix, I pretty much left it alone. This is possibly because I run it as an external tool and I run both Resharper and PC-Lint as fully integrated Visual Studio extensions.
I’ve been looking at Resharper C++ by JetBrains for a while now and the trial period has finally run out. I immediately bought a license which shows how my feelings have changed about the product during the trial.
Initially I found that the tool got in my way too much, I still find it a little sluggish at times but I think that my initial tests were hurt by the fact that I was running multiple copies of Visual Studio (as is my way) with multiple large projects and generating code inspection reports in all of them at the same time… Well, that’s how I’d want to use it… Anyway, when limiting myself to one or two concurrent instances things were better.
I’ve been trying various static analysis tools on the C++ code of The Server Framework. So far I’m using Resharper C++ and the Gimpel PC-Lint Plus Beta on a regular basis and I’ve now added CppDepend into the loop.
Full disclosure. I have been given a CppDepend license.
As I’ve said before, whilst CppDepend is easy to get hold of, easy to install and “just works” I don’t find it that useful.
Following on from my rant about C++ tooling and its follow up. I’ve been looking at JetBrains ReSharper for C++. This isn’t a review, more just my initial thoughts.
TL;DR I’d like to like it. It does some good things but it also gets in my way and slows me down.
ReSharper is a Visual Studio add-in. In general I don’t like add-ins but this comes from my years working short contracts and multiple clients where it was easiest to be at home in a clean Visual Studio installation as no two clients would have the same add-ins installed.
I dragged myself into London last night for the London MMO Meetup. I had some clients that I wanted to chat to who were going and the programme looked good.
This was the first “meetup” that I’d been to, it was good and the format worked well. We were hosted by King at their London office on Wardour Street. The office was great, the presentation space was good and they provided a nice spread of food and drink.
I’ve been a big fan of Gimpel Lint for years. It’s a great static analysis tool for C++ and it can locate all kinds of issues or potential issues in the code. My problem with it has always been that it’s a bit of a pig to configure and run, more so if you’re used to working inside an IDE all the time. Several years back I had some custom Visual Studio menu items that I’d crufted up that ran Gimpel Lint on a file or a project and some more cruft that converted the output to something clickable in the IDE’s output pane.