Definitely depends, yeah. bash is a huge piece of software that - for me - feels a bit out of place in other systems closer to original unix. Interesting ones are rc and even plain old /bin/sh provided by something like busybox.
We can't go back to the old way of doing things but we can't keep maintaining these fundamentally flawed systems either.
That's a great way of putting it, thanks. I'm actually only 30 years old (lol). Sometimes I feel there's so few people who've ever used or written software at this level in the part of the industry I find myself in. It seems more common to throw money at Amazon, Microsoft, and more staff.
I've replaced big Java systems with small Go programs and rescued stalled projects trying to adopt Kubernetes. My fave was a failed attempt to adopt k8s for fault tolerance when all that was going on was an inability to code around TCP resets (concurrent programming helped here). That team wasn't "unskilled"; they were just normal people being crushed by complexity. I could help because they just weren't familiar with the kind of problem solving I was, nor what tooling is available without installing extra stuff and dependencies.
You just said that this software was much more complex than Unix tools
Probably need to keep in mind incidental versus essential complexity here.
So with all those configuration options, why is the standalone binary expected to have defaults that may sound same on one system but insane in a different one?
Because this is how much of what we use already is implemented.
Significant effort goes in to portability, interoperability and
balancing compromises. When I'm doing software development e.g.
writing HTTP APIs (of which I apparently know nothing about ;) ) - I
feel like I've got a responsibility to carefully balance what I expose
as some user-configurable thing versus something managed internally by
the application. Sometimes, thankfully, the application doesn't even
have to think about it al all - like what TCP flags to set when I dial
some service.
You bring up containers which is a great example of some cool features
provided by the Linux kernel to solve interesting problems. If you're
interested, have a look at FreeBSD's Jails, Plan 9 and LXC. Compare
the interface to all these systems, both at the library level and
userspace, and compare the applications developed using those systems.
How easy is it to get going? How much do I need to keep in my head
when using these features? Docker, Kubernetes, and the rest all have made different tradeoffs and compromises.
Another one I think about is SQLite. Some seriously clever smarts.
Huge numbers of people don't know anything about for-loops, C, or
B-Trees but can read & write SQL. That's technology at its best.
Consider how difficult it could be to, say, start a car in all the
different operating conditions it is expected to be used in. But we
never think about it.
We as tech people pride ourselves on familiarity with esoteric detail,
but it doesn't need to be like this. Nor does memorising it all have
anything to do with "skill".
What I'm struggling with are thoughts of significant vested commercial
interest in exposing this kind of detail, fuelling multi-billion
dollar service industries. Feelings of being an outsider despite
understanding how it all fits together.
It is a pluggable service that connects to one or more TSDBs, performs periodic queries, and notifies another service when certain thresholds are exceeded.
Have you ever written this kind of software before?
It sounds like you are comfortable with the status quo of this part of
the software industry, and I'm truly jealous! If you've got any tips on dealing with this kind of stuff you can find my email at https://www.olowe.co/about.html
Thanks :)
I think the parent comment went ad hominem rather than trying to understand some of the difficulties I brought up. I'm not sure whether engaging with them would be productive.
Thankfully uBlock Origin removes those parameters for us.
The default filters include a whole bunch of removeparam filters; e.g. privacy.txt
See also removeparam.
Maybe you could help your friends and family install Firefox and/or uBlock Origin?
Every little bit helps :)
Probably not; userChrome.css just modifies the local user interface of Firefox, right? I don't think any of this information is ever transmitted to servers, nor is it available from Javascript.
Custom user styles however could probably be used for fingerprinting.
Ha! Can't believe I haven't heard this one before. I'm gonna use it all week to keep my usual long whinge-y "society is fucked" rants nice and short. My girlfriend will be very pleased.
I would never use anything like this. But I want it to exist. Wobbly windows got me into Linux back in 2006. Compiz, Beryl… so cool, so stupid… keep us updated!
You've done a great job of showing what it feels like when I see Rust sometimes. There's something about the way that it "builds up" on the page over time...
I've never written any Rust - I'll get to it one day! - but I found this article interesting look at how and why design decisions effect the final syntax: https://matklad.github.io/2023/01/26/rusts-ugly-syntax.html
I agree. ActivityPub messages are not necessarily public information; implementations like Mastodon and Lemmy just assume it - and there's nothing stopping the services relaying the messages elsewhere afterwards.
Actually in my fiddling with ActivityPub I've made some posts and comments to a Lemmy instance which were not relayed to other instances, even though they would have been if I made them using Lemmy. So there's definitely opportunity for systems to implement features inbetween "totally public" and "single recipient".
Each time your browser makes a request (such as updating the graphs), it's submitting a new DNS query each time.
That would be surprising; most HTTP clients reuse network connections and connections are deliberately kept open to reduce the overhead of reopening a connection (including latency in doing a DNS lookup).
We can never know exactly. For me I always think about the (incidental) complexity of these huge apps like Instagram.
Somebody mentioned the phone overheating when watching Reels - those short videos. Here's a made-up example (but I've written some software for video streaming services)...
Those videos are pretty short, and some people skip the clip even after less than 1 second. Instagram want that next video to be playing instantly (gotta get that dopamine hit ASAP!).
A strategy you could take is have the app load the next, say, 5 possible videos in the background before you've even seen them. When the user swipes, that video is already playing.
To make this even faster we could execute some recommendation decisions on-device rather than on some servers (over a relatively much slower 4G connection).
With all this complexity comes greater chance of some unexpected behaviour.
Instead of loading 5 videos, maybe we accidentally load 100 and never clean up the old ones. Maybe after an OS update we need to change the way we mark a task as low priority.
Definitely depends, yeah.
bash
is a huge piece of software that - for me - feels a bit out of place in other systems closer to original unix. Interesting ones arerc
and even plain old/bin/sh
provided by something like busybox.