Distribution update154 investors with 99.12 BTC. Not bad.
Weekly progress reportAnother slow week. Decided that the 3rd draft of the Vault specification is probably the final and I should start writing code for it. The code took surprisingly longer than expected.
Actually, this is a perfect motto for the software industry in general:
"It took longer than expected!" One of the reasons is that when you are developing a system that deals with people's money and has the potential to be used by tens of thousands, if not millions of users, you become so paranoid you can't even see where you can safely cut corners anymore!
To give you a peek into my evergrowing paranoia: at first I was writing the Vault class in such a way as to keep 2 identical copies of its contents in memory, repeat all operations for each copy and then, on each access, verify that both copies are the same!
And I already had 2 other ways to verify each record's integrity!Fortunately, I had a moment of clarity where I realized that this is most certainly a retarded overkill and scraped the whole idea, replacing it with a single copy and simplifying a lot in the process.
---
- So, you've seen the utf-8 password console test – correct input processing plus replacing it with '*' as you type took a bit of the time.
- Started coding the Vault. Rewrote my File class to use Windows native file functions instead of C runtime, because Vault requires additional features, like proper file buffer flushing or preserving file creation time.
- Wrote a simple Vault Creator tool to help node owners create vaults without the need for a client.
- Did some experiments with Windows On-Screen Keyboard (OSK). Wrote a trivial keylogger to test it and the keyboard didn't help at all So had to abandon the idea and replace it with JavaScript OSK.
- Investigated several JS OSK available, picked one and then tweaked and simplified it a bit.
- Ability to disable/enable all IE addons via the registry. Unfortunately, it alarms the antivirus, so disabled it for now. Maybe it will be an option later.
- Added "data_folder" variable into INI to tell the client where its data folder is located. Correctly expands paths like "%APPDATA%\Simcoin\data\". Correctly creates sub-folders recursively, if needed. Started "Client Configuration" article in the wiki, documented it.
- Rest of the time was spent on the test client: Vault integration (two JS API functions: new_vault() and enum_vaults()), simple navigation, password popup, OSK integration, etc.
Hm, I guess the week wasn't so slow after all
Another test client release (v0.2)So, things are slowly starting to shape. This is not how it will look, but navigation will probably be similar.
Please download and test it:
https://simcoin.info/simcoin_v02.zipMostly, I'd like to test the on-screen keyboard and make sure it works correctly in different IE versions. If you also know any of the languages it currently supports, please make sure everything is correct.
You can also test the "data_folder" INI option if you have time.
---
That is all for this week.