TIL that PHP 8.2 has deprecated the dynamic creation of object variables. E.g., this will throw a warning:

class Foo {
    public $foo;
    public function __construct() {
        $this->foo = 'Foo';
        $this->bar = 'Bar'; // $bar was not declared
    }
}

$test = new Foo();

Deprecated: Creation of dynamic property Foo::$bar is deprecated in...

(I was looking into upgrading an old app from 8.1 to 8.2, and ran into this in a bunch of places.)

    TIL there are new SI order-of-magnitude prefixes:
    ronna- (R) for 10²⁷
    quetta- (Q) for 10³⁰
    ronto- (r) for 10`²⁷
    quecto- (q) for 10`³⁰

    10 days later

    hey, laserlight -- saw your avatar, I remember you! You helped me w/ stuff long time ago. I had a different username back then. probably 2005 or so.

      14 days later

      Today I learned the true murderous rage your children can give you.

        18 days later

        Today I learned that Vinyl de Paris has shipped the 500 vinyl LPs I ordered of my First World War concept record. 👍

        I started working on ten years ago, and ordered the vinyl pressing in August. It's been a long time coming.

        I hope it's ok to link it here? If not, please forgive.

        9 days later

        TIL....
        ...that the United States (via NIST) has finally (from the start of this year) retired the "U.S. Survey Foot" as a unit of length, and will use the "international foot" instead for surveying, the way it already uses the "international foot" for everything else (defined as 0.3048 of a metre).

        a month later

        On 27 March I learned not to trust the C-Level types to have goodwill, or any understanding of IT....

        You'd have thought at my age that was already quite obvious...

        6 days later
        12 days later

        Life's throw a few variations of this lesson at me before. This one was a total surprise. Political firing.

          Elizabeth just wanted to see how you were all doing 😊

          Still maintaining an app that I believe is now the only thing still using PHP where I work (and trying to figure out if I'm going to retire this year 🤔).

          6 days later

          Unfortunately, not sure it's in the cards for me yet (you did just remind me my investment advisor called last week and I need to return her call).

          I do have a "someday" project that the recent life lesson might allow me some time to work on, though.

          Good to see you, @Elizabeth ! 😄

          dalecosp Sometimes the universe whispers in our ear and if we don't listen, it gives us a little shove. Looks like it's time to get on that pet project! Those are the most fun to work on anyway 😄 Great to see you all! 💖

          4 months later

          TIL (or forgot I knew?) that PHP will let you use array index notation with a function that returns an array, e.g.:

          $test = [[1, 2], [3, 4], [5, 6]];
          echo end($test)[1];
          // outputs "6"
          

          NogDog $test = [[1, 2], [3, 4], [5, 6]];
          echo end($test)[1];
          // outputs "6"

          You can do the same thing with a function that returns a function.

          function shorten_to(int $maxlength)
          {
          	return fn(string $str) => substr($str, 0, $maxlength);
          }
          
          echo shorten_to(14)("Remove the cap after engaging the safety latch.");

          And for that matter, an array element that contains a function: $ops['delete']($id).

          YIL that the destructuring operator ... can be used on Traversables, not just arrays (basically anything foreach can use, i.e. for which is_iterable returns true).

          function shuffles(int $length, array $elements)
          {
              for($i = 0; $i < $length; ++$i) {
                  shuffle($elements);
                  yield $elements;
              }
          }
          $flattened = array_merge(...shuffles(5, ['a', 'b', 'c', 'd']));
          
          echo join($flattened);

            Elizabeth Believe it or not, I am working on that project (24 hours/week) ... the other 16 I'm sitting at a desk and earning some wages. So, a PT contract isn't a bad thing compared to $0/hour until next year; it will keep Mrs. Dale from feeling like I'm being worthless while she's at work 4 days/week.

            The pet project is pretty fun. Recently selected a domain name for it, and I have started the process of content production and enlisted a friend from LONG AGO to help with that in his "spare" time....

            It bears a question: given a ton of responsibilities, (e.g. you're the CEO, the programmer, the media producer, the marketing agent, and the janitor), does your preferred work style do each in turn for a few hours or a day, then on to the next task for a similar time period, or do you do one for a week or a month and then switch, for productivity's sake? Anyone have that kind of experience?

              13 days later