• 33 Posts
  • 43 Comments
Joined 1 year ago
cake
Cake day: June 9th, 2023

help-circle












  • There are two useful sections on https://status.lemm.ee for this - firstly, there is an automated check for federation with all other instances on the bottom of the page, and everything there being red is a definite sign that something is wrong with lemm.ee itself. Secondly, near the top of that page, I will always write a status message manually when I discover & start work on any issues. This second part can have a bit of a delay, as it requires manual input from myself, but I have updated it every time we had any issues so far.




  • I use SwiftKey and I hate it, but I haven’t found anything better

    I’m in exactly the same boat. 😅

    I don’t understand how it has been broken for years. I wonder if none of the engineers working on it actually use it themselves? Deleting all of your local data makes it stop crashing for a few weeks, but then you of course also lose all the learned predictions, and eventually it just gets to a point where it just crashes more and more often and you have to delete all the local data again. It sucks.

    If only the default Apple keyboard had support for my language, I would ditch SwiftKey forever.






  • I think there are two separate things I want to address here:

    First, agile isn’t a project management methodology, it’s just a set of 4 abstract priorities and 12 abstract principles. It’s very short, you can check it out here:

    https://agilemanifesto.org/

    Nothing here says that you’re not allowed to write documentations, requirements, etc. In fact, the principles encourage you as a software team to create the structures and documentation that you need in order to meet your goals.

    Secondly, in terms of practical advice:

    1. Talk about this problem with your team. Is it hard for others to figure out where requirements came from? Maybe they already have a good method and can share it with you. If it’s hard for everybody, then propose improvements to your process, for example, propose some type of design document process as part of building any new features
    2. There are no perfect answers to the question of “how do I safely make non-trivial changes to systems”, but the general approach is to ensure that:

    a. You have metrics about how your system is used.

    b. You have automated tests covering any requirements, so that you can feel confident when making changes to one part of the system that it isn’t violating any unrelated requirements.

    c. You actually document any confusing parts in the code itself uing code comments. The most important thing to cover in comments is “why is this logic necessary?” - whenever something is confusing, you need to answer this question with a comment. Otherwise, the system becomes very annoying to change later on.

    If you are missing any of the above, then propose to your team that you start doing it ASAP

    1. At the end of the day, somebody is responsible for making product decisions. Is it your team? Or maybe some separate product owner? Sometimes, you just need to communicate with whoever is responsible to figure out if any requirements are still relevant, or if they are now safe to change.