S
Strangely Consistent
strangelyconsistent.org · Personal blog · on HN since 2010
A Perl 6 developer writes about the language, its implementations like MoarVM, and coding contests and puzzles.
What HN saysHN links it for Perl 6 and MoarVM posts, including a 10th anniversary post and an article on 6model VMs.
24HN people shared it
10linked it in comments
17stories submitted
444story points
3 months agolast shared
2010people per year2026
Most-shared posts
- 1The 2011 Perl 6 Coding Contest3 people · 2 points · first shared 2011 · 1 comments on HN
- 2MoarVM: A VM for 6model2 people · 2 points · first shared 2013 · discussion on HN
- 3Happy 10th anniversary perl 62 people · first shared 2018
- 4You're in a space of twisty little mazes, all alike1 people · 148 points · first shared 2015 · 16 comments on HN
- 5The root of all eval1 people · 68 points · first shared 2017 · 38 comments on HN
- 6Macros in Perl61 people · 64 points · first shared 2011 · 12 comments on HN
- 7Send more money (in Perl 6)1 people · 59 points · first shared 2015 · 8 comments on HN
- 8The 2012 Perl 6 Coding Contest1 people · 55 points · first shared 2012 · 7 comments on HN
- 9Addition chains (2012)1 people · 16 points · first shared 2014 · discussion on HN
- 10Perl 6 is my MMORPG (2009)1 people · 10 points · first shared 2015 · 1 comments on HN
- 11Perl 6 is now half as old as Perl1 people · 8 points · first shared 2013 · discussion on HN
- 12Macros progress report: D2 merged (Perl6)1 people · 3 points · first shared 2012 · discussion on HN
- 13Continuations FAQ1 people · 3 points · first shared 2022 · discussion on HN
- 14The taming of the newbie – a comedy on IRC (2010)1 people · 2 points · first shared 2019 · discussion on HN
- 15Another month of blogging: adventure game, here I come1 people · 1 points · first shared 2012 · discussion on HN
What HN people wrote when they linked it
colomon · 2011-08-18
It seems like it is very simple to me: You should always code with your performance requirements in mind. But you shouldn't do detailed optimization until you have some sort of profiling feedback.
You have to do your basic coding with your performance requirements in mind, because it is all too easy to come up with code that can never meet your performance requirements, no matter how much you profile and optimize it.
Case in point: http://strangelyconsistent.org/blog/p1-best-way-to-multiply-a-chain-of… . My solution (http://strangelyconsistent.org/p6cc2010/p1-colomon/) was quite elegant, IMO, setting up things so I simply generated all the all the possible solutions, and then took the min with respect to the number of multiplications.
But it was also appallingly inefficient. Generating all the possible solutions is completely the wrong approach, and no amount of optimizations to my algorithm would ever be sufficiently efficient for non-trivial problems. The only possible approach is to start over from scratch: http://strangelyconsistent.org/p6cc2010/p1-moritz/
So if I had properly considering my performance requirements, I would have come up with a much better solution. (Or just failed: dynamic programming is not really in my programming toolbox. I need to get around to remedying that!) But at the same time, worrying about how to most efficiently represent my Ordering object would have been completely pointless.
That's what "avoid premature optimization"…
elcaro · 2026-07-21
Similar article I read 10 years ago that covers some of the same ground, with some pretty SVG's as well.
http://strangelyconsistent.org/blog/train-tracks
nobrains · 2015-07-11
The answer from the post: http://strangelyconsistent.org/blog/images/all-the-4x4-mazes.png
masak · 2013-05-31
I just wrote a post about MoarVM, too: http://strangelyconsistent.org/blog/a-vm-for-6model . Slightly more slanted towards how this fits into the evolution of Perl 6 implementations.
lawn · 2012-12-15
I think you're refering to the owner of the site, but here's for the hacker news crowd:
Submitted solutions
http://strangelyconsistent.org/p6cc2011/
Problem description
http://strangelyconsistent.org/blog/the-2011-perl-6-coding-contest
draegtun · 2012-03-15
For those interested the next release of Rakudo will be the first to (partially) implement Perl6 macros.
ref: http://strangelyconsistent.org/blog/macros-progress-report-d1-merged
eliben · 2011-12-25
Why post a Reddit link rather than a direct one: http://strangelyconsistent.org/blog/the-2011-perl-6-coding-contest
stesch · 2011-12-25
Nice http://strangelyconsistent.org/robots.txt over there. :-)
btilly · 2021-04-12
The old FOSS model is not compatible with the kind of people who are being drawn into it these days. It worked decently with thick-skinned, more-or-less autistic men who communicated relatively infrequently over email and had an understanding that they weren't beholden to anybody.
I don't think it worked as well in the good old days as you think.
A lot of Perl's problems can be attributed to one of those old men, Tom Christensen. He combined technical brilliance with a flair for flaming, and was at the center of why p5p (perl 5 porters) became a hostile flame-fest. With the result that the 5.6.x series was a complete disaster. And the problems were so bad that as http://strangelyconsistent.org/blog/happy-10th-anniversary-perl-6 describes, in 2000 Jon Orwant (editor of The Perl Journal) brought attention to it by smashing mugs against a wall.
The current spat is much less dramatic than that one was. You just know about it because it is current.
People claim that Perl's problems began with Perl 6. But in fact Perl 6 was one piece of Larry Wall's solution to a rather urgent problem. And that problem was how to separate people who wanted to create new features from people who wanted absolute backwards compatibility. Like Tom Christensen. (Who Larry Wall also told to calm down.) And ideas from Perl 6 also made their way back to Perl 5 in various ways. Yes, it became a branding problem. But if it didn't happen, Perl was set to implode on itself much more…