• 0 Posts
  • 32 Comments
Joined 7 months ago
cake
Cake day: March 23rd, 2025

help-circle



  • It’s a bug and of course it needs to be fixed. But the point was that a memory leak leaks memory until it’s out of memory or the process is killed. So saying “It leaked 32GB of memory” is pointless.

    It’s like claiming that a puncture on a road bike is especially bad because it leaks 8 bar of pressure instead of the 3 bar of pressure a leak on a mountain bike might leak, when in fact both punctures just leak all the pressure in the tire and in the end you have a bike you can’t use until you fixed the puncture.


  • They mainly show what’s possible if you

    • don’t have a deadline
    • don’t have business constantly pivoting what the project should be like, often last minute
    • don’t have to pass security testing
    • don’t have customers who constantly demand something else
    • don’t have constantly shifting priorities
    • don’t have tight budget restrictions where you have to be accountable to business for every single hour of work
    • don’t have to maintain the project for 15-20 years
    • don’t have a large project scope at all
    • don’t have a few dozen people working on it, spread over multiple teams or even multiple clusters
    • don’t have non-technical staff dictating technical implementations
    • don’t have to chase the buzzword of the day (e.g. Blockchain or AI)
    • don’t have to work on some useless project that mostly exists for political reasons
    • can work on the product as long as you want, when you want and do whatever you want while working at it

    Comparing hobby work that people do for fun with professional software and pinning the whole difference on skill is missing the point.

    The same developer might produce an amazing 64k demo in their spare time while building mass-produced garbage-level software at work. Because at work you aren’t doing what you want (or even what you can) but what you are ordered to.

    In most setups, if you deliver something that wasn’t asked for (even if it might be better) will land you in trouble if you do it repeatedly.


    In my spare time I made the Fairberry smartphone keyboard attachment and now I am working on the PEPit physiotherapy game console, so that chronically ill kids can have fun while doing their mindnumbingly monotonous daily physiotherapy routine.

    These are projects that dozens of people are using in their daily life.

    In my day job I am a glorified code monkey keeping the backend service for some customer loyalty app running. Hardly impressive.


    If an app is buggy, it’s almost always bad management decisions, not low developer skill.






  • This. Prototypes should never be taken as the basis of a product, that’s why you make them. To make mistakes in a cheap, discardible format, so that you don’t make these mistake when making the actual product. I can’t remember a single time though that this was what actually happened.

    They just label the prototype an MVP and suddenly it’s the basis of a new 20 year run time project.

    In my current job, they keep switching around everything all the time. Got a new product, super urgent, super high-profile, highest priority, crunch time to get it out in time, and two weeks before launch it gets cancelled without further information. Because we are agile.


  • This.

    At home we minimize energy use and stuff, especially when the Ukraine war induced energy crisis hit.

    But in companies nobody turns of their PC at night. Huge TVs are constantly running playing ads to empty rooms all night.

    There’s a large tower in the inner city where I live and their whole fassade is wrapped in complex RGB lighting. I wrote to them to please disable that since we are in an energy crisis, and their response was (I kid you not) that their building lighting is totally eco-friendly, because one night per month they switch it to completely green light, and that reminds people to save energy, and the energy thus saved offsets anything the building lighting consumes.

    And that’s not even talking about all the other industrial and corporate energy wasting.


  • The article is very much off point.

    • Software quality wasn’t great in 2018 and then suddenly declined. Software quality has been as shit as legally possible since the dawn of (programming) time.
    • The software crisis has never ended. It has only been increasing in severity.
    • Ever since we have been trying to squeeze more programming performance out of software developers at the cost of performance.

    The main issue is the software crisis: Hardware performance follows moore’s law, developer performance is mostly constant.

    If the memory of your computer is counted in bytes without a SI-prefix and your CPU has maybe a dozen or two instructions, then it’s possible for a single human being to comprehend everything the computer is doing and to program it very close to optimally.

    The same is not possible if your computer has subsystems upon subsystems and even the keyboard controller has more power and complexity than the whole apollo programs combined.

    So to program exponentially more complex systems we would need exponentially more software developer budget. But since it’s really hard to scale software developers exponentially, we’ve been trying to use abstraction layers to hide complexity, to share and re-use work (no need for everyone to re-invent the templating engine) and to have clear boundries that allow for better cooperation.

    That was the case way before electron already. Compiled languages started the trend, languages like Java or C# deepened it, and using modern middleware and frameworks just increased it.

    OOP complains about the chain “React → Electron → Chromium → Docker → Kubernetes → VM → managed DB → API gateways”. But he doesn’t even consider that even if you run “straight on bare metal” there’s a whole stack of abstractions in between your code and the execution. Every major component inside a PC nowadays runs its own separate dedicated OS that neither the end user nor the developer of ordinary software ever sees.

    But the main issue always reverts back to the software crisis. If we had infinite developer resources we could write optimal software. But we don’t so we can’t and thus we put in abstraction layers to improve ease of use for the developers, because otherwise we would never ship anything.

    If you want to complain, complain to the mangers who don’t allocate enough resources and to the investors who don’t want to dump millions into the development of simple programs. And to the customers who aren’t ok with simple things but who want modern cutting edge everything in their programs.

    In the end it’s sadly really the case: Memory and performance gets cheaper in an exponential fashion, while developers are still mere humans and their performance stays largely constant.

    So which of these two values SHOULD we optimize for?


    The real problem in regards to software quality is not abstraction layers but “business agile” (as in “business doesn’t need to make any long term plans but can cancel or change anything at any time”) and lack of QA budget.







  • It really depends on what your goal is. Usability, keeping a familiar interface, performance, all of that are things that make it reasonable to stay on an outdated OS, and none of these reasons are bad.

    Security (which is the only thing we are really talking about here) does require updates.

    If security is your most important concern, you need to update. If security is not your biggest concern and other topics are more important for you, it might be reasonable to stay on older versions.

    But in the context of this post, which was purely about security, having long term security updates is important.


  • You don’t seem to get my point and seem to think that I’m some apple fanboy that you need to convince or win against.

    I use android, I’ve never used iOS. I enjoy the freedom of sideloading. Still it is a fact that the overwhelming majority of malware infections on Android happen due to side loading. The percentage of devices running corporate MDM is tiny, making this a moot point.

    The vast majority of Android phones do not come with root access. For both, you generally have to elevate access yourself

    And yet quite a few devices in the wild run rooted or custom ROMs.

    If you’re running an out-of-date OS, clearly security is not a priority

    You seem to forget what this thread is about. It’s not about personal security and whether one can run a safe android device, but about an app developer not providing an Android version, because the platform as a whole (meaning the average user) is less secure.

    Personal preferences like paying for a new, non-outdated phone don’t really matter for that big picture view.

    Supply chain attacks absolutely can happen to iPhones as well. There are plenty of re-sellers

    That’s a strange argument. Getting malware that survives a factory reset onto an iPhone without apple’s approval is close to impossible. Making an Android phone from scratch that contains malware right in the system image has been done over and over again. You are argueing a hypothetical versus something that happens every day.