Live data from Hacker News

Djbsort: A new software library for sorting arrays of integers

sorting.cr.yp.to

141–150 of 158 posts

Re: Djbsort: A new software library for sorting arrays of integers

#141
post #120
post #87

Earlier quoted context omitted.

> Except that package maintainers created this problem. It's not a real problem! It is a real problem. People wanted both python interpreters installed at the same time, and a way for software written for each of them to functionally coexist on a system. Package maintainers provided a solution. > Python's source code downloaded packages call itself python3. > Some package managers decided to call it "python" creating…

> Did they create the problem, Yes. > or did they mirror the reality they saw, where people that installed python3 symlinked python to python3? Evidence please. I can’t believe any user would do this because it instantly breaks all their scripts. Every python 3 program I have thinks python 3 is #!/usr/bin/python3 > I think it's pretty obvious from this that the Python developers intended to completely replace python…

> I can’t believe any user would do this because it instantly breaks all their scripts.

You mean those scripts which they are expected to upgrade to Python 3 using the 2to3 program, which installs with python? The same scripts that Python 3 advocates claim can be fairly easily converted?

> Evidence please

The fact that Python 3 has a documented option to install as /usr/bin/python and it mentions it on every regular install is evidence.

> Every python 3 program I have thinks python 3 is #!/usr/bin/python3

But did they initially? That's the question. We're talking about decisions package managers made years ago, so the status of Python 2 and Python 3 at at that time is what we need to look at.

Also, it's important to note, this isn't the first time this has happened. I remember having lots of problems trying to get Python 2 installed on systems that shipped with Python 1. It's entirely possible that the solution to this problem is from when that happened, and rather than rather than come up with a different, Python2 -> Python3 solution they used what was decided at the point they had to support both Python1 and Python2, so the solution be familiar. That's got a fair chance of being likely, since package managers are working on systems on timeframes much longer than the vast majority of system administrators, but still need to support those admins that are managing systems a decade after install.[1]

> As naive and full of hope as the python developers are, they’ve got nothing on the sheer hubris of Linux python packagers who think they’re doing gods work by commenting out random seeds in OpenSSL.

I'm not really interested in enumerating all the logical fallacies you're falling back on here. That, combined with your denigrating characterization of entire groups of people doesn't really lend itself towards my idea of a useful or constructive conversation, so I think I'm done. Feel free to reply, I'll read it, but I won't be continuing this discussion.

1: https://access.redhat.com/support/policy/updates/errata

Re: Djbsort: A new software library for sorting arrays of integers

#142
post #124

Earlier quoted context omitted.

I hear people raise this concern a lot, but I think it is without foundation. If something is in the public domain in the U.S. then anyone can use it for any purpose, including releasing it under whatever license they want. Of course, any constraints imposed by that license will be unenforceable since any user of the software can claim to be using it under the terms of some other license or, of course, as part of the…

> If something is in the public domain in the U.S. then anyone can use it for any purpose, including releasing it under whatever license they want In the US . Public domain dedications have no legal standing in most of mainland Europe's IP regimes. A public domain dedication is the equivalent of no license at all. And because a public domain dedication has no legal standing, a third-party slapping a license on the co…

I am no expert in German copyright law! But your own source says:

"It is worth noting that the result would stay the same if CC0 would not even contain such an explicit fallback rule. According to the prevailing opinion of the legal scholars, public domain licenses (which cannot be interpreted as a waiver of rights under the German copyright, see above) are reinterpreted as unconditional, unlimited, non-exclusive (i.e. public) licenses."

which appears to contradict your statement that public domain dedications are treated as no license at all.

Re: Djbsort: A new software library for sorting arrays of integers

#143
post #127

Earlier quoted context omitted.

That was a completely different situation. In that case, the material was still under copyright in Germany. In this case, the material has been placed in the PD by the original author and so no one in the world can possibly have any legal claim on it. But if this really concerns you, I would be happy to provide you -- or anyone else -- with a licensed copy of any of DJB's code for a modest processing fee.

> In that case, the material was still under copyright in Germany. Which is exactly the case of djb's work here. > In this case, the material has been placed in the PD by the original author and so no one in the world can possibly have any legal claim on it. Wrong. djb and any possible heir of his does, because you can't place things in the public domain in mainland europe. > But if this really concerns you, I would…

> Wrong. djb and any possible heir of his does, because you can't place things in the public domain in mainland europe.

However a court could interpret this as a royalty-free license, at least until the moment they start sueing.

Re: Djbsort: A new software library for sorting arrays of integers

#144
post #124

Earlier quoted context omitted.

> Three of the source code files contain a notice that they are in the public domain: Making it legally dodgy to dangerous in mainland europe, either way certainly not reliably licensed.

I hear people raise this concern a lot, but I think it is without foundation. If something is in the public domain in the U.S. then anyone can use it for any purpose, including releasing it under whatever license they want. Of course, any constraints imposed by that license will be unenforceable since any user of the software can claim to be using it under the terms of some other license or, of course, as part of the…

> I hear people raise this concern a lot, but I think it is without foundation.

Well, I've come across companies that have policies against using unlicensed or public domain code.

This sadly makes whether it's a founded concern irrelevant, as the licensing choice suddenly prevents me from using the code in any shape or form if I work there.

Re: Djbsort: A new software library for sorting arrays of integers

#145
post #81

Earlier quoted context omitted.

I don't think most software needs to care about these weird exotic systems anymore (MINIX? seriously?). Maybe if that's really a goal of your software, it's reasonable to use autotools.

Such exotic systems as OS X in a few versions, BSD and four flavors of Windows? (cygwin, mingw, MSVC, msys) Add a few flavors of Linux and perhaps even Android (all 3 current targets) on top. That with cross compilation. Even Cmake lacks some useful portability tools to handle this... Though Autotools have major problems too.

And Webassembly, and iOS, and Android.

Re: Djbsort: A new software library for sorting arrays of integers

#146

Earlier quoted context omitted.

Appreciate the response! Interesting to read. The Libsodium guys wound up doing exactly what you're suggesting, because of the impossibility of trying to package NaCl as-is. So they essentially had to re-do/duplicate all of his build work just to make it packageable. And now there are two competing implementations (three if you count tweetnacl). And a bit of a confusing mess in the documentation department. It seems…

conveniently, almost nobody uses NaCl as-is due to its more or less never having been patched, and nobody uses TweetNaCl, so there is de facto one implementation.

Does it need to be patched?

Re: Djbsort: A new software library for sorting arrays of integers

#147
post #113
post #41

My job involves a lot of packaging/cross-compilation, and djb's libraries always seem consistently hostile to the lowly packaging engineer. Would it really be all that much work to package in autotools or CMake? Why do I need his special-snowflake build system with its hard-coded assumptions about system paths? I know that the cult of djb will downvote this into oblivion, but seriously, what is the rationale for a bu…

I really disagree with you on autotools, that has been a big problem for me when cross-compiling. Configure often detects features by compiling a binary and executing it, which can be a problem when you're cross compiling, since the generated target can't be executed on your native cpu. Most software build systems don't even take cross building into account at all, since they just copied someone elses' broken autocon…

"Configure often detects features by compiling a binary and executing it" — I am not sure, where this impression comes from. Autotools as whole have excellent cross-compilation support. Autoconf has feature-detection routines, checking for presence of headers, exported symbols and pkg-config files. None of those trigger "execute the binary" part when cross-compiling. In addition, custom-written host-side checks can easily be skipped when cross-compiling (either by code of check itself or by user via environent-variable overrides). Do you you know of any build system, that handles this better?

Cmake and several other buildsystems either don't support cross-compilation at all (because their primary audience is Windows) or use pkg-config only. Few others are nightmarish parody of autotools with much worse support. Most don't have ounce of autotools features.

I know many projects, that offer horrible autotools "support": for example, glib2 autotools scripts can't be cross-compiled to Android without ample application of hacks. But those issues are caused by incompetence and lack of testing, not some innate fault of Autotools. When such projects migrate to something else, their cross-compilation process becomes WORSE.

Re: Djbsort: A new software library for sorting arrays of integers

#148

Earlier quoted context omitted.

I've tried so many times to frontpage that, but I've failed. Maybe we should have another go? Nothing in djbsort's approach is inapplicable to another sorting algorithm, so maybe we can hope for better primitive support for discrimination sort implementations (or at least american flag sort implementations). I seem to recall reading that discrimination sorts are inherently content-independent.

It was probably you I heard about it from! Submission upvoted. ;-)

Something something definition of insanity. ;)

Re: Djbsort: A new software library for sorting arrays of integers

#149
post #14

Earlier quoted context omitted.

I actually really like the authenticity and humility of DJB including that in the instructions. I think it's likely many people trust his code (and he's certainly written a lot of extremely security sensitive stuff), but of course it's a much better practice to not trust him quite so much.

Authenticity, sure. Humility - not after his approach to the students issue in recent years where he was more interested in being correct then helping people :-(

What is " the students issue "?

Re: Djbsort: A new software library for sorting arrays of integers

#150
post #46

Earlier quoted context omitted.

> Why do I need ... assumptions about system paths? > what is the rationale for a build flow that involves: It solves problems. https://cr.yp.to/compatibility.html https://cr.yp.to/slashpackage/studies.html https://cr.yp.to/slashpackage/finding.html https://cr.yp.to/slashpackage/sharability.html > Would it really be that much harder to give us a git repo and a ./configure or a CMakeLists.txt? Yes.

Reading those complaints cold, I would suspect DJB to be between 16 and 22 years old; old enough to have seen more than his own system, but young enough to be absolutely certain his off-the-cuff solution is better than any of those other idiots can come up with. It helps to be the smartest person in any room, I guess. " When oaf was integrated into ``the system,'' it was moved to /usr/bin/oaf, and its files moved to…

Sometimes the smartest person in the room really is the smartest person in the room.

If Unix was perfect 40 years ago, nothing would have ever changed.

Post reply on HN