That’s an awful idea and you are an awful person for suggesting it.
…and I am an awful person for considering the idea
That’s an awful idea and you are an awful person for suggesting it.
…and I am an awful person for considering the idea
Thank you. Funny enough, just today I chatted with a colleague that mentioned one of the tools was technically available to us, but actually not approved for use. Ordering it wouldn’t be an issue, but getting it signed off would be quite the chore.
The fun comes when there is no actual data model. All in all, I’d say being familiar with the data model is about 60% of my job. 35% is building queries and query scripts for people who need regular exports. 5% is running after other people’s fuckups.
Strap in, because this is a ride.
There is a raw database from a decade-and-a-half old app, which I get to access through a layer of views that does some joining, but not all, with absolutely no documentation on how the original database is structured or where things are pulled from or what anything refers to. No data dictionary, no list or map of key relations, some objects are mapped in two different views, no semantic naming of columns.
If you want to want to query order part delegations by who they’re assigned to (Recipient in the app) you need to use the foreign key RefAssignmentUnit
. The “Assignment” unit that did the delegation is just RefUnit
. If you have orders that were created by a salesperson on behalf of a customer, OrderingPerson
(also a foreign key, but not named Ref-) is the customer, while OrderingPerson2
is the salesperson that entered the order. Don’t confuse that with Creator
, which for orders created through the web form is usually a technical user, unless the salesperson is one of the veterans that use the direct app in which case it’ll be the salesperson while OrderingPerson2
is null.
Also, we have many-to-many relationships that are mapped through reference tables… whose columns are named object
and reference
for each and every one. Have fun trying to memorize which refers to which so you don’t need to look it up every damn time.
Create my own views to clean this up? Nope, only the third party service providers for the app can do that, and they don’t wanna. Our internal app admin (singular) can use some awkward tool to generate those views, but there’s no reverse lookup to see what a given column refers to. Also, they have no concept for what actually constitutes a good model because they’re not really familiar with the database, just with the app.
Get my own serverless DB to create views that query the original DB? No can do, you’d need to order a whole server and that’s pricy.
Get a cloud DB? Sure, but it will be managed by the cloud team and if you want to have or edit custom views, you’ll get to create a project request. They’ll put it in the backlog and work it into some future sprint.
Get literally any tool that allows me to efficiently create reusable data prep so I don’t have to copy & paste the base transformations needed for a given query every fucking time and if the source DB ever changes I need to update all my query scripts? If you can somehow squeeze the time to prepare a convincing pitch - a full Power Point presentation, of course - between all your tedious and redundant query preparation and script maintenance, find a management sponsor willing to hear you out and hopefully propose your request to their superiors. Best case: It becomes a whole project - alternatives will have to be considered first, implications, security, costs, and you’ll be the one having to assemble and present that information to management only to have some responsible person point out that it would actually be the remit of a different team… that also works in sprints, has a backlog and will give you no control over your prep.
And obviously, the app provider doesn’t give us any advance notice of just what will change in the DB with the next update. We only learn that when a view breaks. The app admin can use the tool to refresh the affected views then, while I scramble to determine all the scripts that need to be updated and copy&paste the fix. If a user has been granted their own access to the database, odds are they’ll come crying to me when their modified versions of my queries break.
There is a lot I like about my job, I acknowledge the difficulties of a historically grown system and service contracts, but the rigid and antiquated corporate culture can go take a long walk off a short pier.
Aw shite, I’ve been pedant-baited? GG
Taken literally, that implies you do care.
(To mitigate the pedantry: Given it’s a rather dispassionate response in the context of a provocation, it is probably a very weak “care” though. Just because it’s nonzero doesn’t mean it’s significant.)
Last I heard, there were some issues about who owns the IP and copyrights? I’m not overly familiar, but legal jungle combined with corporate politics may be scary enough to navigate that Miyazaki would rather be careful around making explicit statements
Survivor Bias - you only see the ones that “survive”, which may lead you to underestimate just how many tried and failed and vanished from attention.
A chunk of their target audience aren’t really gamers so much as FIFA players. They don’t buy a lot of games, so they don’t mind splurging on the newest and most up to date installment of their favourite soccer sim once per year.
Two years
A few major events
My god, they must’ve really fucked up their shit
A boomerang is a clip that plays and rewinds in a loop, like it’s flying to the end of the clip and returning like a boomerang.
I don’t even use Instagram myself, why do I know this
I think the issue is that it’s not also millenial-universal. If only some millenials know it, the rest of us is left out.
I can still operate the iPod though, so I don’t need to know who it is to look for and select.
If you’re looking for good code, you missed the point of my comment 😄
If I was looking for an enumeration of valid inputs, I’d make it a selection box rather than a text field that’s supposed to contain a number and give the selections reasonable names. If I want an integral quantity, I’d use a number input field.
If I have no control over the frontend, that means I’m writing a backend in JS for a bullshit frontend, and no amount of good coding practice is going to salvage this mess.
I’m also blessedly far away from WebDev now. I work in Data Analytics and if I ever have to do any of this for a living, something has gone very wrong.
Converting texts into numbers or dates still haunts me though - fuck text inputs for numbers and dates.
Some Sekiro, some X3: Terran Conflict. Taking on a whole squadron of enemies with a single (albeit powerful) ship to calmly dispatch them one by one is just the perfect mix of cozy and power fantasy for me to wind down between the more fast-paced sections of “Let’s chop you down as fast as possible because the longer the fight drags on the more mistakes I’ll make”.
But what if I don’t want strict comparison? What if my frontend contains a text field for a numeric input and I wanna manually check against each possible valid input value if (input_val == 1) {...} else if (input_val == 2) {...} else if...
without having to convert it first or check that it’s actually a number or fix my frontend?
(I’m sure there are valid use cases for non-strict comparison, I just can’t think of one right now)
Recognising an issue vs diagnosing it vs. figuring out a treatment. You can notice chest pains and shortness of breath, perhaps make an educated guess that it could be a heart attack, but it’s going to take an expert to diagnose whether that’s actually the case and what course of action to take.
That is Popper’s own proposed solution for that paradox: Tolerance is not to be extended to the intolerant.
He suggests trying to work within the bounds of the contract first (talking, reasoning, voting etc.), but if that fails or is impossible endorses the censorship and suppression (violent, if necessary) of the intolerant. Try the high road, but be willing to acknowledge when that road is a dead end and ready to correct course in time.
…along with calendar weeks being entire weeks, not bullshit like 5 days of CW 53 and 2 of CW 1. This matters when dealing with BI facts that continue through NYE.
Do you know how infuriating it is to view analytics by calendar week with two major dips around new year’s because the week is split in two?
Bonus points: “Sure, you can set the week aggregation to consider weeks starting with Monday, but if you filter for the last X calendar weeks, you’ll have the last week’s sunday omitted from the stats and an orphaned Sunday before the first week yoh actually wanted.”
Support international standards, you bloody imbeciles.
Got stuff at work (Microsoft services, for the record) that’ll work in Edge or Chrome, but not entirely in Firefox (gee, wonder why)
Between Steam’s Proton Compatibility Layer and Lutris, pretty damn fine.
That’s grotesque and you have my condolences