• 0 Posts
  • 277 Comments
Joined 2 years ago
cake
Cake day: July 3rd, 2023

help-circle

  • Oh yeah. Cars are bad on like every metric.

    Socially they isolate people. You don’t interact with anyone when you’re driving except to get angry. The micro interactions you have on the train matter. Seeing people that aren’t just like you, also annoyed that the train is delayed, or just having a nice time with their kids, matters. More than makes up for when other people are annoying.

    Economically they hurt. It’s much harder to just pop into an interesting looking shop when you’re cruising along at 40mph. All the space dedicated to parking could be used for other stuff- housing, commerce, communal space, whatever.

    They make spaces less safe. Other than the direct impact (no pun intended) of people getting hit by cars, or crashing into stuff, a space that has steady foot traffic is generally safer. If everyone was in their car instead, you’d probably be alone on foot with no one to help if something happened.

    They’re bad for the environment. Air pollution, micro plastics, whatever.

    Drunk driving is way more dangerous than drunk “riding the train”.

    The more non-car options are built out, the better it will be for people who need to drive for whatever reason.

    Cars culture is trash and if we ever escape from it, it’s going to take years.





  • I don’t know about “fine”. It has a lot of weird stuff baked in. Hoisting. Unexpected type coercion. Too many ways to loop over something and I always forget which one is which. “There’s more than one way to do it” is kind of a recurring problem, come to think of it. Several function declaration syntaxes. Dot notation AND bracket notation for objects.

    Also it will forever bother me that object keys aren’t quoted.

    const foo = "hello"; const bar = { foo: "world" }

    That should be, in my mind, { "hello": "world" } . It’s not. It’s { "foo": "world" }

    But if you want to do that, you need to do const bar = { [foo]: world }. Which looks like your key is an array with one entry, a string with a value of “foo”

    You also end up learning a whole framework, with its syntax and idioms, every couple years. Angular. React. Redux. Whatever.

    There’s also a lot of people who have never used anything else, and want to use javascript for everything.

    Javascript is basically D&D. Wildly popular. Full of legacy jank. People try to use it for anything even though there are better or more specialized tools.



  • Reminds me of my first big success at work. There was a weekly report that people wanted generated - it showed how much like each operator had done, how much each warehouse had shipped, how many orders we lost from stock issues, etc. it was a low tech company, so they had someone going through the limited UI, looking up each thing one at a time, copying it into excel, and making the report that way. It took hours, and was error prone from stuff like mis-pasting or accidentally skipping a user.

    Took a look at it and was like you could definitely automate this. Used some very primitive scripting to pull all the info out of the system’s UI and dump it into a TSV. Took like a couple minutes to run it, import into excel, and add the colors. But it was super janky because it was manipulating the UI like a user instead of, like, directly querying whatever underlying data store it was running on.

    Still, management was impressed. I later learned no one actually looked at the report most weeks, so that took some of the wind out of my sails.








  • At one of my old jobs, we had a suite of browser tests that would run on PR. It’d stand up the application, open headless chrome, and click through stuff. This was the final end-to-end test suite to make sure that yes, you can still log in and everything plays nicely together.

    Developers were constantly pinging slack about “why is this test broken??”. Most of the time, the error message would be like “Never found an element matching css selector #whatever” or “Element with css selector #loading-spinner never went away”. There’d be screenshots and logs, and usually when you’d look you’d see like the loading spinner was stuck, and the client had gotten a 400 back from the server because someone broke something.

    We put a giant red box on the CI/CD page explaining what to do. Where to read the traces, reminding them there’s a screenshot, etc. Still got questions.

    I put a giant ascii cat in the test output, right before the error trace, with instructions in a word bubble. People would ping me, “why is this test broken?”. I’d say “What did the cat say?” They’d say “What cat?” And I’d know they hadn’t even looked at the error message.

    There’s a kind of learned helplessness with some developers and tests. It’s weird.


  • Try not to think too hard about how most of the evidence points to shorter work weeks being better on pretty much every metric.

    Or that most of the “return to office” mandates are counter productive cruelty.

    I think I saw an article that claimed most office workers in the UK do like 3 hours of work a day, and the rest is puttering and looking busy.

    Our system is stupid and it’s stuck stupid because of people. It’s not physics. It’s not biology. Like there’s not much you can do to fix like humans need to eat and sleep, but the workday is just made up.