HN user

rnhmjoj

2,679 karma
Posts27
Comments651
View on HN
en.wikipedia.org 4y ago

Umbral calculus

rnhmjoj
10pts0
github.com 5y ago

Robotnix: Configurable and reproducible Android (AOSP) builds

rnhmjoj
2pts0
01.org 7y ago

Intel microcode license updated to permit redistribution

rnhmjoj
184pts38
twitter.com 8y ago

DNSCrypt project is closed

rnhmjoj
2pts0
www.blackhat.com 8y ago

Black Hat 2017, Running Unsigned Code in Intel Management Engine [pdf]

rnhmjoj
4pts0
github.com 8y ago

Nix-build freezes system on macOS High Sierra with multi-user install

rnhmjoj
116pts38
bitcointalk.org 8y ago

Mysterious Bitcoin addresses with predicable private key

rnhmjoj
7pts1
www.theguardian.com 8y ago

Interstellar object confirmed to be from another solar system

rnhmjoj
4pts0
bitcoin.org 8y ago

Bitcoin.org to denounce “Segwit2x”

rnhmjoj
3pts0
www.reddit.com 9y ago

AMD has no plans to release PSP code

rnhmjoj
244pts138
nvd.nist.gov 9y ago

Broadcom BCM43xx Wi-Fi chips allow remote attackers to execute arbitrary code

rnhmjoj
220pts42
phoronix.com 9y ago

Users report parallel compiling is causing segfault on Ryzen Linux

rnhmjoj
116pts31
arkos.io 9y ago

ArkOS discontinued

rnhmjoj
80pts16
forums.gentoo.org 9y ago

Ransomware appears on Gentoo Linux

rnhmjoj
1pts0
github.com 9y ago

πfs – A data-free filesystem

rnhmjoj
285pts105
fdossena.com 9y ago

Building Mesa3D on Windows

rnhmjoj
1pts0
docs.idris-lang.org 10y ago

Uniqueness types: add side effects keeping referential transparency

rnhmjoj
1pts0
blog.mmn-o.se 10y ago

Git outta here, GitHub

rnhmjoj
5pts0
libreboot.org 10y ago

Why is the latest AMD hardware unsupported in libreboot?

rnhmjoj
85pts60
davidbau.com 10y ago

Conformal map visualizer

rnhmjoj
5pts0
nnkd.org 10y ago

Dex UI: futuristic interface built with openFrameworks

rnhmjoj
69pts16
egyptiangeeks.com 11y ago

SQL injection in ESET website allows free NOD32 license

rnhmjoj
25pts7
github.com 11y ago

E: the minimalistest text editor

rnhmjoj
2pts0
translate.google.com 11y ago

Ettore Majorana was alive and living in Venezuela?

rnhmjoj
54pts21
codereddit.com 11y ago

Code Reddit

rnhmjoj
4pts0
nnkd.org 11y ago

Dex UI: futuristic interface built with openFrameworks

rnhmjoj
1pts0
github.com 11y ago

Scat: password scatterer

rnhmjoj
5pts2

Since the rules are entirely reconstructed, I have to say I'm a bit skeptical of a game where a central point is keeping a count of moves up to 150. It seems too unpractical for a casual game.

Are there other known ancient games that work like this?

I'd say not much: you update the channel, run nixos-rebuild switch, fix all the warnings/errors due to renamed/changed options until it succeeds and you're done. If you have a database like postgres you may have to do a schema upgrade manually, since the default version is updated every 4/5 releases or so.

It's very rare to find something that prevents you from directly updating. Nixpkgs tries very hard to no require new Nix features, so it evaluates with even Nix versions from a decade ago. Also, NixOS options and packages are frequently changed, but the automatic migrations (mkChangedOptionModule, mkRenamedOptionModule, alias, etc.) are never removed in practice.

Since the binary cache has never been cleared since its creation (2002?), it should actually be easy to install a super old NixOS release and upgrading it to the latest to see what happens.

By the way, there are LTS versions of NixOS, just not officially supported. See https://docs.ctrl-os.com/.

What Is Date:Italy? 2 months ago

they still see the URL so they can get the content if they want it

That's incorrect, a MitM can only reveal the server hostname by inspecting the SNI during the TLS handshake, but the HTTP request, including the URL and headers, is encrypted.

I just do this for the IP ranges of Amazon, OpenAI, Huawei and other companies that run these insane crawlers: it's 100% effective and it doesn't annoy real users with a captcha or some PoW thing. There's simply no reason for them to reach my homeserver other than to scrape the hell out of it.

The breeding blanket is entirely contained inside a vacuum vessel, so there isn't any oxygen to react with. Also, the are many blanket designs, but the lithium is never present in its elemental form (precisely because it would be very reactive), but in a stable chemical bond with some neutron multiplier (like lithium-lead alloys or beryllium ceramics). In some design the lithium is even immersed in the coolant itself, which is high pressure helium, so it's not going to ignite in any reasonable way.

So, I did a bit of research and I wasn't going crazy: there are apparently two competing definitions of "elementary" in use [1]:

the class of functions [...] is what I would call exponential-logarithmic functions or EL functions; that is, they are the functions that can be expressed using some finite combination of constant functions, the identity function, exp, log, composition, and arithmetic operations (+−×÷). Some authors call this class of functions elementary functions, but that term is now more commonly used in a different sense, which includes algebraic functions.

Evidently my professor was in the exponential-logarithmic camp.

[1] https://mathoverflow.net/a/442656

I guess you're right, I was probably mislead this whole time. I went through my old analysis class book [1] and there doesn't seem to be an explicit definition of elementary functions. The best I can find is this paragraph (I translate from italian):

The elementary functions of analysis, that is powers, roots, exponentials, logarithms and their inverses, functions obtained from the former by arithmetic operations or composition, admit the limit f(p) for x → p, for any p in their set of definition. The study of such functions, which is not limited to the sole real functions of real variable, is carried out naturally in the setting of metric spaces.

That said, I'm relatively sure that a definition was given in class and it didn't include arbitrary roots: despite being notoriously difficult, the exam didn't require students to draw the graph of any elementary function including implicitly-defined algebraic roots.

I picked up another one of the old recommended books [2] and it seems to be similarly vague; while the book currently taught in my university [3], gives this definition:

The following functions (from ℂ to ℂ) are called the elementary functions of the Analysis:

1) Rational functions (integral or fractional)

2) Algebraic functions (explicit or implicit)

3) The exponential function

4) The logarithm function

5) All those functions that can be obtained by combining a finite number of times the functions of kind 1)...4).

So, roots of arbitrary polynomials implicitly defined are indeed considered elementary. I never knew this.

[1] https://search.worldcat.org/title/1261811544

[2] https://search.worldcat.org/title/801297519

[3] https://search.worldcat.org/title/935666878

My concern is that the word “elementary” in the title carries a much broader meaning in standard mathematical usage, and in this meaning, the paper’s title does not hold.

Elementary functions typically include arbitrary polynomial roots, and EML terms cannot express them.

If you take a real analysis class, the elementary functions will be defined exactly as the author of the EML paper does.

I've actually just learnt that some consider roots of arbitrary polynomials being part of the elementary functions before, but I'm a physicist and only ever took some undergraduate mathematics classes. Nonetheless, calling these elementary feels a bit of stretch considering that the word literally means basic stuff, something that a beginner will learn first.

aren't exp and ln really primitives? Aren't they implemented in terms of +,-,/,* etc?

They're primitive in the sense that you can't compute exp(x) or log(x) using a finite combination of other elementary functions for any x. If you allow infinite many operations, then you can easily find infinite sums or products of powers, or more complicated expressions to represent exp and log and other elementary functions.

Or do we assume that we have an infinite lookup table for all possible inputs?

Essentially yes, you don't necessarily need an "implementation" to talk about a function, or more generally you don't need to explicitly construct an object from simpler pieces: you can just prove it satisfies some properties and that it is has to exist.

For exp(x), you could define the function as the solution to the diffedential equal df/dx = f(x) with initial condition f(0) = 1. Then you would enstablish that the solution exists and it's unique (it follows from the properties of the differential equation), call exp=f and there you have it. You don't necessarily know how to compute for any x, but you can assume exp(x) exists and it's a real number.

SSH Secret Menu 4 months ago

I'm not sure what happens to the socket, maybe it's closed and reopened, but with this patch I have SSH sessions lasting for days with no issues. Without it, even roaming between two access points can break the session.

SSH Secret Menu 4 months ago

I think it does, but that's not the issue: if the interface goes down all the temporary address are gone for good, not just "expired".

SSH Secret Menu 4 months ago

Well, yss, but SSH is hardly ever anonymous and this could simply be a cli option.

SSH Secret Menu 4 months ago

Well, for different reasons, but you have similar issues with IPv6 as well. If your client uses temporary addresses (most likely since they're enabled by default on most OS), OpenSSH will pick one of them over the stable address and when they're rotated the connection breaks.

For some reason, OpenSSH devs refuse to fix this issue, so I have to patch it myself:

    --- a/sshconnect.c
    +++ b/sshconnect.c
    @@ -26,6 +26,7 @@
     #include <net/if.h>
     #include <netinet/in.h>
     #include <arpa/inet.h>
    +#include <linux/ipv6.h>
     
     #include <ctype.h>
     #include <errno.h>
    @@ -370,6 +371,11 @@ ssh_create_socket(struct addrinfo *ai)
      if (options.ip_qos_interactive != INT_MAX)
        set_sock_tos(sock, options.ip_qos_interactive);
     
    + if (ai->ai_family == AF_INET6 && options.bind_address == NULL) {
    +  int val = IPV6_PREFER_SRC_PUBLIC;
    +  setsockopt(sock, IPPROTO_IPV6, IPV6_ADDR_PREFERENCES, &val, sizeof(val));
    + }
    +
      /* Bind the socket to an alternative local IP address */
      if (options.bind_address == NULL && options.bind_interface == NULL)
        return sock;

The magnetron itself has about about 65% efficiency, but the paper conjectures that the longer duration of the pulses is due to defects in the cavity that result in some emission at a lower frequency (1.4 rather than the normal 2.4 GHz), so the energy radiated must be a tiny fraction of the nominal power.

I have been using GitHub since 2011 and it's undeniable that the performance of the website have been getting worse. The new features that are constantly being added are certainly a factor, but I think the switch to client-side rendering that obviously shifted the load from their server to our browsers and also tend to produce ridiculously large and inefficient DOMs[1] is the main cause.

If you want a practical example, here you go. I'm a Nixpkgs commiter and every time I make a pull request that backports some change to the stable branch, GitHub unprompted starts comparing my PR against master. If I'm not fast enough to switch the target branch within a couple of seconds it literally freezes the browser tab and I may have to force quit it. Yes, the diff is large, but this is not acceptable, and more importantly, it didn't happen a few years ago.

[1] https://github.com/orgs/community/discussions/111001

Traceroutes are already notoriously hard to interpret correctly[1] and yes, they can be trivially spoofed. Remember the stunt[2] pulled by tpb to move to North Korea? If you are an AS you can also prepend fake AS to your BGP announcements and make the spoofed traceroute even more legitimate.

I wonder if this thing will start a cat and mouse game with VPNs.

[1] https://old.reddit.com/r/networking/comments/1hkm4g/lets_tal...

[2] https://news.ycombinator.com/item?id=5319419

I had a lot of fun playing around with antimony (also from Keeter) a few years ago, but unfortunately it has been mostly abandoned. I heard libfive is supposed to be the next generation, but I haven't experimented with it yet.

Do you know how it compares?

this could invalidate the information contained in that in the man file.

No, it doesn't. The point of modetc is precisely keep both myself and the programs happy: the files are actually stored where I like to keep them, but they can be accessed as if they were stored where the developer intended.

Why would I hide them? They're not really special and since I'm organising them with modetc they're not cluttered. For reference, my home looks something like this

    ~
    ├── bin         binaries and scripts
    ├── etc         configuration files
    ├── var
    │   ├── lib     program data
    │   └── cache   program caches
    ├── src         git repositories
    ├── img         pictures
    ├── mail        email in maildir format
    ├── note        text notes, todo
    ├── doc         documents
    └── down        downloads

Well, it's just the natural extension of the FHS convention to the home directory.

I didn't come up with this idea, though, I think I saw this in a reddit thread and started doing it myself: I like that the directories are visible and follow the usual structure.

Hi, author here: whether it's a valid use case depends on your level of OCD, but the difference compared to symlinks or bind mounts is that you will have a clean home: e.g. `ls -la` won't show any "hidden" files.

Also, completely unrelated to my motivation, someone pointed out that modetc could be used to quickly hotfix packages built with Nix. Say that you need to fix a CVE in openssl, normally that would require to rebuild all dependent packages, which takes a long time. Instead with something like modetc you could build just openssl and rewrite /nix/store/<hash>-openssl-3.6.0/ -> /nix/store/<hash>-openssl-3.6.0-hotfix/.

Another application might be replacing some configuration file with placeholders for secrets, with one file with the secrets substituted in, without having to modify it in place, possibly only for a specific UID. This is something you might find useful on NixOS.