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

I suspect this is a real problem for charities, though. If those bots are using stolen credit cards, the "donations" are going to cost the charities money after they pay extra fees to the credit card processors. Nonprofits are sometimes used to test stolen credit cards before making more profitable fraudulent transactions, so there's a real risk of it costing them money if they get rid of the captcha but don't replace it with something sufficiently high quality, even after accounting for the occasional lost donation.


Why would they pay extra fees?


Merchants often pay a chargeback fee on top of refunding the main charge. Additionally, merchants with lots of fraud or other chargeback issues are likely to be dropped by payment processors or see their general fees with payment processors get more expensive.



This also requires knowing how much it will shrink, and accurately gauging if I've left enough buffer when trying something on at the store.


Wikipedia has some notes on why least squares, and how you might get there from other assumptions: https://en.wikipedia.org/wiki/Least_squares#Statistical_test... .

Also, quadratics are just much easier to work with in a lot of ways than higher powers. Like you said, even powers have the advantage over odd powers of not needing any sort of absolute value, but quartic equations of any kind are much harder to work with than quadratics. A local optimum on a quartic isn't necessarily a global optimum, you lose the solvability advantages of having linear derivatives, et cetera.


I feel like there's a bit of a jump from "tech-savvy" to de-soldering things on an expensive piece of home electronics. As it stands now, though, I agree that turning off the smart TV features seems to be the way to go for most people.


Ha, yea it's been awhile since I've done that. Although if I was annoyed enough I might take one apart.


Troy Hunt has been running Have I Been Pwned for years. He even uses the k-anonymity model to allow you to search if a password has been pwned without giving him the password if you don't trust him.

I get your general point, but he's been a leader in this space and walking the walk for a decade. I'm not even into security stuff or anything particularly related to this, and I still recognized his name in the OP domain.


More importantly, since HIBP sells monitoring services to 1Password, if they were maliciously collecting this data they would be immediately sued to oblivion.


I enjoyed reading the article, but I'm pretty thrown by the benchmarks and conclusion. All of the times are reported to a single digit of precision, but then the summary is claiming that one function shows an improvement while the other two are described as negligible. When all the numbers presented are "~5ms" or "~6ms", it doesn't leave me confident that small changes to the benchmarking might have substantially changed that conclusion.


Yeah. When your timing results are a single digit multiple of your timing precision, that is a good indication you either need a longer test, or a more precise clock.

At a 5ms baseline with millisecond precision, the smallest improvement you can measure is 20%. And you cannot distinguish a 20% speedup with a 20% slowdown that happened to get luck with clock ticks.

For what it is worth, I ran the provided test code on my machine with a 100x increase in iterations and got the following:

  == Benchmarking ABS ==
  ABS (branch):     0.260 sec
  ABS (branchless): 0.264 sec

  == Benchmarking CLAMP ==
  CLAMP (branch):     0.332 sec 
  CLAMP (branchless): 0.538 sec

  == Benchmarking PARTITION ==
  PARTITION (branch):     0.043 sec
  PARTITION (branchless): 0.091 sec
Which is not exactly encouraging (gcc 13.3.0, -ffast-math -march=native. I did not use the -fomit-this-entire-function flag, which my compiler does not understand).

I had to drop down to O0 to see branchless be faster in any case:

  == Benchmarking ABS ==
  ABS (branch):     0.743 sec
  ABS (branchless): 0.948 sec

  == Benchmarking CLAMP ==
  CLAMP (branch):     4.275 sec
  CLAMP (branchless): 1.429 sec

  == Benchmarking PARTITION ==
  PARTITION (branch):     0.156 sec
  PARTITION (branchless): 0.164 sec


I also tried myself, on different array sizes, with more iterations. The branchy version is not strictly worse.

https://gist.github.com/Stefan-JLU/3925c6a73836ce841860b55c8...


> I had to drop down to O0 to see branchless be faster in any case

Did you check whether your branchy code actually still was branchy after the compiler processed it at higher optimization levels?


In general, modern compilers will often unroll or inline functions without people even noticing. This often helps with cache level state localization and parallelism.

Most code should focus on readability, then profile for busy areas under use, and finally refactor the busy areas though hand optimization or register hints as required.

If one creates something that looks suspect (inline Assembly macro), a peer or llvm build will come along and ruin it later for sure. Have a great day =3


Doesn’t it also help with branch prediction since the unrolled loop can use different statistics with each copy?


Non-overlapping sub-problems may be safely parallelized, and executed out-of-order.

In some architectures, both of the branch code motions are executed in parallel, and one is simply tossed after dependent operations finish. We can't be sure exactly how branch predictors and pre-fetch is implemented as it falls under manufacturer NDA. =3


Can you link an example of a window unit ERV? I tried searching briefly, and came across some folks hacking together units to make them work with windows or adding their own ducting, but nothing analogous to a simple window air conditioning unit. As a renter of an apartment in a very much not modern home, I don't really see anything that seems like it would work.


http://www.purifresh.com/erv.html

https://swervair.com/

A couple examples I see on Google. I'm not advocating for any of these, because I have no idea if they are any good, but I see no technical reason an ERV couldn't work as a window unit. Maybe it's an underserved market and someone should make a business out of that.

A much more DIY example that's probably closer to what you were talking about with "hacking together" a solution: https://www.mychemicalfreehouse.net/2023/10/window-mounted-p...


Thank you! You're right that's the sort of "hacked together" solution that looks cool but beyond my abilities, and I appreciate the first two links.


That makes sense along the lines of their second proposal, but doesn't address the concerns of the first. Part of democracy means voting for the folks who govern you, but a prisoner might be left unable to vote in an election for the local state or municipal governments.


Fore example, someone with a 10+ year sentence has a compelling interest in local candidates that have different platforms that will affect the parole-rules and phone-call-costs next year.


>2) It's just generally good to diversify into your competitors. Every company does this, especially when the price is cheap.

This definitely isn't a thing that every company does (or even close to every company).


Not every company, but the largest ones do.

Microsoft once owned a decent amount of Apple & Facebook for example.


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

Search: