I think ceasing to use your ISP provider's unencrypted DNS services will already bring quite some boost in privacy for the average internet user. That's why I recently switched to using DNSCrypt (https://github.com/DNSCrypt/dnscrypt-proxy) with one of the public providers listed here: https://dnscrypt.info/public-servers (pick one run by some university or internet activism organization).
I think the point is that the classifier is not intended to be used to predict sexual orientation in a real-world scenario. It'd be completely useless because it will have way too many false positives. But I think that wasn't the authors' goal anyway. I think they rather wanted to show that there are facial features related to sexual orientation that are "hidden" to humans. And in my opinion the results are fine for that purpose.
You're right, but you'd need your own specific Telegram-internal user id so that your message will only be routed to your specific chat. With my little piece of code, n people can register at 1 bot. Without it you would either have to figure out your user id first or have n separate bots for n people. Of course, the advantage is not too dramatic ;-)
And yes, the ability to link the bot to further services than only Telegram is another plus.
No, to be precise it's not infinite and not guaranteed to be free of repetition.
However, DBPedia holds ~15 million entities corresponding to Wikipedia articles. Although only a fraction of those can be used for quiz questions (many don't have labels or their potential quiz answers don't have labels etc.), the chance to get a duplicate is still pretty low.
With Linked Data you always have triples of the form (subject, predicate, object). E.g. (dbr:John_Smith dbo:birthPlace dbr:Abc) and (dbr:John_Smith rdfs:label "John Smith"). dbr:Abc and dbo:birthPlace again are the subject of other triples, including a triple with (dbo:birthPlace rdfs:label "birth place") (available in multiple languages) and one with (dbr:Abc rdfs:label "Abc, Germany"). By retreiving the labels for the properties (predicates) and objects, I can simply form a question and the answer options. Currently every question is built naively in the form "What is the <propertyLabel> of <entityLabel>?".
Yes, I agree with you that this is not very helpful, especially for larger production environments. I don't know if they might refactor the middleware system to a more dynamic way some time.
My goal was to point some attention to Caddy as well as to outline why I switched from nginx (as well as the tradeoff between simplicity and performance). Maybe you're right and mentioning Apache and IIS was confusing.
Thanks for that hint, I fixed the link!
I think I mentioned that HTTPS is on by default, didn't I? But anyway, yes it's very useful and a good practice.