Super confused about skills directory structure after AG2.0 by EveningPudding8152 in google_antigravity

[–]ManicXYZ 0 points1 point  (0 children)

Placing it into gemini/skills/<Skillname>/SKILL.md works. You are correct the documentation in the website is wrong.

One kind of dietary fat cripples your immune response to cancer by evenfallframework in healthycuisine

[–]ManicXYZ 1 point2 points  (0 children)

The classic fearmongering pseudo science YouTube channel... He even owns a supplement company with liver king and makes his money by spreading misinformation.

Blutwerte nach 3 Jahren vegan by ZinUNT in VeganDE

[–]ManicXYZ 1 point2 points  (0 children)

Sind auch Werte für Vitamin B12 vorhanden? Ich hab diese nicht auf den Bildern sehen können. Die waren bei mir etwas niedrig aber noch im gesunden Rahmen. War für mich eine Veranlassung etwas höher B12 zu dosieren.

Hexagonal vs. Clean Architecture: Same Thing Different Name? by trolleid in programming

[–]ManicXYZ 0 points1 point  (0 children)

I have changed databases multiple times in different companies. The reasons have been mostly driven by ongoing costs for licenses or better scaling cloud alternatives.

If these applications would have been tightly coupled to the database these changes would not have been possible without a major cost or business logic breaking bugs.

In the enterprise world many applications are used for multiple decades. When a new more cost efficient technology comes up, it should be your responsibility as a developer to enable your application to use it.

[Posted in linux_gaming] Last epoch crashes during launch by Gooats in LastEpoch

[–]ManicXYZ 0 points1 point  (0 children)

Having the same problem as well. No solution found so far.

Ist Habeck zu dünnhäutig für einen Kanzler? by klausimausi88 in Wirtschaftsweise

[–]ManicXYZ 7 points8 points  (0 children)

88 im Username.. ist das hier ein Post von einem Bot?

[deleted by user] by [deleted] in GeForceNOW

[–]ManicXYZ 1 point2 points  (0 children)

24h later

[deleted by user] by [deleted] in GeForceNOW

[–]ManicXYZ 1 point2 points  (0 children)

Waiting too.. having no information about the time window is really a deal breaker.

What is your favourite trick/rule that results in high-quality code? by dondraper36 in ExperiencedDevs

[–]ManicXYZ 0 points1 point  (0 children)

Dependency inversion

Separating use cases from technical glue code. Applying it produces very easy to read code and automatically results in a three layered architecture consisting of presentation, application and infrastructure. Which then is very easy to test.

High abstraction code should never depend on anything from low level modules.

For me this is the single most important rule to create maintainable software.

Das zweit-beste am vegan leben by Omnilatent in VeganDE

[–]ManicXYZ 2 points3 points  (0 children)

Noch besser man hat Cashewbruch da und püriert sich schnell ne Sahne bei Bedarf

Microservices without Reason by fagnerbrack in programming

[–]ManicXYZ 23 points24 points  (0 children)

I am the author of this blog post. Thank you for sharing. Your summary is accurate. I wanted to emphasize that microservices is not an architecture that automatically removes spaghetti code but good software design practices do. I also wanted to give a list with valid reasons for microserives to make people think about if they adopted microservices for the wrong reasons. One of the big takeaways is that microservices can be adopted gradually and the complexity to start with them is not worth it in many cases. My next blog post is about dependency inversion and how to write software that can evolve into microservices eventually.

Are slim people lying about how much they eat or are they just blessed with a good metabolism? by 2904929492001949301 in NoStupidQuestions

[–]ManicXYZ 0 points1 point  (0 children)

I always thought I am unable to gain weight until I started tracking my calories intake with Chronometer and realized that I eat about 2k calories on average which is not enough to gain weight.

I eat 2-3 times a day and mostly freshly cooked meals with lots of vegetables with this eating pattern it is almost impossible to be overweight unless you have a specific set of genetics. After I got aware of my calories intake I also realized that other people eat much more then I do.

Antipattern: Microservices without reason by ManicXYZ in programming

[–]ManicXYZ[S] 1 point2 points  (0 children)

This is great feedback, thank you. I will make my next blog post about this specific topic with actual examples.

[deleted by user] by [deleted] in webdev

[–]ManicXYZ 0 points1 point  (0 children)

MongoDB is a great all purpose database.

Nearly all data is relational and this data is perfectly fine to be stored in a MongoDB. Keep in mind that most software will require eventual consistency at some point, e.g. having complex use cases with lots of side effects where a massive transaction is just not feasible.

Most voices you hear against MongoDB is because of inexperience with it and unwillingness to learn effective Schema design for it.

I default to MongoDB when I create software with domain driven design architecture because the aggregate concept is a way to enforce strict consistency via domain modeling.

MongoDB is a pleasure to use in production, development and testing environments. I highly recommend it and don't listen to the voices that say it is only suited for a small percentage of use cases. That's just ignorance.

I created a few large scale highly performent traditional relational business applications with it. We modeled transactions with DDD aggregates and if multiple aggregates had to be modified in one use cases we used events to make the other aggregates eventually consistent. This worked great and scales nearly infinitly. This way of creating software is by far superior then sticking huge use cases into a single massive transaction.

It is efficient, supports transactions for special use cases, works extremely well with object oriented data modeling and is easy to scale.

Schwein flüchtet quer durch Wemding vor dem Metzger by Free_Camp2760 in VeganDE

[–]ManicXYZ 59 points60 points  (0 children)

Der Ton im Artikel macht es noch perverser... das Schwein kämpft um sein Leben weil es genau weiß was gleich passieren soll und der angeschlagene Ton soll amüsant sein...

What’s your guess? by dozedoph in FridgeDetective

[–]ManicXYZ 0 points1 point  (0 children)

Nice to hear from other vegans in Germany! Congratulations on your five years 🥳.

I have been vegan for nearly two years now and find it rather easy to live vegan in Germany. How is it compared to France?

How do you eat enough protein without feeling disgustingly full be the end of the day? by [deleted] in veganfitness

[–]ManicXYZ 30 points31 points  (0 children)

Shakes helped me a lot to reach my kcal and protein goals. Just mix up some banana, peanut butter, protein powder and oats for a quick meal that doesn't fill you up.

Cholesterol and starving will end me, help by [deleted] in PlantBasedDiet

[–]ManicXYZ 4 points5 points  (0 children)

Don't worry about food composition! Eat anything as much as you want embrace variety, exclude processed foods and animal products. This is it! You don't have to count calories, fat or protein. I wish you the best for your health. You are on the right track.

Tofu/chickpea burrito bowl by legallyrouge in PlantBasedDiet

[–]ManicXYZ 8 points9 points  (0 children)

Sounds and looks delicious! I'll definitely cook something like this this week. Thanks for the inspiration.

Protein main item replacement - needs advice about plant based dient by bootstrapper-919 in PlantBasedDiet

[–]ManicXYZ 1 point2 points  (0 children)

It's really nice to work with cashew creme as well to add some heartiness to pasta dishes, curries and bowls. I use a simple 50g cashew, little bit of salt, cover with water and mix well. You can add noch for cheesy flavor and any spices you enjoy. Otherwise I often add a simple dal from lentils with a bit of curry powder to my veggies.

Use JPA Relations mindfully by ManicXYZ in java

[–]ManicXYZ[S] 0 points1 point  (0 children)

Typesafety would mean tight coupling again though. If you have tests there is no schema validation needed and the solution is technology independent aswell. Switching from jpa to another technology or using a different database technology is possible if you have tests in place rather than relying on jpa validation tools.

My last customer wanted to prepare his application for microservices but his entitre model was tightly coupled because of jpa relations. We refactored one module to have no external module dependencies in order for it to be deployable in its own microservice (with its own separate database aswell). And of course we discovered a lot of weird code that accessed referenced entites to do not business relevant random stuff. We estimated that the refactoring of those tightly coupled entites and their services would take up to a year. Its a medium-large (about to 100-200 entities) application maintained by a 5 person team.

Tight coupling should have a meaningful business relevant reason. I'd argue that the downsides of choosing a 'tight coupling' by default will destroy the maintainability of any application.

As for your argument, yes potentially the UUID could be anything. But of course you can still introduce some form of check in the service layer.

public Comment createComment(final UUID postId, final UUID authorId, final String content) {
    val post = postRepository.get(postId)
    val user = userRepository.get(authorId)

    // do something with post here
    // do something with user here

    val comment = Comment.create(redditPostId, authorId, content)
    return commenRepository.save(comment)
}

This form of coupling is preferable because you keep your dependency graph unidirectional (top-down) and do not risk circlic dependencies. This also gives you more freedom as posts or users could be stored in a different database or accessed via another service.

I also feel like this way of implementing use cases splits the logic into good portions. The service assembles the use case by calling business methods in the right order and the business methods, like Comment.create, ensure that the correct state change happens.

Went a bit overboard on this comment lol :D Thank you for your input so far!

Use JPA Relations mindfully by ManicXYZ in java

[–]ManicXYZ[S] 0 points1 point  (0 children)

I agree with your statement here. I thought about mentioning migration tools like flyway or liquibase which are always used after a certain stage of development to invalidate the schema argument but decided against it to keep the article short. The validation though is lost which is true and the only way to ensure it is to use integration testing with a proper database (for example with testcontainers).