Developer. Feminist. Ecologist. Used to be a protection Paladin.

  • 0 Posts
  • 107 Comments
Joined 1 year ago
cake
Cake day: June 13th, 2023

help-circle












  • I have 2 24" displays side by side. At some point I unified the desktops (or Spaces if you’re on Linux) to make it act “as if” it was a single ultra wide monitor. This was absolutely awful to use, especially during Google meetings where I had to share my screen.

    Besides, I like being able to rotate 90° one of my screen because sometimes it’s just the best way to work.

    This thing is stupid. Appealing maybe, but stupid.




  • But what exactly is this measuring?

    Hard to tell honestly.

    phpBB and Wordpress are websites engines. It doesn’t take into account the content of the websites they are serving, and more importantly the bloated advertising scripts that might be added to the sources.

    Mastodon? What are we even talking about here? The content? The engine? Which instance?

    So, while it’s true that some websites are bloated and some are not, OP’s post says absolutely nothing about it. Size means nothing when a single picture can easily outweigh a huge javascript file mining some bitcoins. For the same reasons, loading times mean nothing either.

    Memory usage, FPS, Cumulative Layout Shift, First Input Delay, Largest Con­tent­ful Paint, any data gathered from the performance API. There are tons of efficient way to measure a website’s efficiency.

    Finally, a website can fail to load for many reasons. First of which can be a 504 Bad Gateway Timeout, which is an event based on an arbitrary value on the server’s side.


  • In the case of a non-existing property, the value would be undefined rather than null.

    And while == and != exist in JavaScript, most linters will throw an error and require a === and !== instead as they should be avoided.

    null == undefined // true
    null === undefined // false
    

    Besides, null is a perfectly valid value for a property, just as 0. Working with API Platform, I couldn’t tell the number of times I used this kind of statement:

    if (property || property === null) {
      // do some stuff
    }
    

    Probably just as much as

    if (property || property === 0) {
      // do some stuff
    }

  • in javascript a property is truthy if it exists

    myThing.property = "some string"
    
    if (myThing.property) { // true
      // do something
    }
    

    It works with everything except of course for falsy values

    myThing.number = someNumberThatShouldNotBeEqualToZero
    
    if (myThing.number) {
      // do something very important with that number that should not be equal to zero
    }
    
    // This can fail at anytime without warning
    

    So you’ve got to be extra careful with that logic when you’re dealing with numbers.

    I am not saying it’s wrong though. I’m saying it’s often annoying.


  • When my console throws a NaN I kinda think of it as an Halloween kid receiving a fruit instead of a candy. They won’t say “That’s a fruit”. They’ll say “That’s not a treat”.

    I’m personally pissed more often by a falsy 0.

    Did you know that early analog computers would literally explode when asked to divide by 0?

    Now computers just say “Hey stupid, that shit is not even a Number in a mathematical sense, but sure I’ll add one to it.” instead of “Why would you kill me like this?”

    You can’t really define Infinity as a number, yet it is part of their world.

    So typeof NaN === ‘number’ totally makes sense in that regard.

    If you ever worked with arrays of dates, don’t judge NaN too harshly.


  • Hello,

    If you only want to track the number of page views you can do something simpler.

    On your website, add an empty image with a known name in the footer that point to your home server (no proxy needed if your website allows loading images from external site)

    You should see the attempt to download the empty image in your home server logs. There are tools to parse your server logs for specific keys (I have Logstash in mind)

    If you want to track anything else, just add another empty image linked to the website event you want to track.