Hacker Newsnew | past | comments | ask | show | jobs | submit | ittan's commentslogin

Huh?


Unsure if anyone here uses Technitium DNS(Opensource and free). It works on minimal hardware. I am running it on an Orange Pi 3 LTS.

https://technitium.com/dns/


This looks great.

Qs: this says “ Technitium DNS Server is an open source authoritative as well as recursive DNS server”

Are pi-hole/Adgyard also recursive DNS server or just a blockers?

Edit: I’ve been using pi-hole for ages, trying to figure out if this has any advantage.


Can't speak to Adguard:

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.


Thanks, I’ll take a look at Unbound. I have it running on a Pi.

I had a pfsense, which died a few days ago while upgrading from 2.6 to 2.7. I believe it was running Unbound.


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.


Yup, running it on a pi 4. Simple to set up and use, happy with it. I didn't know about Adguard but I don't want to try it even if it seems good.


I've been using it for years and love it. .Net based, so it is cross platform, too! There's a docker image if you want to go that route.


Decided against it due to being written in C#/NET and being relatively new. Went with Unbound


Why?


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 don't mind the new argument but C# is one of the very few "high-level" languages you can implement something like a DNS server well with.


Says the phone uses an IoT chipset. Unsure how the performance is when compared to mainstream mobility snapdragon chips.


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.


Using an industrial chipset makes sense if you're trying to build phones with long-term software support.


Isn't "C Runtime" inaccurate?

Wouldn't it be the static or dynamic linked libraries for the particular program in question?


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.

[1] https://en.wikipedia.org/wiki/Crt0


Nope, what do you think calls into main(), does floating point emulation, handles signals on non UNIX platforms, provides threading support?


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


I guess you can educate Microsoft on that then.

https://learn.microsoft.com/en-us/cpp/c-runtime-library/c-ru...

It doesn't matter what people think, rather the CS point of view of a language runtime is.

That library is the runtime.

C implementation without the respective runtime is what is called a freestanding implementation as per ISO C.


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.


Runtime is whatever a programming language needs to support its execution, as per CS compiler theory.


I would recommend an edit to the title to include Europe.


Dang, this is the life I live doing the best I can.


Not to be rude, Monitoring is observing problems and then responding to the alarm in realtime.

You cannot compare the two. Yet we do in certain circumstances and that is a loss in understanding, which I am sad about.


Excuse my intrigue. Is this topic biased to language design or experience using php?


It is because the features on github.com directly correlate to a git feature.


Ah yes, pull requests and adjacent functionality is my favorite part of git.


There is, in fact, an analogous Git feature: https://git-scm.com/docs/git-request-pull


so where’s the one that correlates to git log —graph ?


Click 'commits' on any repo and you will see the graph.


Where does it show the branches and merges?


It’s weird if GitHub doesn’t have that. Gitlab does. https://gitlab.com/gitlab-org/gitlab-runner/-/network/main


That would be the network view.


that only shows you inter-repository activity, not the branches within a repo.

that would be worthless for most people, and for the sqlite authors, who'd surely have a million people pressing the 'fork' button.

it also isn't what anyone in the thread, or post, were asking for.


all i've ever seen is something which displays a single branch, and does not contain the graph structure information present in git log --graph.

perhaps you'd be so kind as to provide a link to a page on github which demonstrates the same graph structure?


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.


Curious: What git feature does Network mirror then?


Under the hood, “forks” are really just fancy branches. So realistically that would also be git log


git log?


Hmm, GitHub Network is much more than log. I think "GitHub Commits" page mirrors git log.


Network is more like `git log --graph --decorate --oneline`. Still git log, just in a slightly different format.


> Network is more like `git log --graph --decorate --oneline`

... across all forks, which makes the UI much more cluttered than it needs to be. What if you are only interested in commits in your own repo?

Github really does seem to lack a clean equivalent of `git log --graph`.


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


Please place the person's name in the title instead of the title reading Japan's Thomas Edison.


Honestly. How incredibly disrespectful.


If anything, Edison was USA's Hisashige, given the chronology.


And a (2016)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: