abuelau
|
|
February 21, 2014, 11:08:13 AM |
|
Ha? Why would an administrator lock the topic. And I didn't even get any notifications..
Just start another thread. Apparently giveaways are forbidden in the ALT section and I could get banned if I start another thread. I will have to start another one on nextcoin.org.
|
|
|
|
l8orre
Legendary
Offline
Activity: 1181
Merit: 1018
|
|
February 21, 2014, 11:08:35 AM |
|
Is double precision floating point really so unreliable?
This is peoples *money* you are dealing with James so I think you should not be so cavalier and actually understand how things work (or pay someone else to do the job *properly*). If you take such shortcuts then your code will just end up as "junk" down the track. I am sure there is some equivalent C code around and the code I wrote there could be reduced (as a lot of functionality it has you wouldn't need). Would you be so kind as to educate me on how using double precision is being cavalier? I have used floating point a lot, even for iterative computations. For a gateway, all user facing operations have a very short length, eg. one maybe two operations. How will errors in the 14th decimal place matter when 1 satoshi is 12 decimal place even for 1000 deposit. I am all for super precision, so once I understand the actual problem I will do what it takes to make it precise. Please help me understand the issue. I read https://bitcointalk.org/index.php?topic=13837.0 and nothing in here convinces me that doing a single subtract will change the value of any deposit or withdrawal, down to 1 satoshi. Also, the gateway code will be run in controlled environments and I will specify compiler, options, etc. Again, please provide a specific example of precision problem that a gateway doing deposits and withdrawals will run into. What if I used 128bit floating point? James Let me please chime in also - the link to Wiki is a good starter. Quoting from that: As decimal fractions can often not be exactly represented in binary floating-point, such arithmetic is at its best when it is simply being used to measure real-world quantities over a wide range of scales (such as the orbital period of a moon around Saturn or the mass of a proton), and at its worst when it is expected to model the interactions of quantities expressed as decimal strings that are expected to be exact.[37][38] An example of the latter case is financial calculations. For this reason, financial software tends not to use a binary floating-point number representation.[39] The "decimal" data type of the C# and Python programming languages, and the IEEE 754-2008 decimal floating-point standard, are designed to avoid the problems of binary floating-point representations when applied to human-entered exact decimal values, and make the arithmetic always behave as expected when numbers are printed in decimal. To paraphrase: binary floating point arithmetic is a huge can of ugly writhing worms that is to be avoided whenever possible when decimal precision is crucial! In physical simulations, this is not really the case, but in financial, it is! Please try these simple lines in python, matlab, or any other binary floating point calculator, and DESPAIR: a=0.8 b=0.7 a-b==0.1 Out[6]: False <------ LOOOOOOOOOOOOOOL! computer can't see this ?!?! because: c=a-b c Out[4]: 0.10000000000000009 then, when people loose money because of this, the software causing this problem is F****D
|
|
|
|
CoinMode
|
|
February 21, 2014, 11:08:52 AM |
|
This whole coin was dead in the water. The new tech is laughable and nothing that cannot be wrapped into BTC directly or through a 3rd party app. These coins live and die on their communities, and starting with a large centralized developer with major investors backing it does not seem like a good way to start a strong community. Real cryptocoins benefit everybody with equal opportunity. Coins like this one benefit the developers most of all, by far. Forget this coin. It is the anti-crypto.
|
|
|
|
nexern
|
|
February 21, 2014, 11:10:57 AM |
|
This whole coin was dead in the water. The new tech is laughable and nothing that cannot be wrapped into BTC directly or through a 3rd party app. These coins live and die on their communities, and starting with a large centralized developer with major investors backing it does not seem like a good way to start a strong community. Real cryptocoins benefit everybody with equal opportunity. Coins like this one benefit the developers most of all, by far. Forget this coin. It is the anti-crypto.
sure, will do in 2140 if this is ok with you
|
|
|
|
McDoxy
Member
Offline
Activity: 96
Merit: 10
|
|
February 21, 2014, 11:17:14 AM |
|
This whole coin was dead in the water. The new tech is laughable and nothing that cannot be wrapped into BTC directly or through a 3rd party app. These coins live and die on their communities, and starting with a large centralized developer with major investors backing it does not seem like a good way to start a strong community. Real cryptocoins benefit everybody with equal opportunity. Coins like this one benefit the developers most of all, by far. Forget this coin. It is the anti-crypto.
YOU are the anti-crypo... Btw, goog luck trying to get transparent forging into BTC.
|
|
|
|
Come-from-Beyond
Legendary
Offline
Activity: 2142
Merit: 1010
Newbie
|
|
February 21, 2014, 11:17:34 AM |
|
@CFB and others, would it be good if assets listed on exchange were somehow grouped? To bring order to the chaos. Some generic groups such as "currency", "ipo", etc..
Will this help if u have 1000 assets in a group?
|
|
|
|
abuelau
|
|
February 21, 2014, 11:17:42 AM |
|
Announcing the first online NXT Wallethttps://wallet.mynxt.info Features:- Easy to use - Access your NXT from anywhere - Responsive layout: works in PC/Mac, Tablets and Phones - Send/Receive NXT - See your balance in NXT, USD and BTC Is it safe?We made it as secure as possible, keeping in mind that as we all know nothing in the online world can be claimed to be 100% secure. If you want the details: All accounts are 50 random generated characters long, we use AES256 to encrypt each account address twice (once using a site-wide key and once using your master password). We also only accept SSL connections and hash all passwords (salted). There have been discussions on the main NXT Bitcointalk thread around possibly making it even safer by doing the encryption/decryption of the account on the client side (as opposed to the server side) and we are looking into this. Launch PromoTo make things more exciting, as a launch promotion we are giving away NXT in the following way: ATTENTION: The promo thread ( https://bitcointalk.org/index.php?topic=477526.0) has been locked in Bitcointalk, so we will have to continue in a new thread in nextcoin.org: https://nextcoin.org/index.php/topic,4137.0.htmlPlease post in the nextcoin thread to be receive the 10 NXT and be considered for the 1000 NXT prize.
|
|
|
|
landomata
Legendary
Offline
Activity: 2184
Merit: 1000
|
|
February 21, 2014, 11:18:28 AM |
|
This whole coin was dead in the water. The new tech is laughable and nothing that cannot be wrapped into BTC directly or through a 3rd party app. These coins live and die on their communities, and starting with a large centralized developer with major investors backing it does not seem like a good way to start a strong community. Real cryptocoins benefit everybody with equal opportunity. Coins like this one benefit the developers most of all, by far. Forget this coin. It is the anti-crypto.
sure, will do in 2140 if this is ok with you I will forget even faster 2139
|
|
|
|
fmiboy
|
|
February 21, 2014, 11:21:52 AM Last edit: February 21, 2014, 11:54:27 AM by fmiboy |
|
There is lack of support for people that want to use and implement NXT, that way we miss opportunities.
Apparently implementing NXT is not that straight forward, look at cryptsy, mintpal, atomic-trader, etc… none of them succeed without any help to implement NXT.
We cannot expect mass adoption if above persist, and nobody steps forward to either make some kind of procedure or help people out.
Another remark is that I have the impression interest in NXT is decreasing in favor of new alt-coins/clones.
How can we reestablish interest in NXT?
Collected some info here, thought maybe could help some exchanges to implement Nxt. https://docs.google.com/document/d/1ch1PoWcKEptFziXlrm92TG_BHm0hG9llKBs2LH29N-4let me know if anything is missing or need correction...
|
|
|
|
fmiboy
|
|
February 21, 2014, 11:22:29 AM |
|
There is lack of support for people that want to use and implement NXT, that way we miss opportunities.
Apparently implementing NXT is not that straight forward, look at cryptsy, mintpal, atomic-trader, etc… none of them succeed without any help to implement NXT.
We cannot expect mass adoption if above persist, and nobody steps forward to either make some kind of procedure or help people out.
Another remark is that I have the impression interest in NXT is decreasing in favor of new alt-coins/clones.
How can we reestablish interest in NXT?
When is the AE going to be fully functional? Think this goes toghetter with client release, no sence to release AE when avarage Joe cant use it. Community decides when to release AE, when it is tested enough. the community shouldn't overreacting if devs are silent for a while or another clon appears. atm there is only btc and ethereum to measure with. emunie is broken and i don't see any other coin/platform atm able to deaccelerate nxt. ethereum needs the whole year to go online so we have enough time to built the best tools infront of these competitor. it is true that we have many loose ends now but we can link them quicker than others because they are already there while others still in design phase. and here is my very subjective prediction: nxt -> +3.71 USD latest until 15.08.2014 +1
|
|
|
|
l8orre
Legendary
Offline
Activity: 1181
Merit: 1018
|
|
February 21, 2014, 11:23:36 AM |
|
@CFB and others, would it be good if assets listed on exchange were somehow grouped? To bring order to the chaos. Some generic groups such as "currency", "ipo", etc..
Will this help if u have 1000 assets in a group? won't help to do this on the NRS - the CME has 80,000 assets, and they are distributing these assets in 400 asset groups. That's a ton of $hit that should not be put in to the NXT core. Client devs have to deal with it. Implement some logic client side, don't dump GUI work onto the core devs. Next somebody will start bitching about the colours of the coins, and have different asset groups for 'flowers', 'bees', 'birds', and japanese sex toys.
|
|
|
|
jl777
Legendary
Offline
Activity: 1176
Merit: 1134
|
|
February 21, 2014, 11:25:55 AM |
|
I do understand.
Clearly you do not. Please just try just this out: #define test( v1, op, v2 ) if( v1 op v2 ) printf( #v1 " " #op " " #v2 "\n" )
#include <stdio.h> #include <math.h>
int main( ) { volatile double a, b, c; char buf[ 50 ];
a = 13.06; b = 0.54; sprintf( buf, "%lf", a + b ); c = atof( buf );
printf( "a = %lf, b = %lf, c = %lf\n", a, b, c );
test( c, >, 13.60 ); test( c, ==, 13.60 ); test( c, <, 13.60 ); test( a + b, >, 13.60 ); test( a + b, ==, 13.60 ); test( a + b, <, 13.60 );
return 0; }
A C program is worth 1000 words (13.6000000000000005) a = 13.0600000000000005, b = 0.5400000000000000, c = 0.0000000000000000 c < 13.60 a + b > 13.60 For some reason c is staying at 0. Anyway, you have proven that comparing will not work if you are expecting them to work exactly. The infinitesimal rears its ugly head. This is why when I am doing comparisons, I usually have a SMALLVAL set to .0000000001 or something like that and adjust the comparisons. My point is that .0000000000000005 error is a LOT smaller than the TXFEE of .0001 (for DOGE it is 1). With a TXFEE that big, I just did not think microsatoshi precision was such a big issue. I print out the numbers with %.8f, so even though the comparisons are not exact, the amount of satoshis are exact. Currently I am adjusting the comparisons by TXFEE, which is more than a million times bigger than the errors. The important thing is to not make mistakes in calculations. When I am done, I welcome you to find a case where any deposit or withdrawal is off by a satoshi. James
|
|
|
|
fmiboy
|
|
February 21, 2014, 11:27:30 AM |
|
@CFB and others, would it be good if assets listed on exchange were somehow grouped? To bring order to the chaos. Some generic groups such as "currency", "ipo", etc..
yes, i have proposed to add some more fields like category some weeks ago also (also an url field to link to additional asset descriptions) but the best solution is to add this on client side. this way the user can tag/categorize the assets individually. ps: like bond/currency/mining contract/loan/crowd funding etc. good point, nexern! I guess we could use delimiters in description field without changing anything in APIs... only clients extract that info to organize, heavy processing on client side though
|
|
|
|
mikesbmw
|
|
February 21, 2014, 11:27:58 AM |
|
This whole coin was dead in the water. The new tech is laughable and nothing that cannot be wrapped into BTC directly or through a 3rd party app. These coins live and die on their communities, and starting with a large centralized developer with major investors backing it does not seem like a good way to start a strong community. Real cryptocoins benefit everybody with equal opportunity. Coins like this one benefit the developers most of all, by far. Forget this coin. It is the anti-crypto.
The *only* difference being that it IS included in NXT and not BTC. I can also make statements that I will integrate every single great thing from BTC and NXT in a new coin. Recap: it's not in BTC (and probably never will be), so your point is what exactly?
|
|
|
|
Mario123
|
|
February 21, 2014, 11:29:54 AM |
|
Just adding.
James - you do understand that 0.1 and 0.01 *cannot be represented in binary floating point* don't you (no matter how many bits you have)? If you care to *read* what I linked for you the problems can (and will) occur even when you are just doing simple operations. Anyway - you have been warned but clearly are not interested in *learning* anything about serious software engineering so I give up and would recommend *no-one* to consider your software as anything other than a prototype. I learned that in school
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
February 21, 2014, 11:30:13 AM Last edit: February 21, 2014, 11:45:20 AM by CIYAM Open |
|
The infinitesimal rears its ugly head. This is why when I am doing comparisons, I usually have a SMALLVAL set to .0000000001 or something like that and adjust the comparisons.
You could use an "epsilon" for comparisons but it is simply too easy for someone to code: if( a == 0 ) or if( a != 0 ) isn't it? Also I just showed (1) of the main problems (arguably probably about the nastiest surprise) but there are *others*. Again - you have been warned - this is not a "dust" issue - it will end up being a "logic issue" and I would bet that at some point you are going to unexpectedly end up with negative balances.
|
|
|
|
abctc
Legendary
Offline
Activity: 1806
Merit: 1038
|
|
February 21, 2014, 11:32:26 AM |
|
.. Forget this coin.
Magis quam Moneta (More than a Coin)
|
██████████████████████████████████████████████████ ████████████████████████████████████████████████████ ██████████████████████████████████████████████████████ ████████████████████████████████████████████████████████ ████████████████████████████████████████████████████████ ████████████████████████████████████████████████████████████████████ ████████████████████████████████████████████████████████████ ██████████████████████████████████████████████████████████████ ████████████████████████████████████████████████████████████████ ██████████████████████████████████████████████████████████████████ ████████████████████████████████████████████████████████████████████ | , the Next platform. Magis quam Moneta (More than a Coin) |
|
|
|
l8orre
Legendary
Offline
Activity: 1181
Merit: 1018
|
|
February 21, 2014, 11:34:40 AM |
|
The infinitesimal rears its ugly head. This is why when I am doing comparisons, I usually have a SMALLVAL set to .0000000001 or something like that and adjust the comparisons.
You could use an "epsilon" for comparisons but it is simply too easy for someone to code: if( a == 0 ) or if( a != 0 ) isn't it? Also I just showed (1) of the main problems (arguably probably about the nastiest surprise) but there are *others*. Again - you have been warned - this is not a "dust" issue - it will end up being a "logic issue" and I would be at some point you are going to unexpectedly end up with negative balances. I concur. This is not 'compuational dust' , it is an in-built point of failure. Let me emphasize: I have seen $hit like that happen in the real world, because somebody did not want to believe that this might create problems!
|
|
|
|
Eadeqa
|
|
February 21, 2014, 11:43:20 AM |
|
There is lack of support for people that want to use and implement NXT, that way we miss opportunities.
Apparently implementing NXT is not that straight forward, look at cryptsy, mintpal, atomic-trader, etc… none of them succeed without any help to implement NXT.
We cannot expect mass adoption if above persist, and nobody steps forward to either make some kind of procedure or help people out.
Another remark is that I have the impression interest in NXT is decreasing in favor of new alt-coins/clones.
How can we reestablish interest in NXT?
Collected some info here, thought maybe could help some exchanges to implement Nxt. https://docs.google.com/document/d/1ch1PoWcKEptFziXlrm92TG_BHm0hG9llKBs2LH29N-4/pub let me know if anything is missing or need correction... Someone with better writing skills should edit that before it can be presented to "exchanges"
|
|
|
|
jl777
Legendary
Offline
Activity: 1176
Merit: 1134
|
|
February 21, 2014, 11:45:40 AM |
|
The infinitesimal rears its ugly head. This is why when I am doing comparisons, I usually have a SMALLVAL set to .0000000001 or something like that and adjust the comparisons.
You could use an "epsilon" for comparisons but it is simply too easy for someone to code: if( a == 0 ) or if( a != 0 ) isn't it? Also I just showed (1) of the main problems (arguably probably about the nastiest surprise) but there are *others*. Again - you have been warned - this is not a "dust" issue - it will end up being a "logic issue" and I would be at some point you are going to unexpectedly end up with negative balances. I am pretty careful with comparisons, but since other people will be modifying the source, I will convert to 64bit ints. However, would it be ok if I got it somewhat functional before doing that? To use ints universally, I need to come up with a scaling factor unique to each crypto. I was hoping for a portable multi crypto gateway... for BTC, I could just convert to satoshis and do arithmetic on that couldn't I? All I need are add and subtract, can I just use longs or do I need to use a special library? James
|
|
|
|
|