« first day (4192 days earlier)      last day (51 days later) » 

6:20 AM
Morning
 
7:01 AM
Morning
 
7:57 AM
Morning
77
Q: Upcoming cleanup of duplicate votes

Yaakov EllisIt was reported on MSO that it is possible for a user to upvote or downvote more than once on a single post (resulting in reputation changes for the author for each vote). After some data examination, we were able to confirm that this vulnerability exists (it is happening due to race conditions s...

2
 
 
3 hours later…
10:32 AM
Seems weird. A race condition that allows for duplicate voting? I guess this is what happens when you try to enforce data integrity in the application instead of the database?
4
 
@PaulWhite Eventual consistency in action.
 
I get the joke, but it's not even that. Pure garbage-in garbage-out scenario.
 
but think about the performance!
Instead of fixing the error or preventing duplicate data, we will use APPROX_COUNT_DISTINCT to check the number of votes and hope it evens out
 
...and run a huge daily job to scan the entire table looking for, and removing, dupes
 
Or, you know, a unique index.
 
10:47 AM
a plethora of fix-up bodge jobs is the hallmark of a well-designed system
@ConcernedOfTunbridgeWells a filtered one because some vote types can be repeated
 
Last time I heard the core workflow engine I wrote on DQPro hadn't been touched since 2015 when I wrote it.
 
and/or migrated to the community user when a user is deleted but votes preserved
 
The devs swear it's not because they can't understand my code.
 
regardless, the whole SO schema is not a great example of db design
 
@PaulWhite Could one not just have aliased the users on deletion?
Rather than physically deleting the user?
 
10:49 AM
@ConcernedOfTunbridgeWells better things are not possible in this world
 
6-8 weeks, right?
 
foundational principle
 
My current focus is automated testing and deployment of DB code. Because I can't rewrite the queries and add indexes until the end of eternity.
 
anyway it seems technical debt is a real thing after all
 
Sometimes you have to make the schema changes which are inherently risky.
On second thought, I should just make Erik do it. Save myself some time
 
10:52 AM
right
 
@PaulWhite Technical debt is also an accumulation of risk as well as baggage. It's not debt in the sense of an overdraft or mortgage. It's more like owing money to the mob - if you don't pay it down they eventually come round and break your legs.
 
yep
 
wow, that's a really good metaphor. Consultants are doing racketeering :)
 
It's fun sometimes to pretend that real databases were designed at all, rather than just coming into existence as raw data storage in a rush to get some sort of product to market.
As evidence, vaguely points at Database Administrators
 
Is there any other way?
 
If you're a startup, you don't have the money to pay experts. When you are successful, you focus on expansion and not tech debt. It's gotta take a near-death experience to make it a priority
anecdotally of course. I haven't done any research
 
Yes I know why the world is fucked up
I'm just stating that it is
No one really cares so long as they get paid
Including the mobsters
I bet the job that will do duplicate vote cleanup will run with NOLOCK
For performance
 
@PaulWhite Don't talk to me about NOLOCK - finally got one of the teams to clean up 1,400 NOLOCK hints in their ETL codebase, and it took the enterprise architect threatening to withhold signoff to get them to do it. Note that this happened on an IFRS17 project feeding their general ledger and external reporting.
Muppets.
Oh well, where there's muck, there's brass. Keeps us in a job, I suppose.
 
11:15 AM
Still makes me want to go farm chickens instead
 
11:26 AM
@PaulWhite I guess 'Middle Manager Nuggets' just doesn't have that ring to it.
 
12:06 PM
@PaulWhite @billinkc would approve
 
yeah I guess so!
 
Probably a bit rank and gamey anyway.
 
@PaulWhite you rang?
 
a mobster appears
 
Ha, another hidden chat functionality I've learned. Hovering over the mention shows the referencing message.
In a year or two, I'll be a chat pro.
 
12:11 PM
I'm told it's not hidden it's intuitive
That's what my invisible Apple manual claims anyway
 
saves a tree or two
 
whole forests saved by the lakh of a headphone port and charging adapter
 
@PaulWhite I do not possess an engineering degree, nor am I technically inclined.
 
that may be the least surprising message ever posted in this room
 
12:16 PM
saying things like that might incite a competition
 
655,040 messages in here since 3 January 2011
no way I'm reading all that
 
@PaulWhite +10 points
 
Still looking for the compilation of Stephen Fry calling Capt. Darling but it's escaped my google-fu.
 
GDPR maybe? The right to forget....
 
12:22 PM
@ErikDarling - depending on which side of the Atlantic you come from, these may or may not make a lot of sense.
 
Actually that should possibly have read: "The right to have been forgotten."
 
Stephen Fry was far and away the best character in Blackadder. Maybe Lord Flashheart came close.
General Sir Anthony Cecil Hogmanay Melchett, VC KCB
Even the name is funny
 
@ConcernedOfTunbridgeWells rob farley used to do this bit on me when i'd see him
i sort of get it
 
Hard to believe Farley does stand up these days
Still, Australians I suppose
 
@ErikDarling If you haven't seen Blackadder it was pretty good, particularly season 2 and 4.
 
12:27 PM
All but season 1 is great. Season 1 is just good
I should probably start my 5th rewatch
 
Quite a lot of subtle humour that might not translate to American
 
Could be worse. Could be Are you being served?
Or maybe Bottom
 
12:44 PM
OMG yeah
 
12:55 PM
I just usually don’t have time to sit and watch stuff
Occasionally a movie
 
Nobody does. That's why everyone's quoting stuff from years ago
 
You've missed your window
 
Plus, I can't think of many really noteworthy sitcoms that have come out recently.
Some folks rave about The Big Bang Theory but it left me cold.
 
Jokes are illegal now anyway
 
1:35 PM
Have all good questions already been asked?
 
1:49 PM
@PaulWhite yey to that!
 
2:11 PM
so I thought to myself, perhaps it would be helpful if I had a visual model of one of our main databases.
apparently that isn't helpful really.
each pixel at the end those lines is a table - I mean wow.
 
yeah that's not super-helpful is it
 
not very
I mean it's only 589 tables, so not overly huge. I wonder how it looks if it was printed on a large format plotter. Still not readable, I imagine.
@PaulWhite that's some next level sarcasm right there. The transcript for this place is golden.
 
@PaulWhite a veritable mine there
@PeterVandivier lol!
 
man, leave chat for like 6 months and completely forget all the weird markup inconsistencies
 
@PeterVandivier I love that every single chat app ever built is slightly different like that
there you go!
 
lol thx
 
2:50 PM
this is the user table, which only has 431 foreign key relationships. Oh and all tables (nearly all) have the last 5 columns listed, which is great fun.
and the reason for the table having 431 foreign key relationships directed at it.
I'm not sure, but I think deleting a user might be a fairly expensive process.
to print it out at 100% zoom level would take 336 48x36 inch plotter sheets.
and they say size doesn't matter
I think it's likely a good thing they didn't mention any of this in the job interview
 
Data flow model from something I just reverse enginerred.
 
what's worse, 431 foreign key relationships or none at all?
3
 
Partial. There are more tabs.
 
This place is turning into a whine cellar
 
@ConcernedOfTunbridgeWells yours is definitely bigger than mine
@mustaccio passiveaggressivenotes.com
 
3:01 PM
@HannahVernon Needlessly so, I think. It's the preliminary ETL for a general ledger feed on an IFRS17 programme. It's the worst case of enterprise fizzbuzz I've ever seen.
And really badly implemented. £12 or 15m depending on who you ask, and none of the decision makers have any background in large technology projects.
'We're non-technical.'
 
'We'll make a business decision.'
It's a candidate for the most incompetently managed project I've ever seen. And I mean incompetent in true sense of the word. Even the consultants from a nameless big-5 firm have no background in large technology projects.
Dunning-Kruger effect in action.
They don't know what they're doing and lack the cognitive faculties to realise they don't know what they're doing.
 
mmm tasty. The greatest thing about the Dunning-Kruger Club is that you don't know you're a member.
 
Indeed.
It's terribad.
 
ironically, people usually think they understand D-K better than they do
 
3:06 PM
what are you saying
 
I'm in the top 5% of people understanding the Dunning Kruger effect.
 
@ypercubeᵀᴹ what are your thoughts on a design that adds 'created_by_user_id` to almost every table and FKs each one to the users table
I suppose it allows them to say they've used foreign keys in db design on their CV
4
and worked with 'complex designs'
 
@PaulWhite I don't know, my guess would be some kind of multitenant database or auditing requirements. all paths leading to lunacy ;
 
@mustaccio ^
 
3:55 PM
i don't wanna.
 
Have some moist mayonnaise
 
I had never heard of the thing before I saw your tweet
Oh I see
Sounds awful
I wonder who thought that'd be a good idea
 
AMERICANS
 
Seems possible yeah
 
4:03 PM
I enjoy a good chocolate mayonnaise cake.
 
@JoshDarnell How have you lot not been invaded yet
Baked fish, mayonnaise, butter, and onion surprise
Servings: Infinite because no one in their right mind
Also what sort of measurement is a "cup"
What's next lamb baked in ketchup?
 
@PaulWhite we were, by the Canadians. but they were so horrified that they retreated and closed the border
 
I see
 
shame really. they just didn't realize that butter:America::Maple Syrup:Canada
 
My wife and I made grits yesterday with breakfast. Butter, cream cheese, and heavy cream were all added during the cooking process.
 
4:17 PM
No moist mayonnaise?
Was it dry?
 
4:53 PM
@PaulWhite Ha!
 
5:04 PM
@PeterVandivier twice I might add.
 
5:24 PM
most invaders are repelled; our invaders are repulsed
 
5:49 PM
@mustaccio JEAGL please?
@JoshDarnell How long did you cook your grits? Were they instant grits?
 
@Zikato I'd have to ask my cousin, Vincent.
2
 
6:08 PM
@Zikato Just scroll up a bit above to experience the moaning of poor DBAs to whom all the bad people do all the bad things
And then there's moist mayonnaise
For good measure
I'm not immune
Apr 29 at 14:19, by mustaccio
I sure hope that this UPDATE statement I'm looking at, in all its 1.5 MB, 22800 lines of code glory, with 4150 parameter markers, was generated by some monstrous tool and not written by some equally monstrous human.
Which just proves Paul's point
 
7:03 PM
I sensed a great disturbance in the force. It was as if millions of chickens cried out in terror and were smothered in mayonnaise. My 11 herbs and spices must be cautious
2
 

« first day (4192 days earlier)      last day (51 days later) »