• 0 Posts
  • 20 Comments
Joined 1 year ago
cake
Cake day: July 1st, 2023

help-circle
  • Yeah, that’s great, until you need to conditionally compose a query. Suddenly your pre baked queries are not enough. So you either:

    • create your own shitty ORM based on string concatenation
    • create your own shitty ORM
    • or use a well supported ORM, those almost always support query composition and native queries

    You write like it’s ORM vs native. ORMs let you write native queries and execute them while also doing all the tedious work for you such as:

    • mapping results to model objects
    • SQL injection safety
    • query composition
    • connection builders
    • transaction management

    So if you love native queries write native queries in an ORM which will do all the tedious shit for you.






  • I find that code written towards fulfilling some specific database design is usually a nightmare about 20minutes into the project. You end up with garbage semantics and interfaces because you’re building an entire app for the sake of storing stuff in a database. It’s an ass backwards approach to software development imo, software is about solving a human problem and data persistence is just one of the steps in the solution. Instead figure out what data your consumers need, then figure out what domain objects can be extracted from that, then plan how you will persist those domain objects. You’ll end up with less boilerplate, better naming of entities and services and you’ll also find that the words your team uses to talk to each other make sense to your business people not just your dba.



  • If you’re writing an explanation of what your code does then, ding ding, you’re writing code. If your code has so many side effects and garbage in it that it’s incomprehensible without an explanation then it’s shit code and I doubt you’d be able to write a comment that explains it that is not equally as shit as the code. Commenting on how shit code works cannot be trusted because the commenter has already proved they’re shit at the job by creating that shit code.

    Best you can hope for is the comment contains a reason as to why the code is shit.


  • The problem is that code is language and people who write shit code tend to write shit comments, so no value is gained anyway. The sort of person who’d write good comments will most likely write good code where these comments are not needed, and when they intentionally write shit code they’d probably explain why.

    So best you can hope for is that both of these people write comments about why they decided to write a comment, and hopefully the person who writes shit code improves over time.



  • Microservices and document db’s go brrrrrrr. Data duplication is completely fine as long as there is only one source of truth that can be updated, all copies must be read only. Then the copies should either regularly poll the source or the source should publish update events that the copies can consume to stay in sync. It’s simple stuff but keeps your system way more available and fast than having multiple services talk to a shared db or worse, multiple services constantly fetching data through a proxy.




  • Idk, large chunk of my CS class was extroverted. They liked to party, many were in relationships and we often went for pints between lectures at the campus bar.

    There ofc was a lot of weirdos and assholes around too, an above average amount, but they got outnumbered by normal dudes.

    Had a decent amount of women but by the end of the 1st year like half of the class was gone and most women left. They found it boring, too technical or they were not really ready for university, same for the dudes that dropped out. There ofc was sexism, but that came from niceguys or dudebros, they exist in every field.

    As for my professional life, most sexism I saw was from career managers and finance staff.


  • Op comes off a bit, uninformed. E.g. I use docker engine and docker compose inside WSL2 on windows and performance is fine, then I use Intellij to manage images/containers, the service tab handles the basics. If I need to do anything very involved I use the cli.

    Docker is fine, the docker desktop panic really only revealed who never took the time to learn how to use docker and what the alternative UIs are.





  • I find ChatGPT more coherent than stackoverflow in many cases. Sure it hallucinates and sometimes acts like it has dementia but at the very least it won’t write 5 paragraphs about how the framework behind my issue works without giving any examples.

    Stackoverflow is good for finding alternative approaches, getting explanations for how stuff works in the framework, and error investigations. Useless for getting information on stuff you don’t already know.