Path: csiph.com!usenet.pasdenom.info!aioe.org!news.stack.nl!newsfeed.xs4all.nl!newsfeed1.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.054 X-Spam-Evidence: '*H*': 0.89; '*S*': 0.00; 'postgresql': 0.07; 'socket': 0.07; '22,': 0.09; 'occasionally': 0.09; 'cc:addr :python-list': 0.11; 'wrote': 0.14; '*never*': 0.16; 'did.': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'python),': 0.16; 'roy': 0.16; 'wrote:': 0.18; 'library': 0.18; 'variable': 0.18; 'bit': 0.19; 'cc:addr:python.org': 0.22; 'mon,': 0.24; 'cc:2**0': 0.24; 'gets': 0.27; 'header:In-Reply-To:1': 0.27; 'function': 0.29; 'chris': 0.29; 'am,': 0.29; 'dec': 0.30; 'especially': 0.30; 'message-id:@mail.gmail.com': 0.30; "i'm": 0.30; 'included': 0.31; 'code': 0.31; 'protocols': 0.31; 'worked': 0.33; '(i.e.': 0.33; 'ago': 0.33; 'agree': 0.35; 'connection': 0.35; 'no,': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'c++': 0.36; 'project': 0.37; 'level': 0.37; 'being': 0.38; 'implement': 0.38; 'whatever': 0.38; 'rather': 0.38; 'even': 0.60; 'establish': 0.61; 'simple': 0.61; 'decided': 0.64; 'more': 0.64; 'worth': 0.66; 'improvements': 0.68; 'smith': 0.68; 'subject:Hello': 0.72; 'article': 0.77; 'glad': 0.83; 'heh.': 0.84; 'terrible': 0.84; 'good,': 0.91; 'subject:World': 0.91; 'to:none': 0.92 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:cc :content-type; bh=8sI/YsmscmI+ImaW6A54IPJYGBqsbwMyGDYL66cn2uM=; b=TeQT4NyUgqm1G8QpB7pUs5YiqvE+vQQ5tB5PM+KuKWCfPVOLfJEzTL37zEI9za2k9+ NNOCNhEBwJURIjtS/wg5Wm2Yz+lUJwFtoQBSuuhY9aY9cvm5xMyVRPpyWtIECE9rE8kL Mg4Ajqj+LSPezENe3xRD7sNyTq/LEz8aviWIaHcV3Zt2IdvM5x79/ZMkeMQ1MBoYNiHH MgCwU8LSZ3I88y5Elsqqws3Aczjk8asR03QPu0Pjre6lg8xj7FcDcBNqUh7zQgkW9086 9gO7sN4YV5bf23/HWRiy/rrPhYXN9Ju5dbRxZjubrp6CLFAJAdenHEcfvVFNb/Oghm8v XEeg== MIME-Version: 1.0 X-Received: by 10.107.136.92 with SMTP id k89mr18449286iod.43.1419208560681; Sun, 21 Dec 2014 16:36:00 -0800 (PST) In-Reply-To: References: <54957226$0$12975$c3e8da3$5496439d@news.astraweb.com> <54971df7$0$30820$b1db1813$ba2d9d20@news.astraweb.com> <54974ed7$0$12986$c3e8da3$5496439d@news.astraweb.com> Date: Mon, 22 Dec 2014 11:36:00 +1100 Subject: Re: Hello World From: Chris Angelico Cc: "python-list@python.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 31 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1419208569 news.xs4all.nl 2838 [2001:888:2000:d::a6]:33377 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:82731 On Mon, Dec 22, 2014 at 11:12 AM, Roy Smith wrote: > In article , > Chris Angelico wrote: > >> On Mon, Dec 22, 2014 at 10:50 AM, Roy Smith wrote: >> > Heh. I once worked on a C++ project that included its own crypo code >> > (i.e. custom implementations of things like AES and SHA-1). The person >> > who wrote some particular bit of the code had decided that deliberately >> > obfuscating the function and variable names would somehow make it more >> > secure, so that's what he did. >> > >> > The mind boggles. At so many levels. >> >> Level 0: Why implement your own crypto?!? >> >> ChrisA > > That would be one of the levels. Good, I'm glad you agree on that one. I don't mind reimplementing some other protocols (couple years ago now I built my own OAuth library because the provided one was being terrible - no, this wasn't in Python), especially the simple ones (SMTP or FTP - use a library/module if available, but otherwise just establish a socket connection and do whatever you need), and even complex protocols can occasionally be worth reworking (Pike has its own PostgreSQL client, rather than using libpq, and it gets some handy improvements in concurrency), but crypto's one thing that it's *never* worth rewriting. ChrisA