• 3 Posts
  • 139 Comments
Joined 1 year ago
cake
Cake day: June 25th, 2023

help-circle
  • Hehe, good point.

    people need to read more code, play around with it, break it and fix it to become better programmers.

    I think AI bots can help with that. It’s easier now to play around with code which you could not write by yourself, and quickly explore different approaches. And while you might shy away from asking your colleagues a noob question, ChatGPT will happily elaborate.

    In the end, it’s just one more tool in the box. We need to learn when and how to use it wisely.




  • An (intuitively) working search would be a great step ahead. It should find and show things if they exist, and only show no results if they do not. That a plethora of external tools exist to meet these basic needs shows both how much this is needed, and how much it is broken.

    I also feel I have more luck finding communities if searching for ‘all’, instead of ‘communities’. Don’t make me add cryptic chars to my search to make it work. Do that for me in the background if necessary.

    It’s been long since I’ve been using it, but iirc, it’s impossible or painful to search for a specific community in your subscribed list.


  • You can use more debug outputs (log(…)) to narrow it down. Challenge your assumptions! If necessary, check line by line if all the variables still behave as expected. Or use a debugger if available/familiar.

    This takes a few minutes tops and guarantees you to find at which line the actual behaviour diverts from your expectations. Then, you can make a more precise search. But usually the solution is obvious once you have found the precise cause.





  • Exactly this. It’s often about finding the right balance between technically optimal, and socially feasible (lacking the right phrase here).

    The nerds brimming with technical expertise often neglect the second point.

    Oh - wow! I was about to complain about how https://join-lemmy.org/ is a shining bad example in this regard, talking about server stuff right away and hiding how Lemmy actually looks until page 3, but apparently they changed that and improved it drastically. Cool, good job!

    Anyways.

    For collaborative projects especially, it is important to strike a balance between tech and social aspects. Making poor tech choices will put people off. But making your project less accessible will also result in less people joining. It’s crucial to find a good balance here. For many coming from the tech side, this usually means making far more concessions to the social side than intuitively feels right.


  • I find the plateau quite puzzling (lemmy.world, but the total looks very similar):

    There was quite a steep increase, and then it suddenly stopped.

    I would rather expect it to slow down, than to stop that abruptly.

    We’re looking at a fairly large group of people making a decision to create an account on Lemmy. There are plenty of reasons to expect it to be fuzzy. Even if they all responded to one particular event in time, some would have done so immediately, others the next day, few more even later.







  • In any case, performance is just one factor. For a FOSS project to be successful long term it needs contributions from other developers and with the massive pool of Python developers there are, hopefully I’ll be getting some help soon. Also along those lines I have deliberately chosen:

    to code as simply and stupidly as possible, to make it accessible to most skill levels.
    No complicated frameworks, fancy algorithms, or esoteric design patterns. Model View Controller, baby.
    No frontend build process or tool chain (vanilla JS only. No npm).
    Few third party dependencies, only Redis and Postgresql. Mostly.
    

    All this makes setting up an initial development environment, finding the bit you want to change and testing it out fairly quick and easy.

    Sounds very wise to make it as accessible as possible. And you basically get super maintainable code as a side product!


  • I think that’s one of the best use cases for AI in programming; exploring other approaches.

    It’s very time-consuming to play out how your codebase would look like if you had decided differently at the beginning of the project. So actually comparing different implementations is very expensive. This incentivizes people to stick to what they know works well. Maybe even more so when they have more experience, which means they really know this works very well, and they know what can go wrong otherwise.

    Being able to generate code instantly helps a lot in this regard, although it still has to be checked for errors.