Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192] helo=mx.sourceforge.net) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1VYzwt-00028R-36 for bitcoin-development@lists.sourceforge.net; Wed, 23 Oct 2013 15:02:15 +0000 X-ACL-Warn: Received: from nm29-vm3.bullet.mail.ne1.yahoo.com ([98.138.91.159]) by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:AES256-SHA:256) (Exim 4.76) id 1VYzwq-0002Ne-W9 for bitcoin-development@lists.sourceforge.net; Wed, 23 Oct 2013 15:02:15 +0000 Received: from [98.138.90.51] by nm29.bullet.mail.ne1.yahoo.com with NNFMP; 23 Oct 2013 15:02:07 -0000 Received: from [98.138.226.160] by tm4.bullet.mail.ne1.yahoo.com with NNFMP; 23 Oct 2013 15:02:07 -0000 Received: from [127.0.0.1] by omp1061.mail.ne1.yahoo.com with NNFMP; 23 Oct 2013 15:02:07 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 602311.96330.bm@omp1061.mail.ne1.yahoo.com Received: (qmail 7510 invoked by uid 60001); 23 Oct 2013 15:02:07 -0000 X-YMail-OSG: 4I_g6t0VM1ms9phlESV60_uTTN1TchjfG0SegMocZrOXbVg wjEDG1KKUj3qccC1dZvzqakW0ZqJH4ZlvOwVFgdotPzDqPRAsC.Zx8qtTsaA Tszq8h65WW1jsiKCTf3mQTCo.TSXucElPz4fCx1y8C7kymNwueWsYa8.V1dS QIxCQg3YW7GfRR5aXsiDLxJFCeXiaQwinErIhqcm6yDb_sdfYquNp3SMh1H4 mLVHoRyN1cyNTJqKoQqV1T.Ah.tajszg851pZS03tvFenHYQOaV0sZLnPdDe GGTIi4hHDSPsdoXafDX8FDlCPUTdthj6kRrqIp4oBA0l8zFmJ5kDSMQnRDOU 6iX_m6xVriqJDqJ9nD4xVqJpf_7xJWAyfCcawzwrXdC38JHAsn5mzQ2y3AWu 6xN_Yr9XK8eZ6zIs1IjE31d_lg8GcjXMhpfZ.JtBfJttoVQ3hMiSXbwQ.IP0 .AmM8ReGdR_TGrm_Tw3RsOINlLM73gcsibTM5CsXstqIj5uBihsPtUdV72vw t7fq6jAnY9A.6tf_3nDDH0i0J7Lp2mRcrXo8Mux4Reb0_nv7sRjd0E8dePuj Dg5mdh2_aDL7.7iGf_qQjO.NK2w8XfSDM64m7kIkO3kkLDTmmTEDhmia_a8w qINOVuv0rv_S0_MCNCKv4NcGfVa40VEFUfWltO0REUpJCYtR0lKXZuVvGNdc ZLLZ7LW5vcQ20HPvZnqK2rbShvspZVFfZuzQqT9LPCPlqj.TwtZTabj5N8yc ZF54I0DhxTK1j6BhgUzjNkDNBwnIeLT8VUmJWc0H9wapgxzX9cOAgm_fYnSl .VXIr9VOIzZ5ZRQ-- Received: from [173.2.107.36] by web124501.mail.ne1.yahoo.com via HTTP; Wed, 23 Oct 2013 08:02:07 PDT X-Rocket-MIMEInfo: 002.001, CgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiBGcm9tOiAiYml0Y29pbi1kZXZlbG9wbWVudC1yZXF1ZXN0QGxpc3RzLnNvdXJjZWZvcmdlLm5ldCIgPGJpdGNvaW4tZGV2ZWxvcG1lbnQtcmVxdWVzdEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ.ClRvOiBiaXRjb2luLWRldmVsb3BtZW50QGxpc3RzLnNvdXJjZWZvcmdlLm5ldCAKU2VudDogV2VkbmVzZGF5LCBPY3RvYmVyIDIzLCAyMDEzIDM6MzggQU0KU3ViamVjdDogQml0Y29pbi1kZXZlbG9wbWVudCBEaWdlc3QsIFZvbCAyOSwgSXNzdWUgMjABMAEBAQE- X-Mailer: YahooMailWebService/0.8.160.587 References: Message-ID: <1382540527.4044.YahooMailNeo@web124501.mail.ne1.yahoo.com> Date: Wed, 23 Oct 2013 08:02:07 -0700 (PDT) From: Ron To: "bitcoin-development@lists.sourceforge.net" In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="1477594544-919628246-1382540527=:4044" X-Spam-Score: 2.2 (++) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [98.138.91.159 listed in list.dnswl.org] 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: bitcoin.it] 1.0 HK_RANDOM_FROM From username looks random 0.6 HK_RANDOM_ENVFROM Envelope sender username looks random 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (rdwnj[at]yahoo.com) -0.4 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain 1.0 HTML_MESSAGE BODY: HTML included in message -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-Headers-End: 1VYzwq-0002Ne-W9 Subject: Re: [Bitcoin-development] "Bitcoin codebase is actually really simple and readable." X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list Reply-To: Ron List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Oct 2013 15:02:15 -0000 --1477594544-919628246-1382540527=:4044 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable =0A=0A=0A=0A________________________________=0A From: "bitcoin-development-= request@lists.sourceforge.net" =0ATo: bitcoin-development@lists.sourceforge.net =0ASent: Wednesday,= October 23, 2013 3:38 AM=0ASubject: Bitcoin-development Digest, Vol 29, Is= sue 20=0A =0A=0ASend Bitcoin-development mailing list submissions to=0A=C2= =A0=C2=A0=C2=A0 bitcoin-development@lists.sourceforge.net=0AWhen replying, = please edit your Subject line so it is more specific=0Athan "Re: Contents o= f Bitcoin-development digest..."=0AToday's Topics:=0A=C2=A0 2. Re: Revisit= ing the BIPS process, a proposal (Peter Todd)=0A---------------------------= -------------------------------------------=0A....=0A=0AOn Tue, Oct 22, 201= 3 at 09:34:57AM +0200, Martin Sustrik wrote:=0A> On 22/10/13 09:03, Gregory= Maxwell wrote:=0A> > On Mon, Oct 21, 2013 at 11:59 PM, Jean-Paul Kogelman= =0A> > wrote:=0A> >> Have you seen: https://en.bi= tcoin.it/wiki/Protocol_specification ?=0A> >=0A> > Take care, the informati= on in the wiki is woefully incomplete.=0A> =0A> Imagine myself, with no pri= or knowledge of Bitcoin looking at the =0A> document. It starts with "Hashe= s". What hashes? No idea what's going on. =0A> Etc.=0A> =0A> Now compare th= at to a well written RFC. It starts with introduction, =0A> description of = the problem, explains the conceptual model of the =0A> solution, then dives= into the details. There's also Security =0A> Considerations part in every = RFC that is pretty relevant for Bitcoin.=0A> =0A> As I said, I am willing t= o help with writing such document, it would be =0A> a nice way of learning = the stuff, however, help from core devs, such as =0A> answering question th= at may arise in the process, or reviewing the =0A> document would be needed= .=0A=0AWriting such RFCs is dangerous due to the consensus nature of Bitcoi= n -=0Ait makes people think the standard is the RFC, rather than the code.= =0A=0AI hear one of the better intros to Bitcoin is the Khan academy videos= ,=0Abut I've never watched them myself. Once you understand how it works,= =0Astart reading source code - the Bitcoin codebase is actually really=0Asi= mple and readable. However remember that the implications of that=0Acodebas= e are anything but simple; there's lots of reasons to think=0ASatoshi himse= lf didn't understand Bitcoin all that well, even by the=0Atime he left the = project.=0A=0A-- =0A'peter'[:-1]@petertodd.org=0A000000000000000f155e7a648e= 84a83589048ae1cacb0c60bfce2437553b6af4=0A-------------- next part ---------= -----=0AA non-text attachment was scrubbed...=0AName: not available=0AType:= application/pgp-signature=0ASize: 685 bytes=0ADesc: Digital signature=0A= =0A------------------------------=0AI feel that I must respond to the state= ments that =0A1.=0Athe Bitcoin codebase is actually really=0Asimple and rea= dable. =0A=0A2.=0AHowever remember that the implications of that=0Acodebase= are anything but simple; there's lots of reasons to think=0ASatoshi himsel= f didn't understand Bitcoin all that well, even by the=0Atime he left the p= roject.=0A=0AOn point one: if it was/is so readable, why hasn't it been doc= umented better, if at all? =0AWhy haven't the obscure names of important it= ems been globally searched and replaced?=0AWhy are there still mixed format= ting "styles" still in the code. I think it is the fear that C++ =0Ais so b= rittle, that one change may bring the whole house of cards down.=0AI feel t= hat it is the language (C++) that is hindering the expression of ideas in t= he code.=0AThis goes to your point two about Satoshi's understanding. I thi= nk just the opposite:=0Athat he knew what he wanted but that C++ hindered h= im in expressing and implementing it.=0AI think that if anything, C++ was w= hat Satoshi "didn't understand all that well".=0A=0ABut then who does under= stand C++, really? See=0Ahttps://groups.google.com/forum/#!msg/comp.lang.li= sp/7xCvdzijzgU/4xCFzLc3d5EJ =0Aand the quote:=0AWhenever I solve a difficul= t problem with C++, I feel like I=E2=80=99ve won a bar fight. =E2=80=94 Mic= hael Fogus=0A=0AI don't think readability is attainable easily in C++. It r= equires intentionally writing so that =0Aothers may understand your code. H= ow many programmers have ever done that? And this =0Ais like swimming upstr= eam in C++, where things are designed to be hidden! =0A=0ARon=0A --1477594544-919628246-1382540527=:4044 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable



From:<= /b> "bitcoin-development-request@lists.sourceforge.net" <bitcoin-develop= ment-request@lists.sourceforge.net>
To: bitcoin-development@lists.sourceforge.net
Sent: Wednesday, October 23, 2013= 3:38 AM
Subject: Bitc= oin-development Digest, Vol 29, Issue 20

Send Bitcoin-development mailing list submis= sions to
    bitcoin-development@lists.sourceforge.net
When replying, please e= dit your Subject line so it is more specific
than "Re: Contents of Bitco= in-development digest..."
Today's Topics:
  2. Re: Revisiting t= he BIPS process, a proposal (Peter Todd)
-------------------------------= ---------------------------------------
....

On Tue, Oct 22, 2013= at 09:34:57AM +0200, Martin Sustrik wrote:
> On 22/10/13 09:03, Greg= ory Maxwell wrote:
> > On Mon, Oct 21, 2013 at 11:59 PM, Jean-Paul= Kogelman
> > <jeanpaulkogelman@me.com> wrote= :
> >> Have you seen: https://en.bitcoin.it/wiki/Protocol_specification ?
> >
= > > Take care, the information in the wiki is woefully incomplete.>
> Imagine myself, with no prior knowledge of Bitcoin looking a= t the
> document. It starts with "Hashes". What hashes? No idea what= 's going on.
> Etc.
>
> Now compare that to a well writ= ten RFC. It starts with introduction,
> description of the problem, = explains the conceptual model of the
> solution, then dives into the= details. There's also Security
> Considerations part in every RFC t= hat is pretty relevant for Bitcoin.
>
> As I said, I am willin= g to help with writing such document, it would be
> a nice way of le= arning the stuff, however, help from core devs, such as
> answering = question that may arise in the process, or reviewing the
> document would be needed.

Writing such RFCs is dangerous due to the= consensus nature of Bitcoin -
it makes people think the standard is the= RFC, rather than the code.

I hear one of the better intros to Bitco= in is the Khan academy videos,
but I've never watched them myself. Once = you understand how it works,
start reading source code - the Bitcoin cod= ebase is actually really
simple and readable. However remember that the = implications of that
codebase are anything but simple; there's lots of r= easons to think
Satoshi himself didn't understand Bitcoin all that well,= even by the
time he left the project.

--
'peter'[:-1]@petert= odd.org
000000000000000f155e7a648e84a83589048ae1cacb0c60bfce2437553b6af4=
-------------- next part --------------
A non-text attachment was sc= rubbed...
Name: not available
Type: application/pgp-signature
Size= : 685 bytes
Desc: Digital signature

------------------------------
I feel that I must resp= ond to the statements that
1.
the Bitcoin codebase is actually reall= y
simple and readable.

2.
However remember that the implicati= ons of that
codebase are anything but simple; there's lots of reasons to= think
Satoshi himself didn't understand Bitcoin all that well, even by = the
time he left the project.

On point one: if it was/is so reada= ble, why hasn't it been documented better, if at all?
Why haven't the o= bscure names of important items been globally searched and replaced?
Why= are there still mixed formatting "styles" still in the code. I think it is= the fear that C++
is so brittle, that one change may bring the whole h= ouse of cards down.
I feel that it is the language (C++) that is hinderi= ng the expression of ideas in the code.
This goes to your point two abou= t Satoshi's understanding. I think just the opposite:
that he knew what he wanted but that C++ hindered him in expressing and implementi= ng it.
I think that if anything, C++ was what Satoshi "didn't understand= all that well".

But then who does understand C++, really? See
ht= tps://groups.google.com/forum/#!msg/comp.lang.lisp/7xCvdzijzgU/4xCFzLc3d5EJ=
and the quote:
Whenever I solve a difficult problem with C++, I= feel like I=E2=80=99ve won a bar fight. =E2=80=94 Michael Fogus
I don't think readability is attainable easily in C++. It requires intent= ionally writing so that
others may understand your code. How many progr= ammers have ever done that? And this
is like swimming upstream in C++, = where things are designed to be hidden!

Ron
=
--1477594544-919628246-1382540527=:4044--