houseofleft

joined 3 months ago
[–] [email protected] 16 points 2 days ago (4 children)

Here's my hot tip! (ok maybe luke warm)

Write as much of your CICD in a scripting language like bash/python/whatever. You'll be able to test it locally and then the testing phase of your CICD will just be setting up the environment so it has the right git branches coined, permissions, etc.

You won't need to do 30 commits now, only like 7! And you'll cry for only like 20 minutes instead of a whole afternoon!

[–] [email protected] 20 points 1 month ago

AI: "Have you tried funding public transport and regulating the carbon industry?"

Ok, now we need to make a new AI so that AI can solve global warming but without using an existing solution that might marginally inconvenience the mega rich.

[–] [email protected] 1 points 1 month ago

Yeah, that's my experience too. I think once projects get to a certain size, you really reap the benefits of strong opinions, regardless if what those opinions are.

[–] [email protected] 2 points 1 month ago (2 children)

It's not easier to do getters or setters but especially in python there's a big culture of just not having getters or setters and accessing object variables directly. Which makes code bases smaller.

Same with the types (although most languages for instance doesn't consider None a valid value for an int type) Javascript has sooo many dynamic options, but I don't see people checking much.

I think it boils down to, java has a lot of ceremony, which is designed to improve stability. I think this makes code bases more complex, and gives it the reputation it has.

[–] [email protected] 4 points 1 month ago (5 children)

Before someone says it, I know a lot of this stuff doesn't need to be done. I'm just giving it as examples for why Java has the rep it does.

[–] [email protected] 8 points 1 month ago (6 children)

I think a lot of it is "ceremony", so it's pretty common in java to:

  • create a get method for every object variable
  • create a set method for every object variable

Then add on top that you have the increased code of type annotations PLUS the increased code of having to check if a value is null all the time because all types are nullable.

None of that is hugely complicated compared to sone of the concepts in say Rust, but it does lead to a codebase with a lot more lines of code than you'd see in other similar languages.

[–] [email protected] 6 points 2 months ago (1 children)

Ah Marginalia is absolutely awesome! I feel like modern search is almost an extension of website names now, so if I want to find netflix but don't know it's website, I might search for "netflix". Marginalia is actually a cool way to find new stuff- like you can search "bike maintenance" and find cool blog posts about that topic.

I honestly can't remember if that's something google and the like used to do, but doesn't now, or if they never did. Either way, I love it!