HNHacker News
TopNewBestAskShowJobs

_hl_

511 karma · joined May 13, 2018

hn@henrikl.com
submissionscomments
_hl_··on Cracking Random Number Generators Using Machine Learning
The underlying assumption of all of modern cryptography is that one-way functions exist (implying P != NP), and further that the algorithms we use in practice are actually instances of these theoretically hard problems. So there provably always exists an algorithm that breaks any given PRNG, it will just always take you very long to compute and/or a lot of queries to the PRNG. ANNs are nothing special in that regard, they are just algorithms and have the same theoretical lower bound on their runtime.

So yes, an absurdly large ANN will break any PRNG, but so will other absurdly long-running algorithms, some of which are quite trivial: Just try every possible seed until you get the same sequence as what you observe, repeat until only one candidate seed is left.

EDIT: To add to this, you seem to be referring to the universal approximation theorems for ANNs. These theorems state that for any function (subject to some conditions not relevant here) and any arbitrary approximation ratio, there exists a finite ANN that approximates the function to within the desired approximation ratio. It says nothing about whether it's possible to train such an ANN, merely that it exists. Which in this case is a fairly trivial results, you could feasibly create a look-up table of PRNG sequences to seeds and encode that as an enormous ANN. But finding/training this ANN is prohibitively expensive.

_hl_··on Why I'm donating $150/month (10% of my income) to the musl Libc project (2019)
Done. Thanks for being so generous.
_hl_··on Why I'm donating $150/month (10% of my income) to the musl Libc project (2019)
Is that conditional on donating via some cryptocoin? I'd be up for donating a well-deserved $100 (can't really afford much more right now sadly) but prefer traditional methods.
_hl_··on Open Source Tax Software
The French tax office for example has created a programming language in which the legally binding tax code is defined.
_hl_··on What Happened to Facebook, Instagram, and WhatsApp?
It sounds like they are not even able to serve ads, on any property. So while far from perfect, it's probably a decent estimate without doing in-depth analysis.
_hl_··on Record €225m fine for WhatsApp Ireland over data protection breaches
That's exactly the line of reasoning that these privacy invading companies want you to follow. The law doesn't mandate obnoxiously huge popups that slow to a crawl when you try to actually use them to disable cookies and whatnot, quite the contrary. It's the companies who are choosing to make the experience as miserable as possible.
_hl_··on Everything has changed in iOS 14, but Jailbreak is eternal [pdf]
It means that the correctness properties that were formally proved are not necessarily what you would intuitively understand as "correct". E.g. you can formally prove that a buggy factorial(n) always outputs (n - 1)! by incorrectly defining what you want to prove. The function behaves according to what you proved, it's just not the expected behaviour.
_hl_··on Faster CRDTs: An Adventure in Optimization
I remember seeing that (regex CTs) and immediately thinking "wtf, why would anyone want to do that". Took me quite a while to understand that it's actually a pretty clever way to write fast state machines in browserland. So thank you for this work!
_hl_··on Useful algorithms that are not optimized by Jax, PyTorch, or TensorFlow
Tangentialy related: Faster training of Neural ODEs is super exciting! There are a lot of promising applications (although personally I believe that the intuition of "magically choosing the number of layers" is misguided, but I'm not am expert and might be wrong) but right now it takes forever to train even on toy problems, but I'm sure that enough work in this direction will eventually lead to more practical methods.
_hl_··on Do Low-Level Optimizations Matter? (2020)
I think the point they were making is that LAPACK et al are a pain to use directly (they really are!), and abstractions are limited by the capabilities of the language or heavy to compile (not sure I agree, Eigen is pretty okay).
_hl_··on Google tries out error correction on its quantum processor
The two aren't really related. It's a bit like saying "we were able to build computers, surely we can also build <insert arbitrary tech thing>". Still waiting for that high-temperature superconductor.

As far as I understand it, the biggest problem is getting the manufacturing precision good enough. The more you scale, the more precise the manufacturing needs to be, which was never really a problem with microprocessors.

_hl_··on Show HN: GPU-Accelerated Inference Hosting
That's impressive!

Are you willing to talk a bit about how this all works? I assume you host the hardware yourself somewhere, which in the days of AWS et al must be pretty tough to pull off, especially with these specs. Where do you get the hardware from these days with the crypto craze?

_hl_··on US-Canada heatwave 'virtually impossible' without warming
Which is why, for this type of research, you use an ensemble of multiple competing models, which also helps with extracting probabilities. If you think their methodology is flawed, then have the decency to respect the enormous amount of effort that goes into this kind of research and point out actual, specific flaws.
_hl_··on Servo Engine contributions this year
Aren't parts of servo still part of Firefox, and hence those parts will continue to be maintained within the context of Firefox?
_hl_··on How to circumvent Sci-Hub ISP block
That is... profoundly idiotic and short-sighted.
_hl_··on Scion – A Novel Internet Architecture
One of the interesting points about SCION is that it achieves today's required forwarding performance on commodity hardware. No more expensive and inefficient TCAMs, no more limits to scalability. This, among other features of SCION, provides an economic incentive for ISPs and organizations to switch to SCION eventually.
_hl_··on The real reason to end the death penalty
I'm not from the US, so my knowledge on the death penalty is quite limited. But I clicked on a link posted below listing executions in Texas, and I was shocked to see that the most recent execution was last year for a crime committed back in 1993. Why?? You've already locked the guy up for almost three decades, what possible benefit is there to executing him now?

I get that he ruined (well, ended) someones life, but what does society gain from ruining his life in turn, to the point of what feels like mental torture: Being locked up for such a long time, all the while knowing that you will eventually just be executed.

_hl_··on New Alan Turing £50 note design is revealed
This is only the preliminary concept mockup, not the final note.
_hl_··on Factoring 2048 RSA integers in 177 days with 13436 qubits and a multimode memory
Indeed, but there is a much longer history of people trying and failing to break the schemes, and we have come to understand the hardness assumptions in classical crypto as probably quite reasonable.
_hl_··on Factoring 2048 RSA integers in 177 days with 13436 qubits and a multimode memory
"Secure against quantum" doesn't really mean much because too little is known to make that claim confidently. AFAIK the term generally refers to algorithms that don't rely on factoring being hard, but instead make some different hardness assumptions that we currently don't have classical or quantum algorithms for.
_hl_··on Factoring 2048 RSA integers in 177 days with 13436 qubits and a multimode memory
The hope is that quantum computers will give us an exponential speed up on some problems, which could (again, hopefully) allow us to solve some NP hard problems. This can be extremely useful for scientific computing (e.g. protein folding) and engineering, where computers have to solve complex NP-hard optimisation problems.

It could also be possible to use the technology developed for the precise control and measurement of qubits to "rebuild" natural phenomena like the interaction of chemical molecules, something which is currently extremely hard to simulate.

_hl_··on Factoring 2048 RSA integers in 177 days with 13436 qubits and a multimode memory
A quantum computer is defined as a machine that can implement an arbitrary "unitary evolution" (up to arbitrary precision). If you don't know enough math to understand what a unitary evolution is, think of it as a quantum computer doing basically any possible thing that you can do with a given number of qubits. As another comment said, the idea is to (ab)use this to do some operations on qubits such that they end up in a state where measuring it will give you an answer to something you're interested in. It has very little to do with classical programming.

The math on quantum computers checks out, it's "just" an engineering challenge at this point, and many are doubtful whether these challenges will ever be overcome to build a quantum computer of sufficient complexity.

Essentially, some "unitary evolutions" are complex to implement, as in requiring a lot of quantum "gates". This causes an accumulation of error and a whole lot of other problems, which limits the complexity of the calculations that can currently be performed.

_hl_··on Hacker's Guide to Numerical Analysis
On the other hand, as someone who knows a bit of math, I love those Wikipedia articles that get straight to the point, and hate those where I first have to dig through a pile of (to me) useless "intuition".

I'm not sure if it is really possible to learn/teach math (like actual math, not just some loose intuitions, because those don't really help you with anything) without going through notation and prior knowledge. Notation exists for a reason.

_hl_··on Manim – an animation engine for explanatory math videos
manim works by generating a "partial movie file" for each animation, i.e. a single mp4 file for each scene.wait() call and so on. The final output just stitches these together.

I did exactly what you want using a small reveal.js plugin that parses the list of partial files generated by manim and inserts the corresponding video files into the presentation in thst order, it worked quite well. Let me know if you're interested and I'll throw it up on a GitHub gist.

_hl_··on Architecture.md
I think it's funny how the blog post is essentially an architecture documentation of the rust analyzer's architecture documentation.
_hl_··on Evcxr: A Rust REPL and Jupyter Kernel
I used this about a year ago for a small astrophysics simulation+plotting etc, together with futhark for some GPU code. It wasn't perfect (some crashes and weird behaviour), but worked remarkably well. I imagine it's even better today.

It was really useful to have easy acces to the simulation code and datastructures from the notebook where I made the plots, and use the same language for both. Glad to see the project still going strong.

_hl_··on I received my first donation on my open-source side project
There's a handful of extremely accomplished professors, but beyond that contributions come from all over the place. Anyone with a bright idea can contribute. As for getting paid to do it, well, you are probably right, but for many people it is probably also just a bit of a hobby.
_hl_··on I received my first donation on my open-source side project
I've seen questions of this kind a lot on HN, and I think they really deserve a better answer than what I can come with. Here's my best shot at an answer:

Mathematics is a bit like art. There is no functional purpose to art, people just do it for the sake of itself, and for the intellectual stimulation. Likewise, mathematics deals with building theory on top of previous theory, with no real purpose other than for the sake of building theory and getting intellectual stimulation.

Think of this: Where did that previous theory come from? It was built on top of previous theory, etc. Mathematics is pretty much a never-ending stack of things built on top of each other for the sake of building things on top of each other.

Every now and then (quite often actually), there is some really useful stuff that can be done with this enormous stack of theory, with applications in practical fields like computer science or engineering. In fact the computer was invented as a result of a lot of merely theoretical contemplations about the nature of logic. But for a "pure" mathematicians, the applications are not the main focus of mathematics. For a forum like HN where a lot of folks are driven by doing stuff, this idea might seem rather strange, but it is the same motivation that drives artists and probably many other things.

Then there's of course the applied mathematicians who try to use everything they know about math to work on some real-world problem. Theoretical computer science is often a good example, where we build algorithms that try to improve performance for some practical problem by using mathematical insights into the properties of the problem. But there's also less applied computer science, where algorithms are built merely because they are interesting or beautiful or whatever, and then maybe someone finds a need to apply them, or not.

For those without any formal education in mathematics, here's a little problem that will help you understand what a mathematical proof actually is: Consider some set S containing some elements (anything really, just some stuff). For any elements a, b in S, we define an operation: a + b yields some other element of S (+ here is just a symbol, not necessarily addition). The operation + has only the following properties:

  - (0) a + b is another element of S
  - (1) For any c in S, we have (a + b) + c = a + (b + c)
  - (2) There exists a special element in S, written as 0, such that a + 0 = a, for any a in S
Note that we did not assume that b + a = a + b. In particular, 0 + a might not be a. Assume that there exists an element 0' such that 0' + a = a = a + 0. Use only the properties stated above to argue that 0 = 0'. If it helps, replace "+" with any other symbol.

----

Solution: This structure (a set with an associative operation and a neutral element) is called a monoid. We are proving that the neutral element of a monoid is both "left-neutral" and "right-neutral". The proof proceeds as follows:

By (1), we have 0' + 0 = 0', but also 0' + 0 = by our assumption of 0. Hence 0' + 0 = 0' = 0, which was to be shown.

This solution is fairly straightforward. The next step is to try your hand at something a little more complicated: Define a second operation (-a) which takes an element of S and returns an element of S called the inverse of a, with the property that a + (-a) = (-a) + a = 0, for any a in S. Prove that (-(-a)) = a.

_hl_··on Telegram publishes users' locations online
I use signal on Android and an iPad. On the iPad, sharing photos etc to signal doesn't work, it looks like the touch input coordinates get translated incorrectly with the input location of the send button being somewhere off the screen.

On Android it's flawless.

_hl_··on How AWS Added Apple Mac Mini Nodes to EC2
I don't know about relevant EU law here, but even if Apple's terms are not enforceable in the EU, when you sell to e.g. US customers you would be subject to US law anyway, and Apple could go after you in the US. It doesn't matter that the servers are located in the EU.
← PreviousPage 4 of 6Next →