• 3 Posts
  • 209 Comments
Joined 1 year ago
cake
Cake day: August 4th, 2023

help-circle


  • At work, I switched my work machine from the PC-Support-department-imaged Windows OS (I think it was Windows 7 at the time) to Arch Linux on a foregiveness rather than permission basis. (Several of us did it at the same time and kindof dared them to fire all their best developers over it. It was glorious. But that’s a story for another time.)

    Then came the day I needed to print to the network printer. I apparently misconfigured CUPS. I hit the print button. And then I got distracted by something. After that got resolved, I went to the printer, which had been printing pages of gibberish for the past like 20 minutes straight. The stack of papers in the “out” tray was approaching phone book levels of thickness.

    Ewps.

    Nobody ever figured out I had anything to do with it. (The printer was off in another part of the office anyway.) I fixed my CUPS configuration and was able to print correctly thereafter. But it’s a good story.


  • FizzyOrange got it right. “Screen grab” is nicely asking a graphical system (X11/xorg-server or a Wayland compositor or whatever) via an api to give you an image of either the whole desktop or some particular rectangular part of it. And you can do it 30 times every second (or more) to get a video. OBS uses such APIs to get video from the screen for saving to a file or streaming to Twitch or whatever. Various tools can be used to get screenshots and save them to files. Etc.

    Heck. On my work machine, because they require us to meticulously log the time we spend on individual tasks, I’ve got a script running that uses ImageMagick’s import command to grab screenshots of my desktop and save them to files once every 5 minutes so I can refer back to them while logging my time.

    And as FizzyOrange said, various Wayland compositors have workarounds for the fact that there isn’t (or rather wasn’t until recently) a way to do screen grab in a standard way that would work across all compositors which properly and comprehensively implement the Wayland protocol. I use Sway on my personal machines and it’s based on something called wlroots which has built-in a nonstandard extension to the Wayland protocol that allows screen grab. But once wlroots adopts the new standard way of doing screen grabbing, the nonstandard extension will be unneeded/obsolete.


  • Oh shit! I hadn’t heard they’d finally added that. That’s awesome.

    Maybe that means FFMPEG and Zoom will start supporting it soon.

    On my personal systems, I use Sway (a Wayland compositor). And I sometimes wish I could do screen grab with FFMPEG, but so far I haven’t wanted that enough to actually switch to X11 or use wl-screenrec.

    On my work machine, I’m on Ubuntu and I have to use Zoom and screen sharing is kindof a non-negotiable thing. (Plus, FFMPEG screen grab is nice to have on my work machine as well.) So I use i3-gaps on xorg-server. Except for those two things, I’d rather use Sway.







  • If you’re thinking it may be malicious, I think it’s innocuous.

    Try cat’ing /etc/skel/.bashrc and see if the code in question in in there. My guess is it will be. When a new user’s home directory is created, it copies all the files from /etc/skel into the newly-created home directory. So, that directory is basically a “new user home directory template.”

    The code you posted (is missing an fi at the end, but anyway) just looks like a utility for making it easier to organize your .bashrc into separate files rather than one big file. That’s a common technique for various configuration files that a lot of distros commonly do. And I personally find that technique nice.

    If you want to delete that code, it’s not going to hurt anything to remove it (unless someday you add a ~/.bashrc.d/ directory and some file in there “doesn’t work” and it confuses you why.)

    Also, what distro are you on?





  • No joke. I’m ashamed to say I have had to endure Weblogic in the past. God was that time a massive clusterfuck.

    The company I worked for decided to use two particular separate products (frameworks, specifically; ATG and Endeca, even more specifically) to use in tandem in a rewrite of the company’s main e-commerce application. Between when we signed on the dotted line and when we actually started implementing things, Oracle acquired the companies behind both products in question.

    The company should have cut their losses, run away screaming, and started evaluating other options. That’s not what happened. Instead, they doubed-down and also adopted several other Oracle products (Weblogic and Oracle Linux on (shudder) Exalogic servers) because that’s, of course, what Oracle recommended to use with the two products in question. The company also contracted with Oracle-licensed “service integration” companies that made everything somehow even worse.

    And the e-commerce site rewrite absolutely crashed and burned in the most gloriously painful way possible. They ended up throwing away tens of millions of dollars and multiple years on it.

    When the e-commerce site rewrite did happen, it was many years later and used basically only FOSS technologies. I guess at least they learned their lesson. Until the upper management turns over again.



  • TootSweet@lemmy.worldtoProgrammer Humor@programming.devJava Was The Future
    link
    fedilink
    English
    arrow-up
    21
    arrow-down
    1
    ·
    edit-2
    2 months ago

    I write Java for a paycheck, but I really hate it.

    It feels like everything is layers and layers of overengineered cruft, each added to the precarious tower for something extremely minor. But every subsequent card in the house of cards makes it more precarious. “But look, I don’t have to write accessors.” “But look, I eliminated the need for the web.xml file.” “But look, I don’t have to understand SQL now.” But look, the codebase depends on a shit-ton of completely opaque Automagic™ that you have no hope of understanding the moment something goes wrong – which it will if you even think of changing your Java version. And since it’s practically impossible to understand what’s going on under-the-hood of whichever dependency is fubar’d this week, you have to resort to a mixture of trial-and-error and copy-pasting shit (that you also don’t understand) from StackOverflow and praying to Cthulhu something works – which is also trial-and-error because Java questions in particular have tons of just straight up wrong answers.

    To be fair, I’m the guy on my team who people come to when they run into those sorts of “I bumped up one subminor version of Mockito to fix a bug that was preventing my unit test from working but now literally half of our unit tests won’t build” or “I added the war plugin to the build.gradle and now SwaggerUI is broken.” So maybe I see more than my fair share of “well shit, I guess I’ll just spend the next three hours hunting down which magical combination of Jar version numbers will fix things” kind of problems. But damn. This shit didn’t ever happen back when I was doing Python for a paycheck.

    I don’t use Java if I don’t have to. If I have to use Java, I prefer to just use Servlets (mostly I do web development) and absolutely as few dependencies as I can possibly get away with. Fewer moving parts mean less that can break.





  • TootSweet@lemmy.worldtoProgrammer Humor@programming.devA QA engineer walks into a bar
    link
    fedilink
    English
    arrow-up
    16
    arrow-down
    1
    ·
    edit-2
    3 months ago

    To be fair, the team at the time was all business majors. (Is “Computer Information Systems” what they call that degree most places or just at my alma mater?) I think I was the only computer science major there.

    They’d done a surprisingly admirable job of cobbling together a working e-commerce, loss prevention, customer sercvice portal, orderfulfillment, and CMS suite. And their schooling was in, like, finance, MS Office, and maybe one semester on actual programming.

    None of them had ever learned how to count in binary. Let alone been exposed to 2’s compliment. And there were no QA engineers.

    Oh, there was the sysadmin. He had a temper and was a cowboy. If you asked him to do something, it’d be fuckin’ done, man. But you did not want to know how he made sausage. The boss asked him to set up a way for us to do code reviews and he installed Atlassian Fisheye/Crucible on a laptop under his desk. We used that for years. And a lot of the business logic of the customer-facing e-commerce site lived in the rewrite rules in the Apache config that only he had access to and no one else could decipher if they did have access.

    Those were good times. Good times.