Just some Internet guy

He/him/them 🏳️‍🌈

  • 0 Posts
  • 579 Comments
Joined 3 years ago
cake
Cake day: June 25th, 2023

help-circle




  • It really depends, most people end up specializing into specific things they work on as software has generally become too big for single developers. We have people that only do frontend stuff so things look nice on the website, some only deal with the database and making sure we return results as efficiently as possible.

    I started off doing the typical full stack but I’ve since branched off into DevOps so now I’m responsible for a few hundred servers across the globe that I keep updated and running smoothly.

    Sometimes I work on new tools, sometimes I spend days tracking down weird problems, sometimes I’m rushing hotfixes because something is repeatedly crashing in production.

    It’s worth noting that because you can click through UIs these days doesn’t mean that scales as you go. You can go spin up your app in a container in the cloud mostly through UI, but soon enough the defaults aren’t enough. I manage several hundreds of instances across a few clouds, I’ll well, well past clicking next next next finish. It’s just an easy and visual way to ease you into things, especially for beginners, as all the options available to you are there to see along with little help tooltips explaining what a setting does.

    It also depends on what you do: if you work at a startup, clicking through Cloudflare’s dashboard is more than enough. When you have thousands of customers, you’re not managing the tens of thousands of settings you have to configure, you automate.

    Code can describe things (HTML, CSS, HCL), code can configure things (YAML, JSON, Ansible), code can program things (PHP, JavaScript, Python, Ruby, etc), code can query things (SQL), programming as a whole is very wide.




  • Apps from outside the Play Store? No, because previously your phone had no reason to ask Google anything. You could always not sign in to Google and disable Play Protect and use F-Droid and Obtainium.

    But now, it needs to check developer signatures to know if it’s a verified developer, and it obviously can’t cache all of them as the size would be insane.

    And that in turn implies that your phone needs to reach out to Google and be like yo, is this app banned?

    That query gives them at minimum the IP of the user, the package name, and the time at which it happened.

    And thus they can effectively track anyone using say, privacy apps, making it that much riskier to use them in places where they’re not allowed.

    For your “safety”.



  • Arguably, if it was normal to sideload apps it wouldn’t be as much of a barrier to users, but they’ve been conditionned to think they need an app and the only place you can ever get them is the store.

    It’s a technical hurdle only because Apple decided they want to control everything, and same on Android because of Google’s ever increasing war on sideloading. You used to download an APK from the browser and it would go like “This is an app! Install?”, but now you have to go enable third party installation and all that, and now the whole Play Protect forcing developer validation coming up.



  • No way. iPhones don’t exactly allow bootloader unlocking to begin with, but even if you could, it would be in no better state than Asahi on the M1 Apple computers. Every driver would have to be written from scratch.

    Pixels are a good platform for custom ROMs because until the recent drama, you could literally just build AOSP as-is and use it. So the GrapheneOS team only really need to focus on their changes to the OS and their apps and none of the drivers and modem interface and all that. That’s also why GrapheneOS runs so well on it: Google provided everything, it just works.

    iPhones would be the absolute worst phone to develop for: zero support from Apple, no drivers no documentation, no nothing. Not even a Linux kernel! At least for Android, the Linux license forces manufacturers to publish the source code, so at minimum you start with something that should boot and contain all the stuff to talk to the hardware already, just need to wire it in with userspace drivers. CPU manufacturers like Qualcomm also provide a fair chunk of the userspace drivers open-source too, so you can just pull that and have audio and video working.

    Not impossible, but definitely really hard and impractical.





  • You can mostly backup everything but it’s impossible to make a perfect backup like the old days anymore because of the TEE. Flashing a new ROM will change the keys and permanently make the old data worthless. Stuff like Google Authenticator for example simply won’t backup even with a perfect bit copy.

    Apps will restore okay but many will be logged out and have lost their permissions and push notification registration with Google.


  • Max-P@lemmy.max-p.metoFediverse@lemmy.worldTime for a purge
    link
    fedilink
    English
    arrow-up
    10
    arrow-down
    1
    ·
    5 months ago

    Free speech includes respecting speech you disagree with and speech that makes you uncomfortable.

    If the roles were reversed and you were lined up to be banned because you’re not siding with the “correct” side, you’d be crying abusive censorship.

    That’s what the downvote and block buttons are for.


  • Yes, a lot safer. Even bugs in the renderer or media player would typically be triggered by JavaScript by say, moving elements around really fast or whatever.

    Without JavaScript, the browser renders that page and that’s it, there’s no JS to modify it or open popups, nothing to dynamically load/refresh content. The most you can do without JS is animations and responding to simple events like changing the color of a button when the mouse is over it. So your only shot to attack this is the renderer during initial page load, once.



  • For all its flaws and mess, NFS is still pretty good and used in production.

    I still use NFS to file share to my VMs because it still significantly outperforms virtiofs, and obviously network is a local bridge so latency is non-existent.

    The thing with rsync is that it’s designed to quickly compute the least amount of data transfer to sync over a remote (possibly high latency) link. So when it comes to backups, it’s literally designed to do that easily.

    The only cool new alternative I can think of is, use btrfs or ZFS and btrfs/zfs send | ssh backup btrfs/zfs recv which is the most efficient and reliable way to backup, because the filesystem is aware of exactly what changed and can send exactly that set of changes. And obviously all special attributes are carried over, hardlinks, ACLs, SELinux contexts, etc.

    The problem with backups over any kind of network share is that if you’re gonna use rsync anyway, the latency will be horrible and take forever.

    Of course you can also mix multiple things: rsync laptop to server periodically, then mount the server’s backup directory locally so you can easily browse and access older stuff.