Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: Matt Corallo on April 21, 2011, 01:08:13 AM



Title: [PULL] URI Support
Post by: Matt Corallo on April 21, 2011, 01:08:13 AM
I'm very tired so I'll keep this short: https://github.com/bitcoin/bitcoin/pull/182 (https://github.com/bitcoin/bitcoin/pull/182)
Please discuss hex/tonal support.  Current pull does not have it, but adding it would be easy based on Luke-jr's original patch if the community supports it.

EDIT: Out of respect to Luke-jr's polls, I am closing this one, please vote there.
http://bitcointalk.org/index.php?topic=6206.0 (http://bitcointalk.org/index.php?topic=6206.0)
http://bitcointalk.org/index.php?topic=6207.0 (http://bitcointalk.org/index.php?topic=6207.0)
http://bitcointalk.org/index.php?topic=6208.0 (http://bitcointalk.org/index.php?topic=6208.0)
Also, Luke-jr, please allow people to change their vote if they are convinced by the discussions in the thread.


Title: Re: [PULL] URI Support
Post by: Luke-Jr on April 21, 2011, 01:13:47 AM
This poll is biased and therefore meaningless. New polls created that are neutral.


Title: Re: [PULL] URI Support
Post by: Garrett Burgwardt on April 21, 2011, 03:25:57 AM
Yes/No with little further information can't really be biased, Luke. You just seem to think that because the community doesn't want to add more cruft to the official client that we are all part of an "Anti-Tonal" agenda.


Title: Re: [PULL] URI Support
Post by: Luke-Jr on April 21, 2011, 03:28:03 AM
It is biased. For one, NOBODY HAS ANY TONAL SUPPORT IN ANYTHING. For two, you don't clarify that supporting hexadecimal has NO NEGATIVE EFFECTS, and that people can still use decimal


Title: Re: [PULL] URI Support
Post by: Garrett Burgwardt on April 21, 2011, 03:34:14 AM
I don't see how your first point applies, please clarify.

And second, negative effects include increased size of the client, and features to worry about keeping compatible. It's better to keep a standard output and then have any specialized interfaces convert as needed.


Title: Re: [PULL] URI Support
Post by: Luke-Jr on April 21, 2011, 03:36:18 AM
It's better to keep a standard output and then have any specialized interfaces convert as needed.
This isn't about output, it's about input from ANY possible third party.


Title: Re: [PULL] URI Support
Post by: BitterTea on April 21, 2011, 02:53:55 PM
It's better to keep a standard output and then have any specialized interfaces convert as needed.
This isn't about output, it's about input from ANY possible third party.

Luke-Jr's implementation allows for the person creating the bitcoin: URI to specify the amount in any of the following formats:

plain decimal - "5", "5.5", "5.00000005"
exponential decimal - "5e8", "5.5e8", "500000005e0"
plain hex - "x2D4", "xA.76"
exponential hex - "x2D4X4", "x2D40000X0"

I think this is a good thing, even though I think the hex versions look ugly. The thing is, the user will probably never see that, since the client is able to translate "x2D4X4" into 0.47448064 BTC. Remember, these are going to be links like...
Code:
<a href=bitcoin:[address]?amount=x2D4X4>Click to donate!</a>


Title: Re: [PULL] URI Support
Post by: xf2_org on April 21, 2011, 04:46:45 PM
Luke-Jr's implementation allows for the person creating the bitcoin: URI to specify the amount in any of the following formats:

...and that implies someone parsing a bitcoin URI must support all that crap, even though 99.9% of all bitcoin users only use one of those formats.

That's how one person's crusade to support tonal winds up costing us all.



Title: Re: [PULL] URI Support
Post by: BitterTea on April 21, 2011, 05:27:03 PM
Luke-Jr's implementation allows for the person creating the bitcoin: URI to specify the amount in any of the following formats:

...and that implies someone parsing a bitcoin URI must support all that crap, even though 99.9% of all bitcoin users only use one of those formats.

That's how one person's crusade to support tonal winds up costing us all.

If you're implementing a bitcoin: URI handler and you feel that tonal/hex is not worth supporting, feel free to not write the extra few lines of code required (https://en.bitcoin.it/wiki/URI_Scheme#Parsing_amount). I really don't even care about tonal/hex, I'll never use it. However, Luke implemented the URI handler, and his condition for releasing it under the necessary license was that none of his code would be removed. If someone else wants to do extra work to rewrite the implementation without the additional feature, go ahead, but it seems stupid to me.

I really don't see why you guys care so much about removing flexibility from the URI scheme.


Title: Re: [PULL] URI Support
Post by: xf2_org on April 21, 2011, 05:40:05 PM
If you're implementing a bitcoin: URI handler and you feel that tonal/hex is not worth supporting, feel free to not write the extra few lines of code required (https://en.bitcoin.it/wiki/URI_Scheme#Parsing_amount). I really don't even care about tonal/hex, I'll never use it. However, Luke implemented the URI handler, and his condition for releasing it under the necessary license was that none of his code would be removed. If someone else wants to do extra work to rewrite the implementation without the additional feature, go ahead, but it seems stupid to me.

One it's released under an open source license, the license carries legal weight, whereas Luke's opinion does not.

Quote
I really don't see why you guys care so much about removing flexibility from the URI scheme.

If you work on enough software, you come to realize that features with near-zero userbase just waste precious developer time, increase complexity costs far beyond any payback received, and wind up needlessly complicated users' lives in unexpected ways.

It is a common fallacy of non-programmers that requesting easy-to-implement, unlikely-to-be-used features is nearly cost-free.



Title: Re: [PULL] URI Support
Post by: BitterTea on April 21, 2011, 05:43:44 PM
I'm a programmer, and I wrote the C# URI implementation that's on the wiki for my program WalletBuddy.


Title: Re: [PULL] URI Support
Post by: Luke-Jr on April 21, 2011, 06:01:56 PM
Quote
I really don't see why you guys care so much about removing flexibility from the URI scheme.
If you work on enough software, you come to realize that features with near-zero userbase just waste precious developer time, increase complexity costs far beyond any payback received, and wind up needlessly complicated users' lives in unexpected ways.
1. The reason there is near-zero userbase, is directly because there is near-zero support of the features.
2. I have already "wasted" my precious developer time implementing it.
3. It in no way complicates any users' lives, although removal would complicate tonal users' lives (or rather, they probably just are less likely to use Bitcoin).


Title: Re: [PULL] URI Support
Post by: xf2_org on April 21, 2011, 06:03:36 PM
Quote
I really don't see why you guys care so much about removing flexibility from the URI scheme.
If you work on enough software, you come to realize that features with near-zero userbase just waste precious developer time, increase complexity costs far beyond any payback received, and wind up needlessly complicated users' lives in unexpected ways.
1. The reason there is near-zero userbase, is directly because there is near-zero support of the features.
2. I have already "wasted" my precious developer time implementing it.
3. It in no way complicates any users' lives, although removal would complicate tonal users' lives (or rather, they probably just are less likely to use Bitcoin).

Implementing first-draft software is only the first step.  That's when the programmer's job starts.  You have maintenance, debugging, support, etc.

This is CS 101 stuff, people.



Title: Re: [PULL] URI Support
Post by: Garrett Burgwardt on April 21, 2011, 06:06:05 PM
Quote
I really don't see why you guys care so much about removing flexibility from the URI scheme.
If you work on enough software, you come to realize that features with near-zero userbase just waste precious developer time, increase complexity costs far beyond any payback received, and wind up needlessly complicated users' lives in unexpected ways.
1. The reason there is near-zero userbase, is directly because there is near-zero support of the features.
2. I have already "wasted" my precious developer time implementing it.
3. It in no way complicates any users' lives, although removal would complicate tonal users' lives (or rather, they probably just are less likely to use Bitcoin).

I highly doubt people don't use tonal because there is no support in bitcoin.

More likely people don't use tonal because they are more comfortable with decimal.