News for hackers. Stuff that matters.
Re:BlurHash: Algorithm to generate compact representation of... by hinkley on Thursday February 20, 2020 @04:00PM (#22378572)
It is still my very firm belief that the primary motivation for the use of ORMs is backlash against gatekeeping DBAs. People keep looking for (literal) tools that keep them from having to deal with a (figurative) tool who won't let them use the damned database that belongs to the business to support business initiatives.

[edit: and that almost all network traffic is now L7 routed because of gatekeeping firewall administrators in the late 90's, so everything had to go over :80 or :443]

Re:BlurHash: Algorithm to generate compact representation of... by Spivak on Thursday February 20, 2020 @05:10PM (#22379136)
But that tool is also paid by the business to ensure that the database stays up and performant.

Seems kinda rude to ignore the motivations and incentives of the people who are responsible when problems happen.

Yes devs and infrastructure are often at odds professionally by design. Making it personal ignores the reason that different parts of the app have different owners that must agree to make changes.

“Those damn developers won’t just let me push my hotfix to master and make me have to do a code review when our severs are getting hammered.”

Re:BlurHash: Algorithm to generate compact representation of... by hinkley on Thursday February 20, 2020 @05:26PM (#22379221)
This only indicates that you have worked with a better class of DBA than I have.

"Why are we creating new table and foreign key relationships for this single bit of data?"

"Oh, because we aren't allowed to add any columns to <the appropriate table>"

"Wait. None?"

"None."

(Only the last conversation I had of this sort involved MySQL, which was notoriously bad at adding columns to live tables)

The cost of 5 extra joins for all business activities is going to outweigh whatever you think you have going on with that original table.

I think in some ways the situation was improved by expanding developer responsibilities to include these tasks rather than having a dedicated role. When you have to deal with the consequences of your own decisions instead of someone else being responsible, some activities won't be done at all, while others will go more smoothly. Without the database being personified, it's more of a doing something for somebody (else) instead of doing it to somebody.