... letting Pugs die when Audrey had done so much by herself just didn't seem rational at all.
Pugs was almost entirely unmaintainable without Audrey. I stopped hacking on it when it took eight hours to run the test suite to verify the correctness of even a simple change.
Not all of the world is UTF-8. Assuming that it is is, in fact, wrong.
I appreciate your confidence that things you've never heard of before must exist and work properly, but I'll take that with a grain of salt. Unicode isn't merely UTF-8 and BOMs and hand-waving. Unicode is a set of properties and rules about how to use those properties correctly. If you don't know what they are and when to use them, no language can use them automatically for you on this side of the strong-AI singularity.
(It's easy for me to imagine reading from a filesystem that doesn't return data encoded in UTF-8, or data from the network which doesn't supply a correct encoding or any encoding, because that happens all the time. You can expect that everything always does exactly what you expect, or you can write correct and robust code. You cannot do both.)
Python automatically guesses encodings, automatically normalizes into the proper form, automatically casefolds, and automatically applies the correct collations especially respecting the sources and sinks of data?
... what does the much-vaunted CPAN contain within it that has unit tests?
Any serious distribution on the CPAN has at least a decent test suite in its t/ directory. Everything uploaded to the CPAN gets run through the CPAN Testers service, often within minutes of the upload.
search.cpan.org has over 3200 results for module names which contain the word "Test".
Every language has its ugly spots that make optimization difficult...
"Every number is a float" is one of them in JavaScript. "All objects are associative arrays" is another. "Object prototypes are mutable everywhere" is yet another.
... a large amount of the performance improvements that have come in recent years have nothing to do with the language syntax of javascript...
Some, yes, but many also come from tracing the flow of data as the program runs to figure out which pessimizations inherent to the semantics of JavaScript it's safe to undo. That's why modern JavaScript JITs work so hard to perform side exits with their guard clauses to produce code that runs in as straight a line as possible. Ask Jim Blandy about it sometime.
Perl would have to do similar optimizations. So would Python. So would Ruby. (It's instructive to talk to the people behind Rubinius and Unladen Swallow, if not people who've spent years optimizing Smalltalk implementations.)
If Amazon wants to be the publisher of choice for independent writers, it seems to me that at least one person involved in creating policies should be familiar enough with copyright and Internet publishing to understand Creative Commons. That's the part of this whole process which baffles me.
I'm not sure that deploying arbitrary code developed as a knee-jerk policy is the best way to interact with your suppliers. Amazon should have thought this through. It's not as if Creative Commons is invisible from a cursory search of modern copyright.
... in the absence of sufficiently strong indicators to the contrary.
In my case, this is a revision of the second edition of a book also available for sale as hard copy, uploaded from the publisher's account.
I can understand being stricter about the initial upload of a work, but letting the first upload through and only enforcing the copyright detector on a minor revision seems counterproductive.
The default assumption of these automated checkers is that anything shared is infringing.
I've run into this myself. While I give away my book Modern Perl free in electronic forms, my publisher charges a nominal fee for the Kindle version to cover expenses. I made some changes recently to fix some formatting problems and edit out a couple of typos. After I uploaded a new version, the Kindle copyright police declined the update (to a book they'd already allowed in their store) because they thought it was available online for free elsewhere.
I understand that no one wants a million copies of Wikipedia articles clogging up book stores, but it would be nice if there were a way to say "Yes, the contents of this book are available under a Creative Commons license and I have the right to distribute it."
(My publisher has the same right to distribute the printed copy, and Amazon is very happy to sell that version.)
With enough volume, they can make more on the float than you'd believe. For their best selling product ever, I'm sure they can ask for and get net-60 on completed units.
Parrot's current lead dev has a starkly different opinion
Christoph is Parrot's current leader, not Andrew. While I agree that Parrot needs 6model (and 6model is an improvement over the previous object system), the reality is far, far more complicated than Andrew makes it sound.
In particular, Parrot adopting 6model wholesale even last year (as most of us wanted) would have been highly difficult because 6model was still in flux, because Parrot still had to support a lot of abandoned Rakudo tools which relied on the old semantics, and because Jonathan was dragging his feet on helping Parrot adopt 6model.
Note that he mentions "targetting backends" *last*.
You've changed your argument from "He rarely or never mentions it" to "He mentions it last in a list which isn't obviously ordered in terms of descending priority."
We need to focus as much effort as we can to be a better VM for Rakudo Perl6, including moving as much custom code from the NQP and Rakudo repos as possible into Parrot core to lower barriers and increase integration.
I've fixed enough of the custom code in Rakudo that I feel confident in saying that big wad of code was a big part of the problem.
The point of Rakudo Star was and is to be a bundle of bits -- latest compiler, modules, etc. -- that were/are sufficiently "usable and useful for early adopters"...
My business had a product to release based on Rakudo Star two years ago. (We were preparing to ship it in April 2010.) We had customers ready to pay for that project.
We never shipped that product because Rakudo Star was neither usable nor useful for our purposes. It still isn't.
... it's important to note that the reason it was introduced, and is being developed, has little to do with a desire to have a VM abstraction layer.
... except for the fact that almost every time its lead developer talks about it, he talks about how it'll help porting to other VM backends (and that it explicitly exists to minimize the amount of Parrot surface area exposed to Rakudo).
In fact, the Parrot (VM) team plans to backport NQP to Parrot.
I think you're confused. The Rakudo team has written at least three things called NQP and all of them run on Parrot. In fact, that's one of the biggest problems of Rakudo: writing code that Parrot has to support and then abandoning it and complaining that Parrot can't move fast enough for Rakudo because Parrot has to support Rakudo's abandoned tools.
Pugs was almost entirely unmaintainable without Audrey. I stopped hacking on it when it took eight hours to run the test suite to verify the correctness of even a simple change.
Not in a modern release of Perl (5.16).
The spinoff was well under way when Carly arrived. The idea happened under Platt.
... which is amusing because other than the surface syntax, the object models are so similar that they have the same fundamental and simplistic flaws.
Not all of the world is UTF-8. Assuming that it is is, in fact, wrong.
I appreciate your confidence that things you've never heard of before must exist and work properly, but I'll take that with a grain of salt. Unicode isn't merely UTF-8 and BOMs and hand-waving. Unicode is a set of properties and rules about how to use those properties correctly. If you don't know what they are and when to use them, no language can use them automatically for you on this side of the strong-AI singularity.
(It's easy for me to imagine reading from a filesystem that doesn't return data encoded in UTF-8, or data from the network which doesn't supply a correct encoding or any encoding, because that happens all the time. You can expect that everything always does exactly what you expect, or you can write correct and robust code. You cannot do both.)
Python automatically guesses encodings, automatically normalizes into the proper form, automatically casefolds, and automatically applies the correct collations especially respecting the sources and sinks of data?
If that were true, I would be quite impressed.
Any serious distribution on the CPAN has at least a decent test suite in its t/ directory. Everything uploaded to the CPAN gets run through the CPAN Testers service, often within minutes of the upload.
search.cpan.org has over 3200 results for module names which contain the word "Test".
Most technical book authors would be lucky to make minimum wage, especially if they write for the terrible royalty rates major publishers offer.
That depends on your state. If your state has open primaries, then you don't have to be a member of a party to vote in that party's primary.
As you might expect, parties seem to prefer closed primaries.
I know a little bit about compilers.
"Every number is a float" is one of them in JavaScript. "All objects are associative arrays" is another. "Object prototypes are mutable everywhere" is yet another.
Some, yes, but many also come from tracing the flow of data as the program runs to figure out which pessimizations inherent to the semantics of JavaScript it's safe to undo. That's why modern JavaScript JITs work so hard to perform side exits with their guard clauses to produce code that runs in as straight a line as possible. Ask Jim Blandy about it sometime.
Perl would have to do similar optimizations. So would Python. So would Ruby. (It's instructive to talk to the people behind Rubinius and Unladen Swallow, if not people who've spent years optimizing Smalltalk implementations.)
v8 (and other optimized JavaScript implementations) have decent performance despite JavaScript the language.
If Amazon wants to be the publisher of choice for independent writers, it seems to me that at least one person involved in creating policies should be familiar enough with copyright and Internet publishing to understand Creative Commons. That's the part of this whole process which baffles me.
You're probably right.
I'm not sure that deploying arbitrary code developed as a knee-jerk policy is the best way to interact with your suppliers. Amazon should have thought this through. It's not as if Creative Commons is invisible from a cursory search of modern copyright.
In my case, this is a revision of the second edition of a book also available for sale as hard copy, uploaded from the publisher's account.
I can understand being stricter about the initial upload of a work, but letting the first upload through and only enforcing the copyright detector on a minor revision seems counterproductive.
My given last name is Buttle! Why do you think I use a pseudonym?
The default assumption of these automated checkers is that anything shared is infringing.
I've run into this myself. While I give away my book Modern Perl free in electronic forms, my publisher charges a nominal fee for the Kindle version to cover expenses. I made some changes recently to fix some formatting problems and edit out a couple of typos. After I uploaded a new version, the Kindle copyright police declined the update (to a book they'd already allowed in their store) because they thought it was available online for free elsewhere.
I understand that no one wants a million copies of Wikipedia articles clogging up book stores, but it would be nice if there were a way to say "Yes, the contents of this book are available under a Creative Commons license and I have the right to distribute it."
(My publisher has the same right to distribute the printed copy, and Amazon is very happy to sell that version.)
I rescued mine from the castaway bin at HP in '98 or '99 and even used the xlib manual once or twice.
The next time I move, the desire not to carry them will outweigh the nostalgia factor. Pun intended.
With enough volume, they can make more on the float than you'd believe. For their best selling product ever, I'm sure they can ask for and get net-60 on completed units.
GP might have been thinking of Haydn.
How tacky.
Christoph is Parrot's current leader, not Andrew. While I agree that Parrot needs 6model (and 6model is an improvement over the previous object system), the reality is far, far more complicated than Andrew makes it sound.
In particular, Parrot adopting 6model wholesale even last year (as most of us wanted) would have been highly difficult because 6model was still in flux, because Parrot still had to support a lot of abandoned Rakudo tools which relied on the old semantics, and because Jonathan was dragging his feet on helping Parrot adopt 6model.
You've changed your argument from "He rarely or never mentions it" to "He mentions it last in a list which isn't obviously ordered in terms of descending priority."
Read 6guts.
I've fixed enough of the custom code in Rakudo that I feel confident in saying that big wad of code was a big part of the problem.
My business had a product to release based on Rakudo Star two years ago. (We were preparing to ship it in April 2010.) We had customers ready to pay for that project.
We never shipped that product because Rakudo Star was neither usable nor useful for our purposes. It still isn't.
Rakudo Star was supposed to be a product two years ago. That was the point of Rakudo Star. It's still not a product now.
... except for the fact that almost every time its lead developer talks about it, he talks about how it'll help porting to other VM backends (and that it explicitly exists to minimize the amount of Parrot surface area exposed to Rakudo).
I think you're confused. The Rakudo team has written at least three things called NQP and all of them run on Parrot. In fact, that's one of the biggest problems of Rakudo: writing code that Parrot has to support and then abandoning it and complaining that Parrot can't move fast enough for Rakudo because Parrot has to support Rakudo's abandoned tools.