Archive for the ‘Free Software’ Category

Subversion Configuration Suite

Wednesday, 4 July 2012

I’ve now uploaded my Subversion Configuration Suite (svn-meta) repository to Google Code so that the files are publicly available for anyone to use.


Stuck in the Avast SafeZone

Tuesday, 29 November 2011

Here’s another post that I hope may help someone else to solve a problem that took me a couple of hours to get to the bottom of.

My kids share a very basic laptop, on which I installed Avast! free version as the anti-virus solution (with which I am generally very pleased). However, whilst playing with the gadgets, one of the kids managed to get the machine into the SafeZone, and there it seemed stuck: both “Switch back” and “Turn off SafeZone” briefly exit but immediately return to the SafeZone.

I found that others have had this problem, but the suggestions I found did not help in my case. I really didn’t want to un-install and re-install Avast, and so I hunted around a bit for an alternative fix. Here’s what I found.


How to Set VLC as the Default DVD Player (Windows 7)

Friday, 23 September 2011

Having spent some time searching the web for an answer to this question, I found the same partial information repeated many times. I prefer to keep auto-play disabled. However, I was still finding that Windows Media Player would always start when I double-clicked the DVD drive icon.

Eventually, I decided to have a bit of a dig around in the system.


What to Look for in a (Free, Open-source) Software Download

Sunday, 13 February 2011

There is a huge amount of free software available. But you need to take care.


Why Free Open-source Software is Better than Commerical Software

Saturday, 12 February 2011

Well, that’s a slightly unfair title. Here are some reasons why free, open-source software can be, and often is, better than commercial software.


Free Software

Tuesday, 21 December 2010

For most pieces of commercial software for common tasks there is an excellent free althernative; sometimes even open source. Here are a few of my favourites.

This post extends and complements several previous ones on open source software, firefox extensions and system tools.



Thursday, 8 October 2009

What version of subversion have I got? It depends. What do you mean?

Servers, clients and working copies all have versions associated with them.


STL Design Problem?

Thursday, 24 September 2009

Consider the following functions:

#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/date_time/date_facet.hpp>
#include <clocale>

std::string format_date_crash (::boost::gregorian::date dt)
  std::locale locale_local ("");

  ::boost::gregorian::date_facet date_output;
  std::locale locale_adjusted (locale_local, &date_output);

  std::ostringstream date_ss;
  date_ss.imbue (locale_adjusted);

  date_ss << dt;

  return date_ss.str();

std::string format_date_leakquery (::boost::gregorian::date dt)
  std::locale locale_local ("");

  ::boost::gregorian::date_facet * p_date_output
      = new ::boost::gregorian::date_facet;
  std::locale locale_adjusted (locale_local, p_date_output);

  std::ostringstream date_ss;
  date_ss.imbue (locale_adjusted);

  date_ss << dt;

  // *** don't delete p_date_output ***
  return date_ss.str();

Here, I have used Boost too, but I don’t believe that the problem is in Boost.

Calls to format_date_crash() crash in the ~std::locale() destructor [oddly, I found that it crashes only on the second call].

On the other hand format_date_leakquery() looks as though it might leak: it has a new without a corresponding delete. However a test showed that it does not leak.

It seems that the std::locale constructor takes ownership of the facet, so that when the locale object is destroyed, so is the facet (ie. the facet is deleted).

Is this an instance of poor design in the STL, or is there some compelling reason that things are arranged this way?

XSLT seems to be broken in Firefox 3…

Friday, 18 September 2009

… but it isn’t really. If you are having this problem, it might just be that the path to the style-sheet is either an absolute path or a relative path upwards.

It might be that Firefox 3 is blocking access outside the current directory. That is a security feature, and as such is worth having. If you can, move the XSLT style-sheet into or below the directory of the XML file using it.

Alternatively, you might opt to disable this security setting, and return to the Firefox 2 behaviour in this respect:

  • type “about:config” into the address bar
  • change the value of “security.fileuri.strict_origin_policy” to “false”

This information is from mozillaZine.

Bugzilla trick: Static Bug List URLs.

Monday, 14 September 2009

There is a simple although round-about way to produce a Bugzilla query with an explicit list of bugs numbers.