Some code archaeology, for general interest and a short, sharp lesson on greed.
On 31st May 2013, a Litecoin backport introduces some Qt5 compatibility for Mac Dock icon handling:
https://github.com/litecoin-project/litecoin/blob/07b32c2cb247244a58e9e481c97e2e5ec2aa4867/src/qt/macdockiconhandler.mm#L86The code includes this comment, unremarkable at the time but which would later act as a tell-tale:
// write temp file hack (could also be done through QIODevice [memory])
One the 3rd Feb 2014, the change is integrated into MemoryCoin:
https://github.com/memorycoin/memorycoin/blob/psforkinit/src/qt/macdockiconhandler.mm#L98The comment text remains unchanged.
// write temp file hack (could also be done through QIODevice [memory])
On the 7th May 2014, carsenk commits the source for Dreamcoin and, although the code was subsequently expunged from the Dreamcoin repos, I forked a copy at the time and we can see that the comment has now changed:
https://github.com/gjhiggins/dreamcoin/blob/master/src/qt/macdockiconhandler.mm#L92// write temp file DRM (could also be done through QIODevice [memory])
The comment testifies to carsenk's crude approach to regexp in that the word “hack” has been regexplaced with “DRM”, making it crystal-clear that DreamCoin was forked from (also-expunged) HackCoin.
On the 9th May 2014, the tell-tale continued to sing its sweet song of betrayal, this time for LibertyCoin:
https://github.com/liberty-project/LibertyCoin/blob/master/src/qt/macdockiconhandler.mm#L92// write temp file DRM (could also be done through QIODevice [memory])
And boys and girls, if you listen
very carefully, you can right now hear the tune filtering out of CraigsCoin:
https://github.com/CraigsCoin/CraigsCoin/blob/master/src/qt/macdockiconhandler.mm// write temp file CRAIG (could also be done through QIODevice [memory])
So, be
careful out there with those greedy regexps, otherwise you could put someone's eye out.
Cheers
Graham
Edit: corrected URL