0
33
Von_Broheim

@programming.dev

Von_Broheim 23 points 3 years ago

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.

path: 0 3270380, hotness: undefined, score: 23, children: 2
Von_Broheim 15 points 3 years ago

Jira is a pain, slow, bloated, and ugly.

Trello okay is for student projects, too basic.

ClickUp was decent when I used it professionally, I still use it for personal project management.

Azure DevOps is baby's 1st JIRA, but somehow Microsoft made it worse in every way.

path: 0 2460672, hotness: undefined, score: 15, children: 0
Von_Broheim 10 points 3 years ago

Yeah, you never see this in enterprise settings. Sure builders or streams can get a bit long but you just pop each .x() on a new line.

And when they're on new lines intellij has a cool feature where it creates a little UI only comment next to the line showing what type it returns.

path: 0 1338278 1339764, hotness: undefined, score: 10, children: 1
Von_Broheim 10 points 3 years ago

Had an ultra wide for a while, went back to 2 27" monitors after 2 years. 2 monitors is more convenient imo. I can flip one vertical whenever. Less fiddly to have multiple things open at once. One is centered while the other is on the side and angled, much nicer way of separating what's my focus. Easier to screen share. I always found the curve distracting for text.

path: 0 1332762, hotness: undefined, score: 10, children: 5
Von_Broheim 7 points 3 years ago

There isn't one, java is excellent for async and multithreading and it does it properly unlike node that fakes it by running on a single clever event loop or stealthily launches a bunch of node instances in the background depending on implementation.

path: 0 2080297 2081248 2081426, hotness: undefined, score: 7, children: 2
Von_Broheim 5 points 3 years ago

Legacy code is just code inherited from developers that are no longer around. It's quality has nothing to do with its age.

path: 0 988888 1028067, hotness: undefined, score: 5, children: 1
Von_Broheim 4 points 3 years ago

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.

path: 0 1295539, hotness: undefined, score: 4, children: 0
Von_Broheim 4 points 3 years ago

A classic

path: 0 1469736 1481852, hotness: undefined, score: 4, children: 0
Von_Broheim 3 points 3 years ago

That's why JavaScript and Python projects are also memed and a nightmare. Not because they're bad, but because it's so popular a huge amount of amateur code exists.

path: 0 1241662 1242014 1295260, hotness: undefined, score: 3, children: 0
Von_Broheim 2 points 3 years ago

Comparatively to the rest of the western world, western Europe dev salaries are garbage.

I live in the UK and have friends in Germany, France and Norway. Senior/mid salaries are fairly similar, so is the cost of living. But, I could get the same job in Poland by taking a 10-15% salary cut, living there my cost of living would go down by approx 40%. I would be noticeably wealthier there doing the same job I do in the UK.

Same story for many eastern european countries, they pay better for skilled labour but way worse for unskilled labour.

The only thing keeping me here is family and friends.

path: 0 985342 985343, hotness: undefined, score: 2, children: 0
Von_Broheim 2 points 3 years ago

Surprised how little love this option is getting in the comments. Not only will swagger be generated for you from your openapi spec, it has a clean fast UI and shared auth.

path: 0 901746 1074924, hotness: undefined, score: 2, children: 0
Von_Broheim 2 points 3 years ago

That's on businesses for refusing to keep up for a decade. Java 11 was free and companies just refused to invest into updating.

path: 0 1205352 1208861 1215881, hotness: undefined, score: 2, children: 0
Von_Broheim 2 points 3 years ago

Yeah that can get ugly but it's still better than writing native queries because you know it's gonna automatically translate to any db specific sql flavour.

When they get a bit too long and ugly I either write default methods using specifications or I create a more concisely named default method that wraps the verbose monster.

path: 0 1326191 1330556 1339644, hotness: undefined, score: 2, children: 1
Von_Broheim 2 points 3 years ago

A decent developer will be mid level in 1-2 years.

path: 0 1890062 1910832 1944092, hotness: undefined, score: 2, children: 0
Von_Broheim 2 points 3 years ago

Initially I was very impressed by ChatGPT but over the past few weeks I'm getting fed up with it. It completely ignores constraints I give it regarding library versions I use. It dreams up insane, and garbage, answers to fairly simple prompts. For more complicated stuff it's even worse.

My current workflow is, try top few google results, if failed try ChatGPT for a few minutes, if failed go to documentation and or crawl through SO for some time, if failed ask on SO.

I tested some of the questions I asked on stackoverflow vs ChatGPT and the answers on stack overflow were much better. So for real "I really am stuck here" sort of issues I use SO.

path: 0 1847417, hotness: undefined, score: 2, children: 1
Von_Broheim 2 points 3 years ago

People hating on Java because "inheritance" usually don't know the difference between inheritance and polymorphism. Stuff like composition and dependency inversion is black magic to them.

path: 0 2109306 2114686 2117117 2124204 2162011 2209138, hotness: undefined, score: 2, children: 0
Von_Broheim 2 points 3 years ago

In culinary terms a back end is usually a pasta bake that's undercooked in the middle but burnt on the edges. Front end is usually a pasta bake smoothie in a nice looking cup with an umbrella.

path: 0 2156556 2156661 2209907, hotness: undefined, score: 2, children: 0
Von_Broheim 2 points 3 years ago

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.

path: 0 2181851 2197605 2209749, hotness: undefined, score: 2, children: 0
Von_Broheim 2 points 3 years ago

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.

path: 0 2111783 2129017 2133899 2210063, hotness: undefined, score: 2, children: 0
Von_Broheim 2 points 3 years ago

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.

path: 0 2210345, hotness: undefined, score: 2, children: 0

thanks for using Leebra!

go to feed...