• 0 posts
  • 16 comments
Joined 3 years ago
Cake day: November 19th, 2023
  • In industrial software, I’m sure performance is a pretty stark line between “good enough” and “costing us money”.

    The pattern I’ve seen in customer facing software is a software backend will depend on some external service (e.g. postgres), then blame any slowness (and even stability issues…) on that other service. Each time I’ve been able to dig into a case like this, the developer has been lazy, not understanding how the external service works, or how to use it efficiently. For example, a coworker told me our postgres system was overloaded, because his select queries were taking too long, and he had already created indexes. When I examined his query, it wasn’t able to use any of the indexes he created, and it was querying without appropriate statistics, so it always did a full table scan. All but 2 of the indexes he made were unused, so I deleted those, then added a suitable extended statistics object, and an index his query could use. That made the query run thousands of times faster, sped up writes, and saved disk space.

    Most of the optimization I see is in algorithms, and most of the slowness I see is fundamentally misunderstanding what a program does and/or how a computer works.

    Slowness makes customers unhappy too, but with no solid line between “I have what I want” and “this product is inadequate”.

  • Apple put inadequate coolers in the later Intel Macbooks to make Apple Silicon feel faster by contrast. When I wake mine, loading the clock takes 1.5 seconds, and it flips back and forth between recognizing and not recognizing key presses in the password field for 12 seconds. Meanwhile, the Thinkpad T400 (running Arch, btw) that I had back in 2010 could boot in 8.5 seconds, and not have a blinking cursor that would ignore key presses.

    Apple has done pretty well, but they aren’t immune from the performance massacre happening across the industry.

    The battery life is really good, though. I get 10-14 hours without trying to save battery life, which is easily enough to not worry about whether I have a way to charge for a day.

  • Companies try to maximize green per red. By paying less, and getting the same, they maximize that, year after year until (in a temporary and unforeseeable setback) you leave for… Bluer pastures, apparently.

    There are different sorts of companies, and the more they think of employees as a number of years of experience plus a stack of skills, the more susceptible they are to believing that replacing humans with other equally skilled humans is a productive way to spend their time.

  • I’ve known a lot of math people, and /on average/ I think they’re more capable of programming useful code than the other college graduate groups I’ve spent a lot of time working with (psychology, economics, physics) /on average/.

    That said, the best mathematicians I’ve known were mostly rubbish at real programming, and the best programmers I’ve known have come out of computer engineering or computer science.

    If you need a correct, but otherwise useless implementation, a mathematician is a pretty good bet. If you need performance, readability, documentation, I’d look elsewhere most of the time.