• 1 Post
  • 107 Comments
Joined 1 year ago
cake
Cake day: June 12th, 2023

help-circle
rss

  • Yeah I’m not paying for something and it still be illegal. I’d rather stick to piracy. I get your point and if it works for you that’s cool. But it’s not for me.

    A good usenet setup with the Arr stack can automatically download basically anything you want and costs tens of dollars per year to run with very little, if any risk. (have there been any prosecutions for people downloading from usenet?)

    With a little bit of work and an old computer for a server you can basically run your own automated piracy streaming service.














  • The way it works is that there’s a symbol table entry for “foo” which has a slot for a hash, scalar, array, glob, etc.

    That leads to some super weird behaviour like, for example, if I declare a scalar, hash and array as “x”:

    $x = "sy";
    %x = (foo => "mb");
    @x = ("ol", "s!");
    

    You can access them all independently as you’re aware:

    say "x: ", $x, $x{foo}, @x; # Outputs:  x: symbols!
    

    But what’s really going to bake your noodle is I can assign the “x” symbol to something else like this:

    *z = *x;
    

    …and then the same thing works with z:

    say "z: ", $z, $z{foo}, @z; # Outputs:  z: symbols!
    

    Oneliner if you want to try it:

    perl -E '$x = "sy"; %x = (foo => "mb"); @x = ("ol", "s!"); say "x: ", $x, $x{foo}, @x; *z = *x; say "z: ", $z, $z{foo}, @z;'
    

    Congratulations! You now know more about one of Perl’s really weird internals than I’d wager most Perl programmers (I have literally never used any of the above for anything actually productive!)


  • You mean the fact that you can have a hash called %foo, an array called @foo and a scalar called $foo all at the same time? I agree that’s a weird choice and there’s potential for insanity there, but it’s pretty easy to just not do that…

    20+ years of Perl experience and while Perl has a load of idiosyncrasies that make it harder to work with than other languages, I don’t think that particular one has ever caused a significant problem.



    • Larger, OLED screen
    • Hall effect sensor sticks
    • Better rumble
    • Support for 2242 m.2 drives
    • Second SD card reader
    • Better cooling (I’d gladly have a lump in the back middle if it allowed for a quieter/better fan)
    • Better accessory connection options (eg a standard for attaching stuff like extra batteries to the back) - I would prefer this to adding more battery (ie weight) to the unit itself.
    • Tweaks to the back buttons so they work no matter where on the button you press
    • Some sort of charging dock connection standard to avoid the manual usb connection. Maybe just a usb-c on the bottom
    • Small case design change to prevent sd cards being snapped when opening (I haven’t done it, but only by luck)
    • Replace the carry case with a plastic cover to protect screen/sticks like dbrand’s (or at least make it a lot smaller)

    Better performance/more ram would be good too I guess but honestly having a unified platform with fixed specs to target has a lot of benefits.


  • I write Perl at work. Supporting an actively developed Perl based application.

    It’s honestly not that bad as a language, the biggest downside is that the ecosystem of libraries around it are often abandoned or outdated. The language isn’t perfect and it needs a bit of discipline to avoid creating unreadable code, but honestly it’s not as bad as its reputation might have you believe.

    It has quite a few tricks and unexpected bits of flexibility that make it quite a bit more expressive than other languages - you can really craft nice compact, elegant code with it if you want to.

    These days I use other languages too (Python, Ruby, JS, etc) but none of them quite match Perl for expressiveness.

    Oh also it’s great for oneliners. That expressiveness can be abused for brevity in some really interesting ways.


  • Which incompatible language upgrades? Are you talking about Perl 6?

    That was never really an iteration of Perl, and it was renamed Raku some years back so is no longer named like it’s an iteration of Perl.

    Perl continues as Perl 5 and honestly values compatibility extremely highly, probably more than many (most?) other languages. There have been a handful of breaking changes over the years (most notable for me was the hash key ordering thing) but those are usually security related rather than anything else.