PiHole isn't natively recursive, but you can easily set up a service alongside pihole on the pi (or in another docker, if your pihole is a container) called Unbound which provides recursive DNS.
And you can load the ad blocking lists into anyway so you get solid DNS, ad blocking and none of those random youtube spinners from rando dns issues. For nothing but a little configuration.
Because it’s written in C# and relatively new. Unbound is written in C so should consume less resources, has been around longer and has been vetted – FreeBSD and OpenBSD replaced BIND with Unbound.
The one downside to Unbound is that there’s no GUI so it can be a bit intimidating to set up. But the docs are excellent and Unbound defaults are secure, so it’s not as hard as it seems.
I'm curious about this as well, for all purposes the QCM6490 is made for Android and the benchmark I found seem to indicate that the TDP is half a Snapdragon 888 for ~30% less performance. The CPU looks pale in comparison to a Snapdragon 8 Gen 1 or Gen 2 but these are very high-end chips.
I'm not sure how reliable these benchmark are and they don't indicate anything about actual power consumption or efficiency. I wonder if there are good and in-depth reviews for mobile CPUs.
There is a code object called "C Runtime" (crt0.o)[1].
This was a good name at the time. Its a bit of code that gets executed literally "at runtime". When you run a program, this object gets invoked to setup the stack and call main(). Its just a bit of assembly.
Then, decades later, languages like Java overloaded the term "runtime" to refer to their interpreter / vm. This causes confusion to this day, evidently.
The term "runtime" is overloaded here. The C runtime is not what people usually mean when they say a language has a runtime.
There is a crt.0 "C Runtime" object. This is code that is literally run "at runtime". When you execute a binary, the C runtime is the first thing executed to setup the stack and call main().
This is just a bit of assembly that runs before main(). It shares ~nothing in common with "runtime" languages like Python or Java where the runtime is alive during the whole program's execution.
The C run time does not handle floats or threads or anything like that. Software floats are dealt with by the compiler and threading is implemented as its own library (either in userspace or built into the kernel).
Libraries and crt0.o and the like. Libgcc_s ; but it isn’t a runtime in the sense that some magic is doing GC or scheduling for routines. ABI that describes what the assembly should be doing, it isn’t a thing doing stuff.
I’ve never found that either. I try to limit my interactions with GitHub to copying the URL to clone and doing pull requests. GitHub has the same relationship to Git as OverLeaf has to LaTeX: a layer of excrement smeared over and defacing a beautiful program. The saddest thing is that much of the current generation of programmers think that GitHub is Git.
`git log --graph --decorate --oneline` is specific to a branch of a repository. Github Network shows the relationship between forks. It is similar but really the question answered by it is "what and where is the work being done" and "what is the relationship between work being done and this repository I'm looking at". It sucks that Network is buried, I think it should be much more accessible.
Eg https://github.com/sindresorhus/delay/network tells me that this work is being maintained actively, but most forks are not merging back. Another one might tell me work on the main fork is stalled, and many users are now doing PRs against a fork of the original.
Maybe git log --graph --decorate --oneline --all then? Github implements forks as just fancy branches in the same repo. Adding the all param includes all branches.