Great analysis
@demo .. you are some kind of genius
Well, I dont know whether it is genius. Some people would say that it is stupid.
This is how I discovered the 91 people who used to vote NO in the first sms-otp proposal, and now they changed their mind.
Code:
expr `curl -s https://demodun.github.io/mnowatch/the_results_dashd_24-02-2018.html| awk -F"\"container2" '{for(i=2;i<=NF;i++){{print $i}}}'|cut -f1-3 -d"/"|grep freedash| awk -F"\"container3" '{for(i=2;i<=NF;i++){{print $i}}}'|grep using-sms|wc -l` - `curl -s https://demodun.github.io/mnowatch/the_results_dashd_24-02-2018.html| awk -F"\"container3" '{for(i=2;i<=NF;i++){{print $i}}}'|cut -f1 -d"/"|cut -f1- -d"v"|grep freedash|grep using-sms|wc -l`
The above query, although correct, it is incomplete, because the sentinel database erases the vote history, so not all masternodes preserve (in the current html report) the way they voted back in december 2017 (when your first sms-otp proposal took place). So if you want the real numbers, you need also to search in older reports of mine, and construct a more complex query that deals with (and join) more than one historical html tables/files of mine. Or if you are unable to construct complicated queries that require you to join html tables, you may search in
the report I created using dashninja.pl.
My site is hosted in github.io where
they do not allow databases or sql queries. This difficulty made me angry, and as long as I would not like the proverb
"the bad workman blames his tools" to characterize me, the above code is an alternative way to simulate the below (simplified) sql query:
Code:
select count(voters) from votes_table where voted_for_getgreedash=yes and voted_for_sms-otp=no;
On the other hand, and despite all the disadvantages and the cumbersome (or stupid) way I use, there is a big advantage in my method. Whenever you visit a site that hosts an internal database, you always have to trust that they execute the sql query correctly for you. But maybe they dont!
In my method the data are stored in pure html table format. They are pure html tables, they are not
obscure JSON or unreadable sqlite.db data. They can be displayed directly into a browser without using any code, thus they can be readed by ordinary humans. Additionaly I do not execute queries in my site, you should do it by yourself in your computer by using the appropriate combination of curl, grep, sed, wc, sort, uniq and awk commands. So you dont have to trust me that I execute the queries correctly. You also dont have to trust any javascript that I may download into your browser in order to execute queries. By constructing your own query (using the appropriate combination of curl, grep, sed, wc, sort, uniq and awk commands) you trust only yourself. Finnaly, on what it concerns the data integrity and accuracy, you can certainly trust the integrity and accuracy of the html data I provide, because the html file can be reproduced, replicated and tested by anyone who executes
my script in his own system. So my method is trustless....and in that sense,
Satoshi would be proud of me.