HNHacker News
TopNewBestAskShowJobs

arunix

190 karma · joined July 18, 2012

submissionscomments
arunix··on Janet Programming Language
Somehow I had thought it was named after Gaston Julia.

https://en.wikipedia.org/wiki/Gaston_Julia

arunix··on The four noisy horsemen of Perl hate
No, the flexibility on offer is that you get regular arguments, optional arguments, variable numbers of arguments and keyword/named arguments all as a result of this mechanism.

I hardly ever use shift like this, preferring instead the more readable argument copying:

    sub PaintHouse {
        my ($house, $color) = @_;
        ...
arunix··on Ripgrep 13.0
I find the output of rg easier to read vs git grep. However the latter has some useful options ("--and", "--or") that rg lacks:

https://github.com/BurntSushi/ripgrep/issues/875#issuecommen...

arunix··on Beyond Meat’s Beyond Burger life cycle assessment (2018)
Your example of evil just seems like the animals having a sense of danger to me. Animals usually instinctively will try to avoid danger. This doesn't require them to have a concept of evil.
arunix··on Why was cycling not included in the ancient Olympics? (2004) [pdf]
The whole concept of a two-wheel vehicle with no inherent balancing mechanism is very unintuitive (at least to my mind).
arunix··on On the Decline of Perl – external factors
What does "really obfuscated handling of nested data structures" mean? Can you give an example?
arunix··on Why OO Sucks by Joe Armstrong (2000)
My copy of the GoF book does not have that sentence as the only one on it's page, however there are only two guiding principles mentioned in chapter one, the other one being:

"Program to an interface, not an implementation"

and this actually comes before the other one about composition.

Inheritance (i.e. implementation inheritance) creates tight coupling between classes, whereas interfaces exist to prevent that happening, ... they are quite different constructs.

arunix··on The Future of Perl
It wouldn't be much of a future if the large amount of existing Perl code couldn't be utilised.

The original vision for Perl6 included a runtime called Parrot which would have been capable of running both Perl6 and Perl5.

If Parrot had been realised, Perl6(Raku) and Perl5 would have been able to interop similar to how Java and the other JVM languages can.

But without that, Raku and Perl remain incompatible so e.g. the existing large Perl ecosystem can't be leveraged from Raku.

arunix··on Little is a statically typed, C-like scripting language
I think that's what Larry Wall was trying to do with Perl6/Raku:

https://thenewstack.io/larry-walls-quest-100-year-programmin...

arunix··on Uncle Bob and Silver Bullets (2017)
I remember reading Kent Beck's TDD book many years ago. Most of the example code is in Java.

There's one chapter that uses Python, but that's just to show how a TDD framework could be implemented in a language which (at that time) didn't have one.

arunix··on About hcker news: an unofficial Hacker News interface
That looks really useful! Both of these are closed source I guess?
arunix··on Writable Getters
Perl has had this for a long time. Tagging a getter with ":lvalue" will make it assignable, even usable with the increment operator:

    pirl @> sub hats : lvalue { my ($self) = @_; $self->{hats}; }
    @var = ();
    pirl @> $obj = bless {}
    @var = (
             bless( {}, 'Shell::Perl::sandbox' )
           );
    pirl @> $obj->hats
    @var = (
             undef
           );
    pirl @> $obj
    @var = (
             bless( {}, 'Shell::Perl::sandbox' )
           );
    pirl @> $obj->hats = 1
    @var = (
             1
           );
    pirl @> $obj
    @var = (
             bless( {
                      'hats' => 1
                    }, 'Shell::Perl::sandbox' )
           );
    pirl @> $obj->hats
    @var = (
             1
           );
    pirl @> $obj->hats++
    @var = (
             1
           );
    pirl @> $obj->hats
    @var = (
             2
           );
    pirl @>
arunix··on What's Mavis Beacon Up to These Days? (2015)
One of the tips in "Practical Vim: Edit Text at the Speed of Thought" is to learn touch typing, which is what prompted me to take the plunge. I got a 2nd hand CD of KAZ and within about two weeks I'd got the "I know kung fu" feeling. Productivity definitely improved.

Now if I could only find something similar for learning piano.

arunix··on Ragya – Indian classical music played by time of the day
> Is there any specific tabla percussion associated with a Raga?

No, percussion (meter) has it's own framework called Taala [1], which is orthogonal to Raaga.

As a concrete example: Raaga Hamsadhwani in Rupak Taala (7 beats) [2] vs Teental (16 beats) [3]

[1] https://en.wikipedia.org/wiki/Tala_(music)

[2] https://youtu.be/8YNveaC2ADc

[3] https://youtu.be/X1T1psiWer0

arunix··on Implementation plan for speeding up CPython
What's the status of Kiwi (couldn't find it on your github) ?
arunix··on Researchers attach cameras to orcas, revealing a marvelous underwater world
> toothed whales are a parvorder of cetaceans that includes dolphins, porpoises, and all other whales possessing teeth

The article for whales [1] linked from that sentence says "They are an informal grouping within the infraorder Cetacea, usually excluding dolphins and porpoises."

[1] https://en.wikipedia.org/wiki/Whale

arunix··on Lisp and Haskell (2015)
Which Lisp is that?
arunix··on The Art of Debating for Software Developers
But they aren't really advocating argument from authority e.g.

> Be careful though: not everything from evangelists will apply to your specific problem. Don’t invoke the Single Responsibility Principle spell without any argument why it’s useful and valid. Opinion leaders should provide you these concrete arguments; if they don’t, their names alone shouldn’t influence your decisions.

arunix··on Bill Joy's greatest gift to man – the vi editor (2003)
I use command mode a lot, so have swapped ":" and ";". With that, :x + enter is 3 keystrokes, and hitting x is a bit easier than hitting z.
arunix··on Python 2.7.18, the last release of Python 2
There's more to it than that. Looking at its early history [1], it is clear that Perl6 was conceived/intended to be the next version of Perl after Perl5 e.g.

First, Perl will support multiple syntaxes that map onto a single semantic model. Second, that single semantic model will in turn map to multiple platforms.

Multiple syntaxes sound like an evil thing, but they're really necessary for the evolution of the language. To some extent we already have a multi-syntax model in Perl 5; every time you use a pragma or module, you are warping the language you're using. As long as it's clear from the declarations at the top of the module which version of the language you're using, this causes little problem.

There were even plans for a translator [2] similar to Python's 2to3 tool

Larry Wall and others are already working on a Perl 5 to Perl 6 translator, which will be able to translate (most) Perl 5 source code to the equivalent Perl 6 syntax.

In addition, Perl 6 will provide a "Perl 5 compatibility mode", allowing the compiler to directly execute any code that it recognizes as being written in Perl 5.

[1] https://raku.org/archive/doc/design/apo/A01.html

[2] https://raku.org/archive/faq.html

arunix··on Evidence of 90M-year-old rainforest uncovered beneath Antarctic ice
Bear in mind that underneath the ice, Antarctica is an archipelago, not a continuous land mass.

https://worldbuilding.stackexchange.com/questions/18757/what...

arunix··on Implementing Function Overloading in Python
It does dispatch on the types of all arguments, ... that's the point of it.

Some sample code (I modified it to be commutative on the argument types):

https://gist.github.com/arunbear/caef7546d297c01fddbd3f67117...

arunix··on Implementing Function Overloading in Python
This seems like a lot of work for a result that isn't even very self documenting compared to some earlier efforts e.g.

Guido's post on multimethods: https://www.artima.com/weblogs/viewpost.jsp?thread=101605

Clojure style multimethods: https://adambard.com/blog/implementing-multimethods-in-pytho...

arunix··on Introduction to AOLserver, Part 1 (1999)
Any thoughts on why TCL isn't more popular?
arunix··on Lisp Comes of Age (1980)
But in that case what is the benefit of Clojure being a Lisp?
arunix··on Simple Systems Have Less Downtime
Discussed here recently:

https://news.ycombinator.com/item?id=22443363

arunix··on Farming gave us salmonella, ancient DNA suggests
I think they meant 1-2 million years, which is how long ago homo erectus appeared. ~2 hundred thousand years is the age of homo sapiens.
arunix··on Yap: An ephemeral, Real-Time chat room with up to six participants

    ?- yet_another_prolog('yap.chat').
    false.

    ?-
This reminded me of the Prolog of the same name (it's website seems to be in limbo).

https://en.wikipedia.org/wiki/YAP_(Prolog)

arunix··on Kramnik and AlphaZero: How to Rethink Chess‎
Rather than banning castling outright, what if opposite wing castling was the only type of castling allowed? That should also make draws more unlikely.
arunix··on Why Kids Love Garbage Trucks
I've seen little girls chasing the pigeons on a few occasions, so ... no longer sure about the hunter/gatherer aspect of this.
← PreviousPage 5 of 8Next →