So Wario, then? Maybe that makes Android Waluigi.
So Wario, then? Maybe that makes Android Waluigi.
Yeah, I do know about that. (You’re referring to the PPA repo thing, yeah?) But there are a couple of reasons why that isn’t a workable solution specifically for me specifically.
So I just use Chrome on my work machine. I dislike Chrome more than Firefox for many reasons, but I at least mitigate some of the issues with Chrome by specifically not doing anything personal on my work machine. I don’t really care if Chrome invades my employer’s privacy. Especially when my employer doesn’t give me a choice in browsers. If anything comes of it, it’s their own damned fault.
Yeah, why does Ubuntu keep snap?
Like, WTF is the deal with not having any official way to install Firefox other than snap? Firefox.
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.
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.
Back when I was the “new guy” code monkey at a fairly sizeable brick-and-mortor-and-e-retailer, I let the intrusive thoughts win and did some impromptu QA on the e-commerce site. (In the test environment. Don’t worry.)
It handled things like trying to put “0” or “-1” or “9999999999999” or “argyle” quantity of an item in the cart just fine.
But I know my 2’s-compliment signed integers. So I tried putting “0xFFFFFFFF” quantity of an item in my cart. Lo and behold, there was now -1 quantity of that item in my cart and my subtotal was also negative. I could also do things like put a $100.00 thing in the cart and then -1 quantity of something that cost $99.00 in the cart and have a $1.00 subtotal.
(IIRC, there was some issue with McDonalds ordering kiosks at one time where you could compose an order with negative quantities of things to get an arbitrarily large unauthorized discount.)
The rest of my team thought I was a fucking genius from that moment on. I highly recommend if you’re ever the “new guy” dev on a team and want to appear indispensible, find a bug that it would never occur to a QA engineer who doesn’t have a computer science degree to even test for.
I’ve literally told my coworkers “I’m not saying we should never use dependencies. But every time you add a dependency, you should hate yourself a little bit more. Some self flagellation can’t hurt either.”
My experience is similar. I don’t play YouTube videos on my 4B with 8GB of RAM very often. When I do, I make sure it’s well less than a quarter of my 1920x1080 screen. (I use a tiling window manager, so I usually just make my browser window the top-left quadrant of my screen and don’t theater-mode or anything.) And I often reduce the quality to 480p or whatever.
If I’m going to watch something longer than a few minutes and want to be doing other things on my Raspberry Pi while the video is running, I’ll just pull it up on my phone propped next to my monitor.
Remember when if your aunt wanted you to build her a computer that she’d only use for “web browsing”, that meant you could opt for the cheap components?
I’m familiar with and practice atomic committing habits. Still seems excessive.
If I ever saw a Github commit history like that, I’d be concerned.
Quality over quantity, hackers.
I’d just like to interject for a moment. What you’re refering to as WSL, is in fact, GNU/WSL, or as I’ve recently taken to calling it, GNU plus WSL. WSL is not an operating system unto itself, but rather another free component of a fully functioning GNU/Windows system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.
I think that’s just how every Rust developer learns Rust.
Preferably taxpayers. Not that that part of the analogy relates to Ubuntu.
Yeah, but Canonical locks security patches behind payment or signup, not just support.
Seems really dodgy to me making your business model holding security features hostage for either money or sign-ups, honestly.
Kindof like charging people for vaccines against deadly diseases or something.
But then again, my craw may be extra susceptible to sticking when it comes to such things.
If you’re not paying for the product, then you’re the product.
(I don’t believe the above quote to be absolutely true, but I’m not sure what motivation Canonical could have to lock some features of the OS behind a free account except $$$.)
Great question! Not really my area of expertise, but probably there are at least a couple of possible avenues. One is decompilation and/or disassembly and static analysis. (Basically use automated tools to reconstruct the original source code as best it can and then read that imperfect reconstruction of the source code to figure out what it does.) Another is isolating it (“air gap” – no network or connectivity to anything you care about) so you’re sure it can’t do any damage and running it with tools that record/report everything it does. (On Linux, one could use strace
and/or GDB. On Mac, dtrace
. Not sure what the equivalent is for Windows programs running on Windows.)
Actually, I guess another option could be to set up an isolated system, record a whole bunch of information about it before running the .exe then after running the .exe, examine it to see what you can find on the filesystem or in the registry or in RAM or whatever that might have changed. It wouldn’t catch everything, though. Like if it made a network connection or something but didn’t actually change anything on the filesystem, it might not leave any traces.
Whatever the case, it’d probably require some specialized tools and expertise. But it’d be an interesting project.
Add one more adapter to plug that 1/4" into a sound card, plug a printer into the other end, and then hire Abdul Alhazred to write a Cups driver.