HNHacker News
TopNewBestAskShowJobs

archgoon

5,809 karma · joined February 25, 2010

submissionscomments
archgoon··on Ghidra 9.2
Have you tried https://github.com/bootleg/ret-sync ?
archgoon··on Stop using RSA (2019)
You can break a 160 bit EC with a 1000 qubit quantum machine. An equivalent 1024 RSA bit key needs about 2000 qbuits. (The following paper has a cool table and formula for working out how many you need for each)

https://arxiv.org/pdf/quant-ph/0301141.pdf

My incredulity is in the idea that Google and the NSA apparently have 1000 qubit machines that can do that, but not 2000 qubit ones (and you should be very confident that will remain the case in future).

Note that once you're at the "I have a stable 1000 qubit machine that can perform complex calculations" realm, you can consider doing things like entangling it with that other 1000 qubit machine you have lying around, bringing yourself rapidly into the 2000 qubit realm. Getting to the first part is really hard. If you can pull that off, you're probably only a few years away from the second. The main thing that's stopping us from doing that today is that the (physcial) qubits we've made so far aren't stable enough; getting to a single logical qubit is anticipated to take 1000 physical ones.

https://en.wikipedia.org/wiki/Physical_and_logical_qubits

archgoon··on Stop using RSA (2019)
That comment goes off the rails once it starts talking about quantum computers breaking encryption (and only ECC, not RSA).

Yes, (real) Quantum computers can break ECC and RSA encryption. I have no idea why they think the NSA (and apparently Google as well) has secret Quantum Computers that are capable of breaking ECC, but not RSA.

archgoon··on 2020's fastest-rising tech jobs? Programming language PHP leads the way
Perhaps. What is your reasoning or evidence?
archgoon··on An exponent one-fifth algorithm for deterministic integer factorisation
The General Number Field Sieve[1], referenced in the paper, is believed to have a better asymptotic runtime performance (and has a number of efficient implementations), but it's runtime is not proven. ECM [2](also referenced in the paper) has better proven, but probabilistic, performance.

So most likely, no. This is primarily of theoretical importance (it is now the fastest, deterministic algorithm with a proven bound), but is not immediately a performance gain on existing algorithms.

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

[2] https://en.wikipedia.org/wiki/Lenstra_elliptic-curve_factori...

archgoon··on An exponent one-fifth algorithm for deterministic integer factorisation
The abstract is correct. A positive integer N is log(N) bits long. If X = log(N), than a algorithm that runs in N^(1/5) will run in 2^(X/5) time.
archgoon··on The Remarkable Number 1/89 (2004)
> with each step it goes towards 0.124999999999

Also known as .125.

https://en.wikipedia.org/wiki/0.999...

archgoon··on Youtube-dlc – Download videos from YouTube or other video platforms
One option is to simply write end to end tests, and not bother with unit tests at all. This does mean that you don't know if tests are failing because of a new code change or if the world has changed from underneath you.

If you want to write a unit test, then the test would mock the response from the server. You would have an expected sequence of expected requests and their responses. You would only be testing that you made the correct requests and, given the same response from the server, your code parsed it correctly and gave the expected outputs.

If the server bans your IP, or changes their response codes, your unit tests will still pass, as they should. Notification that the world has changed around you is not the purpose of a unit test. It is to allow you to feel confident of claims "I refactored the code and behavior is unchanged." or "I changed the behavior and this is how it has changed" or "I know that my code handles all known error codes from the server."

This is important when the world does change around you; as it lets you identify when that happens.

I recognize that test terminology is vague, and people will use competing definitions (I have seen 'functional', 'integration', and 'end to end' all used to describe non-unit tests, and I've seen each used to mean the others). I recognize this may seem as an exercise in pedantry. However, there is a valuable distinction to be made between tests that can be run deterministically, and tests that rely on the behavior of third parties outside of your control. These tests types will differ in terms of speed of execution, infrastructure setup (many test environments may not have network access, or may need special credential access)[1], reliability, and also, importantly, the proper response to a failure.

[1] Also, if you're doing mobile app development, you very much want to distinguish between tests that require a device and ones that don't. You will likely have multiple test classifications if you're doing mobile development.

archgoon··on Youtube-dlc – Download videos from YouTube or other video platforms
If the test was downloading a video; it's not a unit test. I know that the definition gets stretched, but at the very least, a unit test should be deterministic. A test relying on a network communication with a third party system stretches the adjective 'unit' to beyond usefulness.
archgoon··on Blender Conference 2020
Sounds like they made some significant workflow breaking changes in 2.8. How'd the community react when they rolled out the changes?
archgoon··on Escaped cloned female mutant crayfish take over Belgian cemetery
> "It's impossible to round up all of them. It's like trying to empty the ocean with a thimble," said Kevin Scheers, of the Flemish Institute for Nature and Woodland Research.

What? why don't they just...

> Belgian law prohibits the poisoning of the crayfish, which was a method of control used in Spain.

Ah.

archgoon··on Better than the Scoville scale? Chili-shaped device can rate pepper hotness
From the abstract:

> The sensor consists of three components: (i) a small potentiostat device, (ii) an interface allowing connection to a smartphone for monitoring and control, and (iii) the sensor (an N-doped GrNPs/ePAD and detection chamber)

It sounds like the smartphone isn't a display. It's the main driver, data collector, and filter of the device.

archgoon··on Dutch Ethical Hacker Logs into Trump’s Twitter Account
When the twitter bitcoin attack happened; the attackers deliberately avoided going after the president.

Most people know better than to try and kick that beehive.

archgoon··on Hackers extorted $1.14M from UCSF
Isn't this the same problem that money laundering laws have to solve? It's hard, but its not insurmountable.
archgoon··on AWS forked my project and launched it as its own service
suyash is basically correct; usage of GPL (any version) licensed software is very heavily scrutinized at Amazon. Explicit exceptions need to be filed for, and are rarely granted. Unless you can make a very strong business case for the software, you're not going to get it approved.
archgoon··on Tokyo’s internet Jesus uses secret creed to command CEOs
> nothing magic about even or odd, just forcing that final check-over to make sure everything adds up.

Ah; so a no brown M&M's rule.

archgoon··on The Big Vitamin D Mistake (2017)
> A similar scenario is sceen in India where most antibiotics are available OTC, something "unthinkable" in the US.

That seems very dangerous, and extremely bad public health policy. There are major concerns with anti-biotic resistant bacteria. I came across an article from 2017 suggesting the government clamped down on this. Is it still the case that anti-biotics can be purchased without prescription?

https://www.outsourcing-pharma.com/Article/2017/01/16/Indian...

Also, I'm confused, I can easily buy over the counter Vitamin D supplements in the US. Is the dosage of those not large enough?

archgoon··on Git is not a success story, but a failure as a system with a bad user experience
May I be cursed with failures as bad as git.
archgoon··on Memcmp being wrongly stripped like strcmp
Also, because it badly models how the error occurred in the first place. It wasn't any one developer who made a mistake, as a comment in the thread makes clear, it was a series of mistakes, made by different people, coupled with poor documentation that ultimately led to this.
archgoon··on No, It’s Not Actually a Murder of Crows – Okay, technically it is (2015)
If everyone except the IAU decided to keep calling Pluto a planet, that's just a divergence between technical definitions and popular ones (the latter of which is not well defined). This happens all the time, and it's not particularly interesting.
archgoon··on In Defense of XML
This is an odd criticism. JSON, the popular alternative, also has this 'issue'. In fact, almost any non binary solution, like protobufs, will have this issue, as it's a text, not byte, encoding. The reason for outlawing these characters is that they aren't text, they are, as the name implies, control characters.
archgoon··on Facts to know about Google on its 21st birthday
> The point of tax evasion is to not break the laws, otherwise it would be called tax fraud.

This is not true. Tax Evasion is an illegal activity.

https://www.investopedia.com/terms/t/taxevasion.asp

I believe the term you want is "Tax Avoidance". The terms, although similar, have very different meanings. However, if a company is merely engaging in Tax Avoidance, the state can't force them to pay taxes.

archgoon··on Cloudflare and the Wayback Machine, joining forces for a more reliable Web
Or properly authenticate (and audit) access.
archgoon··on Nova by Panic
> curious about why a browser based editor is smoother than a native mac one

Turns out that browsers have gotten somewhat good at rendering formatted text ;).

But yes, a deep dive into the exact rendering pipelines would be quite interesting.

archgoon··on ARM: Can 'crown jewel' of UK technology be protected?
Apparently; when ARM was first sold to Softbank, Softbank made several guarantees to the UK. Nvidia has made no agreement to continue those guarantees.

> At that time, Softbank announced it had agreed to legally binding commitments to increase investment, headcount and preserve its headquarters in the UK.

> It is not too late for the government to impose conditions, but conversations on whether to impose them or what they might be have not even started.

archgoon··on All Python versions less than 3.6 are now EOL
> Typing 'exit' or 'quit' both result in messages that make it clear that the interpreter knows what you want to do but won't comply out of spite.

The interpreter knows no such thing. Both quit and exit are regular python objects that implement a __repr__ method, both of which return a string that inform the user how to exit. The __repr__ method could have implemented exit, but that would have been poor form (and create issues with tooling), set bad precedent, and go against python coding guidelines.

Ctrl-C giving a keyboard exception rather than exiting is a good thing, as it is far more likely that you are trying to terminate a long running statement, or exit out of sub code block, than trying to kill the interpreter process. This is also the standard behavior of almost any interpreter you care to name (irb, node, clisp, shell). This is because the interpreters try to mimic unix shell semantics (CTRL-D also kills your shell), since they are, after all, shells.

archgoon··on All Python versions less than 3.6 are now EOL
This is largely due to conditioning of over 30+ years of bad error messages.

  The program exited with error code -2
  Error MS1337 occurred
  Something went wrong. Contact your Administrator
Ideally; error codes should provide information about how to fix the problem (which python in this case does). That falls on the developer side of things (and may not be possible in many cases).

Learning that error messages are useful and can solve your problem, and de-training the reflexive "This message won't help me", lies on the end user side of things (assuming the devs did their part).

archgoon··on New things in Android 11
Looks like they wussed out on coming up with something for 'Q' last year.

https://9to5google.com/2019/08/22/android-10-dessert-name/

archgoon··on New things in Android 11
Sorry; I must have missed something, what are you referring to? Is Google (or Apple?) pushing something that isn't end to end but claiming that it is? I seem to recall that Zoom did something like that, but not Google or Apple.
archgoon··on Named Parameters in C++20
Six arguments use registers (and rax for return). The first two in your example are in the lea instruction. Using rdi, rsi, rdx, rcx, r8, r9 and then the stack is the calling convention used on x64 linux. 32-bit (-m32 in godbolt) linux would use the stack exclusively.
← PreviousPage 5 of 34Next →