Just some Internet guy

He/him/them 🏳️‍🌈

  • 1 Post
  • 1.29K Comments
Joined 3 years ago
cake
Cake day: June 25th, 2023

help-circle

  • They’re just examples of things you could pipe curl into, but no not really. If the download fails you end up with an incomplete file in your tmpfs anyway, and have to retry. Another use I have is curl | mysql to restore a database backup.

    If the server supports resuming, I guess that can be better than the pipe, but that still needs temporary disk space, and downloads rarely fail. You can’t corrupt downloads over HTTPS either as the encryption layer would notice it and kill the connection, so it’s safe to assume if it downloaded in full, it’s correct.

    With downloads being IO bound these days, it’s nice to not have to read it all back and write the extracted files to disk afterwards. Only writes the final files once.

    That’s far from the weirdest thing I’ve done with pipes though, I’ve installed Windows 11 on a friend’s PC across the ocean with a curl | zstd | pv | dd, and it worked. We tried like 5 different USBs and different ISOs and I gave up, I just installed it in a VM and shipped the image.


  • I’ve had to use that flag.

    --silent is useful when you don’t want the progress bar or you’re piping curl into something else. I like to do curl | tar -zxv to download and decompress at the same time, I’ve even tar -zc | curl to upload a backup taking no disk space to do so.

    The problem however is it’s really silent: if it fails, it exits with a non-zero code and that’s it. Great when you don’t want debug info to interfere, annoying when you need to debug it.

    So you can opt-in to print some errors when in silent mode, but otherwise be silent.






  • 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.




  • 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.





  • It’ll tolerate a few hours no problem, mine’s been down for a bit over 24h and caught up fine.

    I think it marks instances as down after 2-3 days, but I’m not sure if it’ll resume once it comes back up at this point. I think if your instance reaches out it might start pushing events again but it could also result in dropping the previous days.