I would guess you could achieve similar results with a rat's or cat's brain, but I wonder at which point ethical dilemmas start creeping in. When the fungi learns to ask for food, perhaps?
I assure you that taking care of a family does not make you independent. Regardless of who the family member to care about is. I am quite pro "you should be helping family" and as such I am fully aware that caregivers are giving up quite a lot. And in particular, having kids makes you much more dependent and limited then whatever was your life before them. That goes for those who stayed at home and depend on partner for everything, those who are primary breadwinner focusing on work only and for those who juggle childcare with work.
As for owning property instead of renting, that one is massively more influenced by whether you can afford to buy a property or rent. Renting requires much less money and that is all there is to it. Neither makes you more or less satisfied in life.
I always assumed any TCP/UDP packets would get captured by the OS network stack in order to be sent only to the processes listening on specific ports.
I guess this is a security feature, since a process cannot even listen on some ports without having elevated privileges. I wouldn't expect another process being able to capture all this traffic anyway. This would also require a mechanism of sending the same stream to multiple processes (TCP listeners and all-protocol listeners).
But I didn't even know it was possible to capture traffic from multiple transport layer protocols using a syscall, perhaps that syscall requires elevated privileges itself..?
It requires elevated privileges, but this is how programs like tcpdump and wireshark work. On Linux it's also possible to give a program these permissions for any user by setting "capabilities", specifically cap_net_admin and cap_net_raw.
DHCP services require this ability to receive and send UDP packets on raw sockets, barring a few advanced systems like Solaris that provide them with necessary facilities. Usually they install a BPF module on the socket to filter out uninteresting packets.
Suppose I give you two functions f, and g. Can you run f(g()) without breaking things? The honest answer is you don't know until you read the functions, which is a slow and difficult thing to do.
Suppose I give you functions f and g of respective types int -> str and Nothing -> str. Can you compose them? No, and you see this immediately from the types. Types make reasoning about composability a lot easier.
Of course, it's not a panacea, and it's less helpful the more side effects a function has. Can we compose pure int->int functions? Of course! Can we compose two of them where the second expects some image to exist in some docker registry? You'll need to read the first to be able to tell.
Given the highly side effectful nature of pipelines, I'd think the applicability of types would be limited. But maybe that's just a lack of imagination on my part.
Certainly information like "this pipeline expects these variables" and "this pipeline sets these variables" are susceptible to a typed approach, and it would make things easier. By how much, I don't know.
What are side-effects but undocumented arguments and returns?
Firstly, you want to ensure your functions are pure with respect to input. That is to say, they might reference a configuration or context object that is passed to them as an argument, but they'll never reference some global object/variable.
So then the docker image inside some docker registry? Both the image and the registry are values in the config/context argument at the least. Maybe they're their own separate arguments depending on whether you prefer a single big object argument or a bunch of smaller more primitive arguments.
So then the pure function that expects the docker image to exist in some registry is no longer
Int -> Int
It's now
String -> String -> Int -> Int
because it needs a registry and an image. Maybe it's
String -> String -> String -> String -> Int -> Int
because there's a username and password required to access the registry. Icky, but if we make a few types like
data Registry {
user :: String,
password :: String,
url :: String
}
that becomes
Registry -> String -> Int
But we could make it better by doing something like
data Foo {
reg:: Registry,
image :: String
}
and now the function can be
Foo -> Int -> Int
This doesn't fix the image not actually existing in the registry, but at least now we know that the two functions aren't composable, and when it fails because the image doesn't exist we can hopefully trace through to see who the caller is that's giving it incorrect data.
PS: sorry if i got the haskell typing wrong. I don't know haskell so that's the result of what i could cobble together from googling about haskell type syntax
Creator support is probably the reason why Grayjay doesn't have SponsorBlock integration.
What it's trying to bypass is walls being put in place by Youtube after it established itself as a monopoly by leveraging technologies that worked and succeeded because of their no-walls philosophy.
One counterargument is that nobody forces you to use their services.
I think the root problem is that nobody produces personal hardware over which the average person could conveivably assume full control. I'm not even sure it's possible, given how advanced the computer technology is.
> One counterargument is that nobody forces you to use their services.
Not specifically Microsoft, but more and more government services are accessible only through apps that are only offered through Apple's App Store or Google's Play Store. (Either directly, or because a generically eID app is used.) So in this case, I am absolutely forced to agree to either Apple's or Google's ToS to interact with my government.
I'm assuming those applications are hardcoded to use either Apple or Google (respectively) as the passkey service provider? IE. that the problem is that they don't allow you to configure your own 3rd party passkey service?
no you are seeing the easy ramp access pushed on you.. government is unique (in the USA) that it is required by law to be accessible to citizens including disability etc.. you can do almost anything using some (terrible,slow,error filled) paper process IMHO .. and there is a systemic reason why this will remain true, even as they push "one phone,one person" dystopia
No one is holding a gun to your head, no. But ij a lot of ways, you are required to use these services to participate in society.
My job forces me to use Google and Microsoft because that's what the entire industry is built on. Should I uproot my entire family's lives so I can move across state to find a new job? Is that a reasonable compromise to make so I don't have to complain about windows?