About Hardcoded Software

Hi there. My name is Virgil Dupras, I live in Qu├ębec, Canada. I'm a software developer and have been for quite a while. The vocation of this website changed a lot over the years and I think that the best "about" section would be a short history of it.

In 2001, I started this website to host my software, Mp3 Filter (initially written in Delphi and now called dupeGuru) which I soon started to sell as shareware. Things gradually went for the better and, in 2004, I could leave my day job to work exclusively on my own software.

It's also in 2004 that I discover Python which became my favorite programming language. I then rewrite my applications in it. Initially, the GUI layer was kept in Delphi and worked only in Windows, but in 2006, wanting to support Mac OS X, I started doing something I called "cross-toolkit development" which allowed me to support multiple platforms without ending up with an ugly, non-native looking app that wxWidgets or Qt gave me on OS X.

Supporting Mac OS X was the beginning of real money coming in. That initially startled me because, after all, Mac has a much lower market share than Windows. I understood that Mac users had more money and, more importantly, had a different culture than Windows users: they were used to pay for their software. I started really liking Mac.

All this time and until 2009, I'm doing proprietary software. I began my career thinking that free (as in speech) software developers were silly because they were giving their "property" away, all for nothing. However, over time, my understanding of intellectual property evolved and in 2009, I make a leap to try to reconcile the income source of shareware with the freedom of open source.

At the time, I feared a collapse of my revenue, which never happened, but I wasn't satisfied with my solution because it wasn't really open source and didn't make total sense, in retrospective. A year later, I leap again and start fairware, which this time is really open source.

Once again, the feared collapse of revenu never happens and, quite happily, I sail through development having finally reconciled software freedom and revenue... until 2012.

In 10 years, I had developed a few applications, but only one ever worked commercially, dupeGuru. dupeGuru has been very fun to work on, but after this much time, one grows tired of developing the same application. In fact, I grew tired of "shareware type" software development altogether. So, I took a job at a local free software consultant firm and pretty much stopped actively developing HS apps and phased out fairware. Then, a bit later, in 2018, I started freelancing.

So, in short, not much is happening here any more. I completely stopped working on dupeGuru, but I still work on moneyGuru because I personally use it. I also don't have a MacOS or Windows system, so I don't produce anything for these systems any more.

Latest News

2019-03-27 -- moneyGuru 3.0.0 released (link)

The goal of this release is to strip what I see as cruft, weight that impairs further development, namely, budgets and plugins. They were both too heavy for the value they brought in. Removing them cleans the code a lot.

Otherwise, the rewrite to C continues agressively, all major core elements now implemented in C, the latest addition being scheduling logic (see why I wanted to remove budgets first?).

  • Minimum python requirement is now v3.5+
  • Remove budgets. #391
  • Remove plugin system. #401
  • Continue C rewrite started in v2.12 further.
  • Simplify GUI signalling system ("de-notification").
  • Make autosave trigger each X steps instead of X minutes.
  • Remove example file.
  • Make import window modal (one import operation at a time).
  • Add "Match entries by date/amount" in import window. #493
  • Fix application icon by properly expanding parameter in sed. #507
  • Add "All files" filter to import's open file dialog. #508
  • Fix amount parsing ambiguity between thousands and decimal seps. #422
  • Files saved with moneyGuru v3+ can't be read in earlier versions. Files saved with moneyGuru v2+ can be read correctly by moneyGuru v3.

2019-01-03 -- moneyGuru 2.13.1 released (link)

  • Fix confusion with account groups with same name.
  • Show "Show account" arrows only when there's something to show. #483
  • Make OFX loader accept OFX v2 headers. #423
  • Serialize all settings to JSON. #468

2018-12-31 -- moneyGuru 2.13.0 released (link)

  • Rewrite Account, Split, Entry, Transaction, AccountList (partial), TransactionList (partial) to C.
  • Improve Makefile so it behaves more like a typical project.
  • Fix crash when moving tabs around. #481
  • Use system locale to determine active language.
  • Improve BOC currency provider to support historical rates. #498
  • Remove broken Yahoo currency provider.
  • Remove ability to load user plugins. #401
  • Fix selection glitch after spawn materialization.
  • Add shortcut to materialize spawns.