E01 vs E01S
The design philosophy is for simple legible code.
While speed tweaks and clever code is usually something to be desired in an emulator, this holds little value if you are the only one that can understand your code.
If you have a choice, choose to write code that is obvious and largely self-documenting, instead of something that relies upon tricks, side effects, or just plain ordinary Deep Magic.
The 'rules' below are to aid in consistency so additions to this project blend in with the rest of it.
PS: If you think this is a mouthful, go read the coding practice suggestions for Ghostscript! :-)
I should not have to say this, but...
It is strictly forbidden to:
The end user has placed trust in us that our program may or may not work exactly as intended, however it will make an attempt to do what it's description says and won't willfully compromise either their system or their identity. Respect that.
- Insert (or modify) code in order to cause a detrimental effect to the user's computer.
- Delete any file(s) outside of our application directory without guidance (i.e. if the user specifically wants to recreate "C:\myeprom.img"...).
- Send any personal information whatsoever to a remote server either by direct socket access or by URL call, etc.
It is acceptable to embed the application ID/version in the link URLs for the aid of PHP scripting to auto-notify the user if they are using an 'old' version, but that is all.
[by this I mean a URL like .../emulator.html?app=filestore&ver=131 or such]
- With the specific exception of redirecting to a server hosted on the development machine if the software is running on said machine (see OpenURL function), all URL calls must go to where the user is led to believe they go to. For example if the icon says "www.mysite.org/fsem/" then that's where the browser should go, and not "www.sexsexsex.com".
Furthermore, a linked site should have neither pop-ups or sponsored adverts/images. Those things are cack and people generally dislike them, hence why 'smarter' software has options to disable this sort of thing.
- Introduce foreign executables into the system. This software should be self-contained and not have any requirement to load/run/start any other EXEs. [starting the web browser is done by the OS, not us!]