Skip Navigation
Let me pull this out of my ass
  • 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.

  • Let me pull this out of my ass
  • 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.

  • Stonehenge not visibly damaged by protest paint. It's clean and ready to rock the solstice
  • Agreed. The more we argue about the "how" of the protests, the more we're distracted from what they're actually protesting about. The most effective way of stopping people complaining about something isn't to shut them up, but to fix the thing.

    If someone's poor and can't afford to buy food, no amount of fines or jail time will prevent them from going back to stealing food the second they get out because - guess what - they're still fucking poor. There's a food bank near where I lived a while ago that notoriously had long lines. Slowly shuffling forward in a queue that screams "I'm poor" must be uncomfortable, but they're still not stealing food while they have an alternative.

    If you want people to stop vandalising shit in their outrage over exploitation and greed, fucking do something about the exploitation and greed. I'm sure those people could have thought of more pleasant ways to spend their time than creating their cornflour pigment, driving out there and getting arrested to make a point without leaving lasting damage.

  • Britain’s richest family sentenced to 4 years in jail
  • You know it's bad when even a two thousand year old gospel considers "rich people don't go to heaven" to be divine wisdom. It has always been thus.

    There's no way the CEO of my last company - making a cool 6mil one year that I saw an article about the shareholders paying him a bonus of another few mil - works 125 times as hard as my 48k (gross) ass.

  • Make sure to look it up.
  • Instead of trolling kids that get pissed when their game shuts down mid-match and learn not to trust the internet, they get disgusted for life and learn not to trust the internet and also how horrible a place it can be.

  • Vegan Firefighter Loses Groundbreaking Discrimination Case
  • At every school, university or company cafeteria I've been to, I've seen vegan options. I've heard second-hand stories from acquaintances in small companies where they were the only vegan, and there was still some accommodation.

    How ass-backwards do they have to be to deny even that?

  • Microsoft Edge nags users with a 3D banner to change Windows 11's default browser
  • Ah, gotcha. Yeah, that's one of those cases where you either add support yourself (provided you have the time, know-how - which most already don't - and commitment) or wait until hopefully someone else does. Or - like me - you curse and go back to X11 until something gives you enouhh confidence to try Wayland again. I think I read somewhere on this platform that there will be (or was?) some Nvidia driver update that should help with Wayland support, but I haven't looked into it.

    I don't have much experience with laptop hardware. I did have one elderly laptop running Ubuntu, though it probably would have been served better with something more lightweight (I just didn't know much about anything at the time). But that wasn't doing anything intensive, just some Uni exercises. I think a simple neural network was the most challenging thing it ever had to handle.

  • Microsoft Edge nags users with a 3D banner to change Windows 11's default browser
  • I've got working Nvidia drivers without any tinkering. Gaming on my 3060 without issues. Never had microphone issues either. This isn't supposed to be "You're wrong", more a "I wonder what I'm doing differently".

    ASUS TUF GAMING B550 MoBo, AMD Ryzen 5600x, some Gigabyte version of the RTX 3060, running the Nvidia version of Nobara (Fedora-based gaming oriented distro).

    What distro did you try?

  • The disturbing online misogyny of Gamergate has returned – if it ever went away
  • I imagine the answer is "what's the real world?"

    I'm being facetious. I don't want to assume they all fit the stereotype of nerd that never leaves his room if he can help it.

    They can probably either mask their hatred well enough, or they're in a place just as bigoted, which may have fostered their convictions in the first place. They go through their interactions with the real world seething with anger and bitterness, then seek relief in video games.

    At their heart, they're no different from anyone else seeking to escape the unpleasant reality through some media - be that through building a peaceful farm, fighting powerful enemies, reading a gripping story or watching sports. They can't actually fight the circumstances that cause their pain (or at least think so), so they flee instead.

    It's reallly just the source of their pain that's so much more toxic, which in turn leads to a toxic result that ends up poisoning their joy in life even more. Most likely, they've been fed that poison by someone exploiting their vulnerability and unhappiness by giving their aimless frustration a target, reassuring them that someone else is to blame for their misery. It didn't lessen their misery, but at least it gave the question "why am I suffering?" a satisfying and concrete answer. "It's not you. It's not some random and unpredictable circumstance that you have no control over. It's these people that you can do something about."

    Except you can't actually do anything about "these people", but you can at least construct a fantasy of an ideal world without "these people", where naturally you're doing much better too. In the specific case of the toxic gamers, they're looking to video games for manifestations of that world, for places they can immerse themselves in and be free from the troubles of the real world.

    If these games fail to sate that fantasy, to provide an environment they seek where they're powerful and "safe" from all the things that make them upset, that rage is taken to the forums and echo chambers where they share their suffering with each other to ease and validate it. It's one thing if there's some niche indie game made by "these people" - they're on the outskirts of the gaming world, you can easily ridicule or ignore them. It's another thing when there's a game placed front and center, getting all the attention and hype for a moment, and that game is full of things that hurt you.

    For a twisted comparison, imagine if a new game got all the hype and (positive) attention, despite being full of Nazis, presenting them as entirely normal or even good people. You'd (rightly) be upset too. The difference - aside from the subject - is that your upset lilely isn't born from a stock of thoroughly curated hatred and anger. You'll probably not muster the same rage as these people, because you don't have it bottled up already.

    I say this because I've been a hateful person too once. Not as bad as some of these specimens, but bad enough to know the spiral and to guess how much unhappier I could have been, how much unhappier they must be. They're victims turned abusers, and while that doesn't excuse their behaviour, it may help us understand where it comes from and give us an idea of what to fight:

    Bigotry is born from misery seeking an outlet, fertilised by ignorance, nurtured by confirmation bias. The better our lives get, the less reason to look for someone to blame. The more we learn to think critically and question the lies we're fed, the less that "someone" will be a convenient target keeping us in the spiral. The more we're exposed to things that contradict our bias, the weaker it will get.

    The last bit is what broke me out of the loop, the second is what saw me crawl back up the spiral and unravel my convictions.

    Life's still tough, but at least it has gotten a lot less hateful and miserable since I stopped feeding the hate and blaming others for my own deficiencies and started working on myself.

  • Because it takes slightly less mental energy to sit and stress than to do the thing.
  • As a low support / "high functioning" (which feels like a toxic phrase for "good at masking and compensating") autist, it's easy for me say "I'm just different" and blame my disadvantages on a society that fails to accomodate for that divergence. I often stay away from spaces where I know I won't be comfortable, I miss out on events I fear may overwhelm me, I retreat when I don't feel like I can handle navigating the minefield of social interaction. I'm excluding myself from things, because I know (or fear) those things won't cater to my differences, but I'm not universally unable to participate, so it feels less like a disability to me (more on that later).

    That most certainly doesn't hold for people whose "functioning" is more severely impaired. If you respond to unexpected changes with anxiety attacks because you can't adjust quickly, that certainly presents a disability in the literal sense and a challenge in dealing with everyday occurrences.

    I feel like the shift away from calling it a disability is partially due to the stigma of treating people with disabilities as lesser, partially because it's not always a visible physical disability and I've seen people argue that it's not a real disability. Both of those are bad, but instead of engaging them, It's sometimes easier to sidestep. Instead of arguing whether I'm disabled or not, I'll call it a neurodivergence, because my brain being different is something that's beyond argument.

    There is also the opposite to disdain or dismissal: Pity or praise. Instead of treating me as defective or overdramatic, some people have responded with some form of "oh you poor thing, that must be hard" or "you're so strong, making your way through life despite those challenges".
    The first one may be half-right, but it just feels like something you'd say when you don't know what's appropriate and are trying to play it safe with the empathy angle.

    The second feels hollow, because I don't feel stronger. I struggle far more than I could even express, because expressing thoughts in itself is a struggle. I spent forever writing this comment. To consider myself stronger than others would require me to somehow quantify my difficulties and weigh them up against theirs. I don't think that's productive. I think it will lead to some form of "suffering olympics", which is a mindset I'd like to avoid.
    And really, what else would I do? Sit in a corner and cry about the injustice of the universe? Might as well curse the sun for being hot, it doesn't change anything. Better to look for shade instead of dwelling on the problem.

    I don't want people to treat me like I'm subhuman, nor like I'm superhuman. I don't want people to invalidate my difficulties, nor make a point of dwelling on them. I want people to acknowledge that this is how I work, to understand if I'm doing something "wrong" or have difficulties, possibly help me if it's reasonable.
    I don't need a lot of accommodation, just some patience, understanding when I express myself poorly or do things a certain way that suits me more and maybe someone to handle difficult communication on my behalf. So I wouldn't describe myself as disabled, whether or not that would be accurate, because of the social baggage that word carries. I'd rather leave the relevant help resources for those that need it more.

    That's not to discount anyone else's self-description. If you feel like "disability" fits your condition, I'm not going to invalidate that. You know your experience better than anyone else. In fact, I can see an argument that my self-exclusion as response to my difficulties presents some degree of disability to participate.

    I'm still fighting my own preconceptions on that, and it probably is part of the reason I don't feel like disabled is an accurate description for msyelf. I've grown up with a certain set of convictions and prejudice that I've deeply internalised. I've mostly managed to expunge them when it comes to others, occasionally still catching myself in some judgmental train of thought and then consciously derailing it, but I have difficulties accurately and productively reflecting on my own self-perception. In a way, it's both the least outwardly toxic, yet most self-destructive form of hypocrisy, and I don't know how to deal with it.


    As for the romanticisation, I feel like that might be the result of efforts to fight the stigma having overshot their goal due to survivorship bias. Yes, people with ASD may have unique talents too. Yes, we're not all entirely disadvantaged. Yes, ASD doesn't automatically make us strictly less capable.

    But most of us aren't some insane genius. You just wouldn't make a big deal out of the average, so the media report on the extraordinary instead. And if someone's only contact with the topic is through media that show the savants, it's easy to forget that what they see isn't representative.

  • Plasma 6.1: The BEST LINUX DESKTOP
  • I might be the minority, but I'm more inclined to click a video that says "Plasma 6.1: Release, features and my opinions" than one that proclaims it THE BEST THING (unless it's from a creator I already know and like anyway, they get a pass as long as the content is good)

  • Don't make a mistake in choosing a distro
  • Sure, but the common consensus seems to be that you shouldn't be annoyed at the constant updates when that's an explicit feature of that system. Maybe that's just a misreading, but I assume the expected reaction would be "Not now" rather than "Not again".

    (I'm not taking a position, as I've never worked with a rolling distro and can't really comment on either stance, just trying to navigate the confusion here)

  • Pipewire default capture device per stream

    My use case is splitting audio into separate channels in OBS for Twitch Streams so I can play music live without getting my VoDs struck. If my approach is entirely wrong for the use case, I'm happy to scrap the whole thing and sign it off as learning experience.

    My solution is to use virtual sinks that I record through Audio Sources in OBS. I've got two loopback-devices (config at the end) with media.class = Audio/Sink, assign my playback streams to the relevant output capture. The loopback of each is then passed on to the common default (physical) output device, namely my headphones. So far, this has been working great for me, aside from minor inconveniences:

    The first is that I want certain apps or playback streams to automatically be assigned to the capture sinks upon starting the app. I had a working pulseaudio¹ setup on Ubuntu where I used pavucontrol to set the output once per app and it remembered that setting. Every time I opened that app, it would direct its playback streams to that sink. I migrated to Nobara and opted to try configuring pipewire (directly)² instead. The devices are created correctly but every time I (re-)start a relevant app I have to go set its capture device again.

    The second is that occasionaly upon logging in, one loopback stream will initially be passed to the other sink instead of the default output, which resolves upon restarting pipewire³. Is something wrong with my config? Both have the same target.object and restarting it fixes it, so I'm guessing it may be some race condition thing where the alsa_output isn't initialised at startup yet, but I don't know how to diagnose or fix that

    ----

    1: I have since learned that apparently it's actually still pipewire parsing that config, but the point is I configured it through ~/.config/pulse/default.pa

    2: ~/config/pipewire/pipewire.conf.d/default-devices.conf

    3: Trying to set it in pavucontrol doesn't work and keeps resetting that playback's output to the given sink if I try to select the correct capture device. Repatching them in Helvum does the job, but then pavucontrol just shows blank for the device (doesn't interfere with controlling the volume, but maybe it's relevant for diagnosing)

    ----

    My current ~/.config/pipewire/pipewire.conf.d/default-devices.conf:

    context.modules = [ { name = libpipewire-module-loopback args = { audio.position = [ FL FR ] capture.props = { media.class = Audio/Sink node.name = vod_sink node.description = "Sink for VoD Audio" } playback.props = { node.name = "vod_sink.output" node.description = "VoD Audio" node.passive = true target.object = "alsa_output.pci-0000_00_1b.0.analog-stereo" } } } { name = libpipewire-module-loopback args = { audio.position = [ FL FR ] capture.props = { media.class = Audio/Sink node.name = live_sink node.description = "Sink for Live-Only Audio" } playback.props = { node.name = "live_sink.output" node.description = "Live-Only Audio" node.passive = true target.object = "alsa_output.pci-0000_00_1b.0.analog-stereo" } } } ]

    6
    InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)LU
    luciferofastora @lemmy.zip
    Posts 1
    Comments 281