HNHacker News
TopNewBestAskShowJobs

chromatic

1,665 karma · joined April 22, 2009

chromatic at wgz dot org

http://wgz.org/chromatic

I made: https://trendshare.org/

I edit: http://outspeaking.com/

I hack: https://github.com/chromatic/

submissionscomments
chromatic··on MoarVM: A virtual machine for NQP and Rakudo
For what it's worth and as someone who took what turns out to have been the wrong side of those arguments, I apologize.
chromatic··on MoarVM: A virtual machine for NQP and Rakudo
We've seen one partial implementation after another, for years on end.

That's the second most disappointing part. The Parrot developers had a strong push between two and three years ago to redesign the internals to be a better fit for Rakudo along these lines (better runcore, easier JITting, improvements to the core object model, representation polymorphism), but the reaction from the Rakudo developers was a mixture of "No, thank you!", "Not yet.", and "If you have to, but don't change any APIs or behavior that Rakudo counts on."

It's a shame this couldn't have all been done at the same time. The available volunteer knowledge and interest might have saved two or three years of Perl 6 floundering around in the netherworld of big promises and very modest realities.

The most disappointing part is realizing that this sets back the potential delivery date of a usable Perl 6 by at least another couple of years. I guess that shouldn't be a surprise by now though.

chromatic··on Perl Cannot Be Parsed: A Formal Proof (2008)
I feel like the type of work that's done by browsers on JIT compiling Javascript would be really hard if you can't 100% reliably parse the language.

That's irrelevant in this case, because a hypothetical Perl 5 JIT wouldn't do much until the Perl 5 parser finished parsing its code. Remember, all this proof proves is that you cannot produce a single, unambiguous parse tree from every Perl 5 source file because of the syntactic construct that lets you change how the parser works for specific symbols.

chromatic··on Perl 5.18.0 is now available
That feature's been on the wishlist for many, many years. It was also one of the early features specified for Perl 6, if that means anything.
chromatic··on Perl 5.18.0 is now available
Can you prevent functions you call from accessing variables in your scope?

Perl's access control model uses a metaphor of polite permission. Without hardware enforcing memory protection, any memory protection at the language level is a modest barrier for the determined anyhow.

chromatic··on Perl 5.18.0 is now available
To be fair, so does Perl 5. Perl 5.18.0 happens to be the yearly major release.

To my knowledge, Rakudo hasn't reached the point where its developers call any Star (runtime plus libraries) release a "major release" of the sort that users ought to use in the wild for a year or more.

chromatic··on Google Compute Engine available for everyone, App Engine adds PHP
At no point in this equation does the relative merits of the language itself factor in.

... except for "easy to deploy", which is a merit.

chromatic··on Frameworks Round 3
Honest benchmarks.

"Select random number from MySQL"? I'd like to see the stochastic control for that one.

chromatic··on Why I still love Perl
My experience is different. I spent a lot of time in the beginning teaching the three or four important theoretical parts of Perl (lists, context, monomorphic operators, and coercion) and then explained how to use the documentation. That leaves only a couple of places where the difference between approaches is substantial enough that it needs explaining. Dereferencing syntax is one such wart. Choosing an object system used to be another place where opinions varied enough that it mattered, but now teaching Moose by default is obviously enough correct that it's a boring choice.
chromatic··on Updated Packages – Python 3.3
it was only after the community's rejection that the decision to continue perl5 happened.

The lack of any usable Perl 6 implementation by the time of Perl 5.12 did more to promote the continuation of Perl 5 as its own project than any specific rejection of Perl 6. When the plan was for Perl 6 to replace Perl 5, the idea that Perl 5.12 would migrate to Parrot as a VM so that Perl 5 and Perl 6 code could run in the same process.

chromatic··on Why I (still) Love Perl
Allison buried it in the middle somewhat, but she explained:

I’ve recently had the opportunity to help a wildly successful startup, in a domain that sorely needs the advantages of modern tech. Perl is the right tool for the job. If I explained the problem space you’d agree, even if Perl isn’t your favorite language. Perl is the right tool for a lot of jobs, all over the world, right now, stable and reliable, in production, with massive numbers of lines of code.

I can confirm everything she wrote about that startup.

chromatic··on Why I don't self-publish
I have several books out now, and I'm jealous of anyone who gets marketing support from a "traditional" publisher. The most I've seen in the past four years is that occasionally the publisher tweets about it.
chromatic··on My Amazon bestseller made me nothing
I should note though that when I hear about authors of tech books (O'Reilly and the like), I do tend to imagine a Jaguar in their garage....

Imagine that a tech book breaks even (for the publisher) at 5000 copies sold. Further imagine that a successful book sells about 8000 copies. At a $30 cover price, the author gets $1.50 per copy sold, so 8000 copies is $12,000.

Also remember that the publisher probably gets paid 30 days after the close of the month in which a sale occurred, and the author gets paid at least a month after that--and more, if the publisher holds back royalties in case of returns. If you're fortunate, you get paid monthly. You probably get paid quarterly.

chromatic··on Goodnight, Parrot
The history is more complex than that. There had been at least two serious attempts at Perl 6 implementations based on Parrot when Pugs arrived, but Audrey approached implementation from a completely different direction. Instead of building bottom up, she started with the parser and tried to implement things as driven by the desire to turn the specifications into tests that parsed and then passed.

Pugs ended up succeeding in the sense that it produced that test suite, but it didn't succeed in that it relied on Audrey's presence--it never attracted a sufficient developer base to maintain it when she wasn't available.

Rakudo isn't anywhere near complete now, almost seven years later, and I believe Pugs passes no more than 30% of Rakudo's test suite.

It might be fair to say that the goalposts have moved in the intervening time, however.

chromatic··on Pros and cons of releasing Perl 5.20.0 as Perl 7.0.0
Is Perl 6 widely understood in that community to be a different language and not the evolution of Perl?

Yes, in part because it's taken so long and delivered so little and in part because Perl 5's core development picked back up again a few years ago (and the CPAN never stopped improving).

Is the Perl 6 language a dead end or are people enthusiastically working on using it for production systems?

The intent of the people working on it is to produce something which will eventually be usable for serious projects, but no one can give a good prediction as to when that will happen.

chromatic··on Pros and cons of releasing Perl 5.20.0 as Perl 7.0.0
What is the best way to learn "modern Perl"?

I wrote a book called Modern Perl. It's freely available in electronic formats:

http://onyxneon.com/books/modern_perl

chromatic··on Ask HN: Why do so many people hate Ruby?
That's the attitude which annoys me, as someone who first used Ruby in 2000 and had been doing web programming since 1998. Neither Ruby nor Rails invented a lot of things, nor did it perfect them.

(Rails does deserve credit for promoting "convention over configuration" as a design concept, but plenty of us were doing similar things years earlier.)

chromatic··on Explore Salaries and Equity at AngelList
Is there really zero demand for Perl programmers from new start-ups?

It's in great demand at one of my clients, but I can't even mention the name of the business entity for contractual reasons.

chromatic··on Perl is not Dead, it is a Dead End
Moose is cool and all, but it basically just brings Perl up to the same level of functionality that other languages like Python and Ruby have right out of the box.

Python and Ruby have parametric roles/traits? Typed attributes with coercions?

chromatic··on Ask HN: Do people build websites in Awk?
The state of the art in Perl web deployment these days is PSGI, which shows the direct influence of Rack and WSGI. A static front-end proxy works nicely with a backend app server. See http://plackperl.org/ for more information.
chromatic··on The Unreasonable Effectiveness of C
C is the language that doesn't force any preconceived notions about how the world should work onto you.

... except for a type system based on the memory model of a machine which strongly resembles the PDP-11, a compilation strategy built for machines with less RAM than my car fob, and optimization possibilities limited by aliasing, plus everything kscaldef mentioned.

chromatic··on A man, a Plan. No canals (2011)
Indeed it is. The one time I don't proofread....
chromatic··on A man, a Plan. No canals (2011)
If you define "metaprogramming" as "homoiconic code generation" or "hygenic macros" or "the language I use to manipulate the AST is the same language as the AST", sure. I'm sure that's not the only thing people mean when they say "metaprogramming" though.
chromatic··on Python grew fastest in web searches for 'tutorial' over the last 5 years
We write code to solve problems for people, not to prove how smart we are.

That reads like a false dilemma to me. Surely there's some wonderful excluded middle between "I write code that someone who doesn't know the language can read it" and "I write code so opaque that you need a language specification, a flashlight, and both hands to begin to comprehend it."

I, for example, try to write code, tests, and documentation that a decent developer with a working knowledge of the language and an understanding of the problem domain can figure out what's going on and why. I don't care if someone's nephew or niece who's never programmed before can make heads or tails of the code because I think that's a tremendously silly goal counterproductive to any good business sense.

(Also I've never seen a language which can enforce things like effective factoring, intelligible naming, coherent coupling and decoupling, intelligent encapsulation, and the like. Certainly Python doesn't enforce those.)

chromatic··on Python grew fastest in web searches for 'tutorial' over the last 5 years
I want to move forward and leave for others something they can maintain and understand and use.

Yes, but why do you care if people who don't understand a language can or cannot read code written in that language?

chromatic··on Python grew fastest in web searches for 'tutorial' over the last 5 years
I have to really write careful in Perl to make it readable by non-Perl heads.

This is an honest question: why would you care about that? What does it matter if someone who doesn't know a language (or isn't bothering to learn it) can read code written in that language?

Python sort of forces that on you up-front.

How? Indentation doesn't really matter and, for example, list comprehensions aren't all that obvious to someone who's never seen them before. I can understand "I think sigils might be confusing", but that's such a superficial aspect of programming I'm inclined to dismiss it as such.

chromatic··on What Languages Fix (2002)
Because consistency seems to be the main reason that Perl did not become the final stop.

Everyone's using Smalltalk now? Consistency seems to be overrated; most of the popular languages these days seem to be multi-paradigmatic.

chromatic··on Why does modern Perl avoid UTF-8 by default?
Getting Unicode right is more than "working string support". It requires programmer knowledge upgrades. No amount of boilerplate you put in your programs--or in the language itself--will fix a programmer's lack of knowledge.
chromatic··on Perl is 25 years old today
I'm not sure I understand how that answers my question. Are you suggesting that Python doesn't get out of your way and that somehow its intransigence provides the benefit of somehow forcing people to write more readable code?

I don't believe Python is that inflexible (it's not), and I don't see how the limited and superficial ways in which Python pushes all code to look the same are really that meaningful.

chromatic··on Perl is 25 years old today
* ... it seemed to more or less force people to write more readable and therefore, maintainable code.*

What do you mean by "readable" and how does Python seem to enforce that?

← PreviousPage 9 of 29Next →