{"id":16,"date":"2007-11-08T11:11:30","date_gmt":"2007-11-08T16:11:30","guid":{"rendered":"http:\/\/littlesvr.ca\/grumble\/2007\/11\/08\/how-evil-i-have-become\/"},"modified":"2012-12-05T00:57:08","modified_gmt":"2012-12-05T05:57:08","slug":"how-evil-i-have-become","status":"publish","type":"post","link":"http:\/\/littlesvr.ca\/grumble\/2007\/11\/08\/how-evil-i-have-become\/","title":{"rendered":"How evil I have become"},"content":{"rendered":"<p>he Windows port of ISO Master is almost ready. That&#8217;s not a programmer&#8217;s <em>amost<\/em>, it really is. All the existing ISO Master functions work, I added a drive selector (that wasn&#8217;t needed on Linux), the nag screen works, and I set up a page on the website to accept payments via a credit card or a PayPal account. Take a look:<\/p>\n<p><a title=\"ISO Master on windows with nag scren\" href=\"http:\/\/littlesvr.ca\/grumble\/wp-content\/uploads\/2007\/11\/isomaster-windows-nag.png\"><img decoding=\"async\" src=\"http:\/\/littlesvr.ca\/grumble\/wp-content\/uploads\/2007\/11\/isomaster-windows-nag.png\" alt=\"ISO Master on windows with nag scren\" \/><\/a><\/p>\n<p>Once I decided to use GTK (rather than rewrite the GUI for win32) the porting went very smoothly. The part that&#8217;s left to do is the reason for the title of this post &#8211; the key generator.<\/p>\n<p>Once upon a time I was a student, an idealistic person with no need to reconcile my beliefs with the economic reality. No longer. These days I demand to be payed for work that&#8217;s not a hobby or a favour. And writing software for windows is neither of those, I assure you.<\/p>\n<p>So I&#8217;ll be doing my best to make sure using an unlicenced copy of ISO Master on windows is as painful as possible. For now I only decided on two measures: a nag screen that won&#8217;t go away for a few seconds, and a few files on the saved ISOs of the &#8216;Created with ISO Master demo.txt&#8217; type.<\/p>\n<p>I realise that the more annoying I make it the more likely it is that someone will be pissed enough to fork the project and leave me in the dust. So I&#8217;m taking measures to make that difficult too. Which I won&#8217;t go into, I have to keep them secret or else there&#8217;s no point in having them :)<\/p>\n<p>Back to the key generator. As a minimum I need something to generate a pool of valid keys in a format that allows a much larger pool of invalid keys. A quick search suggests there is no open soruce licence management system of any caliber. Not really surprising.<\/p>\n<p>So I&#8217;d have to either pay for one or make my own. I found a simple key generator online for 7$ or so, and that would be a reasonable choice for me if all I wanted was a measure to prevent cats walking on the keyboard from typing in a valid key, but I can do so much more&#8230;<\/p>\n<p>I have an idea that would make key generators (the pirate&#8217;s kind) impossible. I have more ideas about how to integrate my generator with billing systems, incremental upgrades, and online validation. Hell why not &#8211; through some DRM and software patents in there too. And I have the skills to do all of these things.<\/p>\n<p>So I cought myself seriously considering building a grand (but modular) licence management system that would work for any business from a one-man operation to a large enterprise. When I realised what I was thinking I didn&#8217;t know whether I should laugh or cry. How quickly I went from a strong believer on open source to proponent of solutions for squeezing money out of users :)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>he Windows port of ISO Master is almost ready. That&#8217;s not a programmer&#8217;s amost, it really is. All the existing ISO Master functions work, I added a drive selector (that wasn&#8217;t needed on Linux), the nag screen works, and I set up a page on the website to accept payments via a credit card or &hellip; <\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,4],"tags":[],"class_list":{"0":"entry","1":"post","2":"publish","3":"author-andrew","4":"post-16","6":"format-standard","7":"category-opensource","8":"category-safeforseneca"},"_links":{"self":[{"href":"http:\/\/littlesvr.ca\/grumble\/wp-json\/wp\/v2\/posts\/16","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/littlesvr.ca\/grumble\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/littlesvr.ca\/grumble\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/littlesvr.ca\/grumble\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/littlesvr.ca\/grumble\/wp-json\/wp\/v2\/comments?post=16"}],"version-history":[{"count":1,"href":"http:\/\/littlesvr.ca\/grumble\/wp-json\/wp\/v2\/posts\/16\/revisions"}],"predecessor-version":[{"id":656,"href":"http:\/\/littlesvr.ca\/grumble\/wp-json\/wp\/v2\/posts\/16\/revisions\/656"}],"wp:attachment":[{"href":"http:\/\/littlesvr.ca\/grumble\/wp-json\/wp\/v2\/media?parent=16"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/littlesvr.ca\/grumble\/wp-json\/wp\/v2\/categories?post=16"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/littlesvr.ca\/grumble\/wp-json\/wp\/v2\/tags?post=16"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}