Skip Navigation

User banner
Oliver Lowe
Posts
11
Comments
238
Joined
2 yr. ago

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

    Thanks for your understanding :)

  • 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 :)

  • This is more along the lines I was thinking.

    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.

  • I’m now 30 years old and I wonder what I’ll feel like after another 30 years :(

  • They don't necessarily need to; hopefully we can help people install uBlock Origin which removes tracking query parameters from URLs. See privacy.txt

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

    Related interesting article from Mozilla: Privacy and the :visited selector

  • pearl clutching

    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!

  • But seldom in the motorbike space, I think?

  • I’m still not sure whether the post is just spam.

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

  • This was the provider I went with after self-hosting my mail for 7+ years on an OpenBSD VPS. I feel like Migadu is an honest and good-value service.

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

    Then again, I've seen worse ;)

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