Pages:
Author

Topic: NXT :: descendant of Bitcoin - Updated Information - page 84. (Read 2761645 times)

legendary
Activity: 1260
Merit: 1168

They should add a linux version. As it is Java, that shouldn't be a problem.
hero member
Activity: 616
Merit: 500
hero member
Activity: 910
Merit: 1000
Mac vs PC is kind of a religious thing (as an example). Float vs. integer should not.
hero member
Activity: 588
Merit: 500
I wonder if this is kind of a religious thing. To float or not to float.

But we don't talk about Mac vs PC here. It's science, Mr. White. Science, bitch!

Mac vs. PC?Huh Wait what?
hero member
Activity: 910
Merit: 1000
I wonder if this is kind of a religious thing. To float or not to float.

But we don't talk about Mac vs PC here. It's science, Mr. White. Science, bitch!
sr. member
Activity: 449
Merit: 250
Floating-point math is heavily used for financial calculations on supercomputers. If u say that FP is bad then say this to thousands scientists who use it every day.

Nxt nodes forging on a Raspberry Pi is a gimmick. Someone wake me up when we have a supercomputer running Nxt.

j/k

This discussion has been interesting to watch. I'm looking forward to what Ian has to say when he returns to the thread.
hero member
Activity: 588
Merit: 500
Is there any user friendly wallet?
legendary
Activity: 1176
Merit: 1134
where is this code?
I am about a week or so away. It is straight C, almost totally self-contained. The only external libs I use are pthread, curl, and maybe zlib

If you are able to review, I will be happy to send you advanced copy

James
legendary
Activity: 2142
Merit: 1010
Newbie
Floating-point math is heavily used for financial calculations on supercomputers. If u say that FP is bad then say this to thousands scientists who use it every day.
legendary
Activity: 1176
Merit: 1134
CIYAM didnt 'find' a flaw.  The limitations and dangers of using floating point math for financial calculations have been well publicized.

Can you give a brief explanation why?

wikipedia has the laymans version

https://en.wikipedia.org/wiki/Floating_point#Accuracy_problems

While floating-point addition and multiplication are both commutative (a + b = b + a and a×b = b×a), they are not necessarily associative. That is, (a + b) + c is not necessarily equal to a + (b + c). They are also not necessarily distributive. That is, (a + b) ×c may not be the same as a×c + b×c:

Like I said, this is a very well known limitation in the financial programming world.
when there is a least common denominator, like cents or satoshi, integers can do errorless calculations
for allocating coins from a pool, integers have errors representing fractions, especially cumulative sums of fractions
you need to look at the source data to determine which has better accuracy
maybe nodecoin pool calculations are not "financial program"?
maybe anything that doesnt have a least common denominator, is not a "financial program"?

Edit: Never using floating point seems to be like not taking full advantage of the hardware, which to me is not optimal. Just be careful, watch error rate, rounding, comparisons, etc. Yes, more work and possible to make mistakes, but this is programming, every line we write can have a bug! Again, if there is a least common denominator without overflow danger, use integers. Otherwise, need to think it through.
legendary
Activity: 1176
Merit: 1134
If I did *criticize his code* then here is what he would do:

"I quit".

Then the "fan base" will say:

"James, we need you"

and he will come back without changing a line of code.


No way.What he needs now is someone who will bring up every possible mistake he made. If there is something wrong,sooner or later it will appear, we need it to happen now.You are both HUGE for the community.



+1

@ james

no personal attack intended james.. or anything of the sort.. if CIYAM has found a flaw then it should be mended.. even BCNext had flaws in his code that were unintended! dont take it as anything other then progression of a mutual goal! as rdanneskjoldr said you are both a huge part of this community.. also i dont know if it is a flaw or just not the best way to do something so i apologies if iv called your code flawed if it is not.
ciyam has had bad experience in past with floating point
now he hates floating point, he has cool demo that proves floating point is braindead
anytime he sees floating point, he remembers horrible past
sometimes floating point is not so bad
sometimes use cases, the cool demo does not apply
floating point, floats
fixed point, rigid
fractions must be approximated, by both
floating point has error rate
integers also have errors with fractions
need least common denominator to use integers without errors
64 bit integers will overflow if fractions used are small enough
nodecoin allocation fractions can be very small
nodecoin allocation might be very big
overflow cannot be avoided with 64 bit, without larger error rate than floating point
128 bit math is not in silicon
errors are pretty small anyway, why risk using software library when CPU does it in silicon
believe me (and CfB), or believe ciyam who has not even looked at my code that does floating point
legendary
Activity: 1260
Merit: 1168
where is this code?
legendary
Activity: 1470
Merit: 1004
IMO the smart money trades off exchange, preferably using the bitcoin-otc web of trust. Using this forum's trust database is a distant second, considering how many people stay logged in all the time, and how many times bitcointalk itself has been hacked.

The exchanges are better suited for weekend warriors that fancy themselves day traders or small retail purchases.

Mt Gox is only the latest in a long line of cryptoexchanges that have lost significant amount of user funds.

Until the crypto economy is bigger, we probably won't see an exchange that does security and oversight correctly because the space just isn't big enough to afford a reliable service. The exchanges just can't come up with the capital needed to do it properly.

Instead we still have a bunch of pikers that take advantage of the low barrier to entry. They open an exchange and only realize they are in over their heads after their users' funds are stolen.

But who knows, when the floating point decentralized asset exchanges start cropping up, maybe centralized exchanges will be rendered obsolete. Decentralized exchange may be here before a well-funded and well-run centralized exchange emerges.
multigateway has no floating point

So can someone help James with a review of the C code for multigateway?
legendary
Activity: 1176
Merit: 1134
IMO the smart money trades off exchange, preferably using the bitcoin-otc web of trust. Using this forum's trust database is a distant second, considering how many people stay logged in all the time, and how many times bitcointalk itself has been hacked.

The exchanges are better suited for weekend warriors that fancy themselves day traders or small retail purchases.

Mt Gox is only the latest in a long line of cryptoexchanges that have lost significant amount of user funds.

Until the crypto economy is bigger, we probably won't see an exchange that does security and oversight correctly because the space just isn't big enough to afford a reliable service. The exchanges just can't come up with the capital needed to do it properly.

Instead we still have a bunch of pikers that take advantage of the low barrier to entry. They open an exchange and only realize they are in over their heads after their users' funds are stolen.

But who knows, when the floating point decentralized asset exchanges start cropping up, maybe centralized exchanges will be rendered obsolete. Decentralized exchange may be here before a well-funded and well-run centralized exchange emerges.
multigateway has no floating point
full member
Activity: 238
Merit: 100
Currently, I use floating in exactly one place. For calculating allocation of nodecoins...



Ill just hope that CIYAM didnt know this fact before getting us all riled up
legendary
Activity: 1176
Merit: 1134
wtf he still uses floating point?  Shocked Shocked Shocked

Indeed he has *bragged about it*.


wtf.... the techdev committee should just come out and say that nobody gets any unclaimed coins bounty from code uzilizing any kind of float data type.

I mean, I appreciate james' dedication and his skill in all the work hes doing, allbeit on no-quite-so trustless-systems work, as most likely they will be replaced by fully decentralized and trustless systems, but we just do NOT need any floating points running around
Currently, I use floating in exactly one place. For calculating allocation of nodecoins. My usage has been approved by CfB. mthcl agreed with my math analysis. Others agreed that for my use case, there is nothing wrong with using floating point.

I make engineering decision based on tradeoffs of accuracy, implementation time, code stability. My assessment was to use 64 bit floating point for allocation. This is because floating point is just as accurate, if not more, when approximating fractions.

The reason integer math is more accurate for financial applications is because there is a least common denominator (satoshi, cent) and so all calculations can be done without errors. As long as you dont overflow.

With pool allocations, you end up with fractions without any reasonable least common denominator. That means you get errors representing it with 64 bit ints or 64 bit floats. However, floats are designed to dynamically adapt to the scale of the numbers while with integers you need a fixed multiplier. The fixed multiplier needs to deal with worst case while at the same time avoiding overflow.

So, using integers for this use case would not be any more accurate and instead open to overflow, or if to avoid overflow you get higher error rates.

The other reason that integer math is preferred in crypto is that all computers end up with the same result. This is important in synchronizing blockchain. however, my code is running on controlled servers and there is no need for synchronizing.

This "never use floating point" requirement seems to be dictating usage of inferior solutions in some use cases. I prefer to think about what I am doing and choose the appropriate solution.

If you have any math based feedback, I am eager to hear it. Superstitous, ban all floating point, is not really constructive.

James

P.S. I could get better accuracy if I used 128 bit floats and near perfect accuracy using 128 bits ints, but I do not trust the code libraries for doing 128 bit math as much as floating point silicon in Intel processors. In any case, do people really need their nodecoins allocated more accurately than .0000000000001 nodecoins?
sr. member
Activity: 756
Merit: 250
Reverse Copperfield is more accurate.

Copperfield: pretends to stay here but disappears

Emule: pretends to disappear but stays here

Actually he was joking. April 1st.

I thought the joke was that he had a team.
legendary
Activity: 1181
Merit: 1002
Reverse Copperfield is more accurate.

Copperfield: pretends to stay here but disappears

Emule: pretends to disappear but stays here

Actually he was joking. April 1st.

Dammit, that is like the seventh time - glad that this day is over  Grin
legendary
Activity: 2142
Merit: 1010
Newbie
Reverse Copperfield is more accurate.

Copperfield: pretends to stay here but disappears

Emule: pretends to disappear but stays here

Actually he was joking. April 1st.
hero member
Activity: 490
Merit: 504
pls send me some nice message to the testnet acc: 9500913153933294022

- for the video
Pages:
Jump to: