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

Yes, and by shifting the labor supply curve you can make the laborers worse off, because it will often shift the supply curve of the product they’re making. If labor unions make you pay your workers more, you might need to raise the prices, which will make you less competitive, and reduce your sales, which can result in layoffs, or in preventing new workers from gaining employment.

None of what you said responds in any way to the arguments made in the post you are responding to.


The OP presented an ahistorical account of the VRA, respondent corrected it at length.


If that were true you could explain why instead of doing this generic "nope" post on your alt.


I hate this change. I loved how the original Timeline worked, and now it's unusable. I don't care about courts subpoeaning my data. I'd love to opt in to previous status quo. I don't care about the loss of "privacy" in the context that was never important to me.

Most people are like me: they don't care about being protected from the courts, because the courts don't pose risk to them, and as a matter of statistical fact, they are correct.


This position is insanely illiberal. This isn't about your individual safety, or how willing you as an individual are to abdicate your right to privacy. It's about the knock-on effect of living under panopticon conditions, the chilling effect, the loss of trust, and the nearly unlimited potential for abuse. This individualistic attitude makes it so easy to divide and conquer each and every one of your rights and protections, and will leave you less free as an individual than if you were willing to look at the bigger picture and stand up for rights you don't personally care about.


Maybe, but in MN, they just decided as a matter of the state constitution that this basically isn't allowable.

You see, the cops had a murder in a remote place. They got a warrant, and the warrant showed 12 people in and out of a small area near the murder, of which one phone went there many times.

They got another warrant, for that one phone, and traced it back to someone who is obviously the murderer. The courts decided to suppress this, never mind the cops got warrants at both steps, and their investigation was as minimally invasive as one could imagine for this sort of thing.

So it's not unreasonable to wonder just what we're protecting sometimes, as I understand that while the decision here doesn't technically ban all geofence warrants, it makes them nearly impossible as a practical matter.

One can read the decision here:

https://mncourts.gov/_media/migration/appellate/supreme-cour...


Exactly, and to make sure that never happens again why not just arrest all 12 of those people until they prove their innocence? With enough constant surveillance we can be positive that no bad person ever gets away with anything.

Honestly, do you look at the justice system in the United States and think "You know the real issue here is that not enough people are being punished"?


> Honestly, do you look at the justice system in the United States and think "You know the real issue here is that not enough people are being punished"?

I have a family member who was murdered. I have a lot of sympathy for victims of violent crimes like this and a hard time understanding people who want to let the murderers go free, because I know what it's like living under the threat of one who kept a list of who they intended to kill next.


My sympathies for your loss. That sucks badly.

But look at how many people have been unjustly/incorrectly imprisoned for many years in the US, often based on poverty or racism. Would you be willing to jail 5 people for life-without-parole if you're 100% sure ONE of them was the murderer of your family member? What about two people?


I've never seen someone get sent to prison just because their phone was too close to a crime scene, there's always more to corroborate it because it's not much on its own, even if the MN case comes pretty close with only one person in a remote area with the dead body over and over who also coincidentally had motive, etc. Most of the famous cases of what you mention rely on humans identifying a person and DNA later exonerating them.

So I'm loathe to rule out the use of more accurate ways to pinpoint investigations when the status quo is someone who thinks they saw the person at the scene, when we know how unreliable that is.

That feels like throwing out DNA because there are many explanations of why it might be at a crime scene in favor of good old fashioned witness identification, never mind one is a lot better than the other, even if both of them have been misused terribly at times.

That's why I think we should want the cops to use methods that cause fewer people to get wrongly investigated, because it is a burden. It's true, your phone being too close to a crime scene doesn't make you a criminal, but it's probably a better reason for investigating you than traditional things like "I saw a guy who looked like that at the scene" which has much more frequently caused the harm you cite, and yet it's been a staple of courts longer than any of us have been alive.


I think in much the same way that your life has been touched by a murderer and it has influenced your opinion, if you were wrongly accused of a crime it would likewise have influence.

That being said, I'm sympathetic to your point here and I'm not advocating for eye witness testimony becoming the only source of truth. If I could somehow know for sure that this would ONLY be used for the worst of violent crimes it would soften my opinion, but I am very sure that the more normalized this sort of dragnet investigation becomes the standard of what "requires" it's use will get lower and lower.

If policing were entirely focused on violent and property crimes many of my opinions might change, but realistically I think we can agree that whatever investigative technique we are talking about will primarily end up being used to prosecute drug crimes, because that is much safer and more profitable for the police. Do you really want to be on a suspect list everytime someone thinks they saw a drug deal somewhere and you happened to be near?


Sorry, I’m not chilled at all by the prospect that the court can subpoena my data from Goole. It can already issue a warrant to arrest me, and to search my actual home.


The trouble is that you aren't chilled at all today.

Tomorrow's government may decide that attending certain protests, or having "associated" with certain people was always a crime. It doesn't even need to be "retroactive", since enforcement and interpretation of the law is always adjustable in the present.

This sort of thing is happening today in certain countries. Why are you so sure it won't happen to you in yours?


It kind of sounds like you are saying you don't care if other people are hurt, as long as it doesn't impact you. I hope that isn't what you actually mean.


That's not a good faith, or even vaguely accurate, reading of the parent comment.


I'm not sure how else to read this:

Most people are like me: they don't care about being protected from the courts, because the courts don't pose risk to them, and as a matter of statistical fact, they are correct.


The problem is, unfortunately, those data lakes are in the category "safe until they aren't." Germany has some of the most restrictive data collection laws in the European sphere, for example, because they know that the courts (and executive) don't pose a risk to most Germans... Until suddenly they do, and the only defense is not having aggregated the data in the first place.

To be clear, no disagreement with your self-risk-assessment, and reasonable people can disagree on where their paranoia threshold is.


Germany has some of the most restrictive data collection laws. And yet... Germany has a central registry of all Jews, because of the address registration and the religion tax. The last thing you would expect them to have!


Huh? My understanding is that they have religion data only for catholics/protestants, and only on local level, not in a central database. Which yes that should be killed too but no other faith is recorded, since they only collect taxes for those two.


The courts are already a risk there cause of how they handle speech


Places that aren't the United States aren't obliged to treat their history of speech the way the US does.

The US's protections are rooted in observations of local authority (and Crown-backed authority) trying to disrupt what the revolutionaries self-observed to be peaceful demonstrations, peaceful entry of thought into the public discourse, and public discourse itself. It's grounded in Enlightenment-era belief that unsuppressed discourse is the best path to real truths, and respect for real truths via the distributed, democratic comprehension of them are the foundation of good governance and good society.

Germany watched a significantly post-Enlightenment, free, democratic people talk its way from democracy straight into fascism, and concluded that some kinds of discourse are so toxic to the actual practice of discovery of the aforementioned truths that they are to be excluded from the public sphere.

Both cultures came by their conclusions honestly and there's some merit to both points of view.


Germany had restricted speech before WWI or WWII too, and they're mistaken if they think it's going to protect them from fascism this time.


Most people don't have your luxury of not worrying about government overreach.

It sure would have been useful for governments in the South to grab the location data of enslaved people trying to escape—would they, like the average user today, have known to turn off these settings?

It's great for Texas to buy data from brokers about women trying to access reproductive healthcare across state lines from apps carelessly sharing it. The courts don't pose a risk to you until the law changes and suddenly they do.

This is about the government getting data through a loophole that violates the 4th amendment—the difference between a society that collects everything and presumes guilt, and one that targets specific people when they're suspected of a specific crime.


If you'd like, I can develop a product that will track your location and report it to the police in real-time for you.


No, they totally grew enough calories for themselves. My grandparents lived like that. They farmed around 15 hectares, which was actually quite a lot. You can easily grew enough calories for your family on 5 hectares, or even less if you have access to modern cultivars and artificial fertilizer. It’s just even poor people like variety, and will trade some of their crops for stuff they cannot make at home efficiently, like sugar, fish, or candy.


Prior to Industrial Revolution, nobody could go hunt in the woods, because the woods were King’s, and poaching King’s game carried death penalty. Situation was similar on the continent: the tiny slivers of remaining wood lands were off limits.

Granted, things were different in the New World, as a result of mass depopulation event following the Columbian exchange. But even there, the megafauna was hunted to extinction soon after the humans first appeared there.

Anyway, the point is that no, prior to Industrial Revolution, the world was of full of scarcity, not abundance.


If this is the case, then why doesn’t everyone get the top a score? The answer is, of course, that it’s not so simple, and you can’t just learn to the test.

That’s just like with sports: anyone can learn how to train himself, and anyone can improve with training, but in the end, some people will end up faster, and some people will end up slower.


My point was exactly that the chances are NOT the same for everyone. A kid from an affluent family might have both better tutoring as well as fewer troubles in life that could deter from learning.

But of course, in addition to that, there is always also a genetic component, as in sports.


The question is what you're measuring. You can have a test that gives you whatever distribution of scores you like. But is the thing it measures competency in the subjects it tests, general intellectual ability, familiarity with the test format, etc.? The worst negative outcome is usually subordination of learning itself to preparing for the exam, which can happen even when the gatekeeping function of an exam still works perfectly.


All scientific research on this topic points to the conclusion that standardized test results are the single best predictor of subsequent academic performance. Some studies suggest that using GPA in addition to test results improves the prediction accuracy, but the marginal increase is very small, and it increases variance.

Everyone is well familiar with the downsides of standardized tests, but so far, nobody has proposed any alternative that better. Learning to the test is not great, but what’s the alternative? It’s not like anyone knows how to teach things that results in more actual knowledge and skills being attained despite lower test results.


> All scientific research on this topic points to the conclusion that standardized test results are the single best predictor of subsequent academic performance.

And academic performance is measured how? With standardized tests?


Obviously, yes. This is not circular: it is by no means tautological that people who did well on test X will do well on a completely different test Y that tests different knowledge and skills. The fact fact that it does gives strong evidence to the value of using these tests for admission.


It depends on what skills are necessary to succeed at test X and Y. While the subject matter or details thereof might differ, it's possible that things like "knowing how to learn to the test (i.e. cramming)" or "reading between the lines of what the teacher/professor says is relevant" belongs to these skills. And these can absolutely be transferred between test X and Y.

So the question is, how much do these tests actually test skills in the subject matter and how much do they test "meta skills"?


The research shows that the tests are predictive almost precisely to the extent they test “meta skills”. We can even measure how much individual questions test meta skills vs specific skills. You can learn about this by searching for the terms “factor analysis” and “g-loading”.


Then what’s a better, unbiased method of assessing students?


The main problem I raised with the Gaokao isn't that it's biased, but that it has negative effects on the way education is conducted prior to university.

It's not difficult to find first-hand accounts of this; go browse social media posts by teachers in mainland China if you're curious.

There are similar problems of "teaching to the test" in other contexts, too.

I'm not categorically opposed to standardized testing and I never said I was.


Ok so what’s your alternative proposal?


Traditional defense contractors have low profit margin because of the cost plus pricing on the contracts. They literally are only allowed to charge the cost they incur plus some fixed profit percentage. As such, they have incentive to drive up the costs, so that their profit, while low percentage, is on high base.

SpaceX wouldn’t need to so that. Companies like Anduril already are trying to win contracts on fixed price model, and if they succeed, they’ll have much higher profit margins than Raytheon et al.


The estimates that have Golden Dome at anything close to a trillion dollars are posited on the assumption that it will be much more expensive to build than the administration believes it will take. If it ends up as fixed price bids and costs less than people think, it will be well under $200 billion.


There are multiple estimates, including by Republican members of Congress and think-tanks that put it in the many trillions of dollars.


That's right.. and Golden Dome (which is definitely a mult-trillion dollar program if space based weapons are employed) has a bunch of convenient oligarch properties like built-in planned obsolescence with orbital decay that amplifies a launch monopoly.


> which is definitely a mult-trillion dollar program

The program already exists and you can see how much has been allocated to it.


Sure let's pretend the first year budget of the program represents its entire future.

Even still it is already 2.2% of the entire federal budget. Multiple estimates put the total Golden Dome cost in the $$ trillions.


His political goals seem to align pretty well with the goals of the democratically elected governments, which are perfectly happy to buy products and services from him. You might not agree with their goals, but it’s absurd to suggest that this should make him ineligible for clearance. Clearance is not some kind of a “good boy with right politics” certification, it’s rather “is this person trustworthy enough to depend on in the matters of national security”.


On modern machines, looking things up can be slower than recomputing it, when the computation is simple. This is because the memory is much slower than the CPU, which means you can often compute something many times over before the answer from memory arrives.


Not just modern machines, the Nintendo64 was memory bound under most circumstances and as such many traditional optimizations (lookup tables, unrolling loops) can be slower on the N64. The unrolling loops case is interesting. Because the cpu has to fetch more instructions this puts more strain on the memory bus.

If curious, On a N64 the graphics chip is also the memory controller so every thing the cpu can do to stay off the memory bus has an additive effect allowing the graphics to do more graphics. This is also why the n64 has weird 9-bit ram, it is so they could use a 18-bit pixel format, only taking two bytes per pixel, for cpu requests the memory controller ignored the 9th bit, presenting a normal 8 bit byte.

They were hoping that by having high speed memory, 250 mHz, the cpu ran at 90mHz, it could provide for everyone and it did ok, there are some very impressive games on the n64. but on most of them the cpu is running fairly light, gotta stay off that memory bus.

https://www.youtube.com/watch?v=xFKFoGiGlXQ (Kaze Emanuar: Finding the BEST sine function for Nintendo 64)


> This is also why the n64 has weird 9-bit ram, it is so they could use a 18-bit pixel format, only taking two bytes per pixel, for cpu requests the memory controller ignored the 9th bit, presenting a normal 8 bit byte.

The Ensoniq EPS sampler (the first version) used 13-bit RAM for sample memory. Why 13 and not 12? Who knows? Possibly because they wanted it "one louder", possibly because the Big Rival in the E-Mu Emulator series used μ-law codecs which have the same effective dynamic range as 13-bit linear.

Anyway you read a normal 16-bit word using the 68000's normal 16-bit instructions but only the upper 13 were actually valid data for the RAM, the rest were tied low. Haha, no code space for you!


The N64 was a particularly unbalanced design for its era so nobody was used to writing code like that yet. Memory bandwidth wasn't a limitation on previous consoles so it's like nobody thought of it.


Unless your lookup table is small enough to only use a portion of your L1 cache and you're calling it so much that the lookup table is never evicted :)


Even that is not necessarily needed, I have gotten major speedups from LUTs even as large as 1MB because the lookup distribution was not uniform. Modern CPUs have high cache associativity and faster transfers between L1 and L2.

L1D caches have also gotten bigger -- as big as 128KB. A Deflate/zlib implementation, for instance, can use a brute force full 32K entry LUT for the 15-bit Huffman decoding on some chips, no longer needing the fast small table.


It's still less space for other things in the L1 cache, isn't it?


Interesting. About 20 years ago, it must have been the other way around because I remember this paper [1] where the authors were able to speed up the log function by making use of a lookup table in the CPU cache.

[1] https://www.researchgate.net/profile/Nikki-Mirghafori/public...


It........depends.

I make things faster all the time by leveraging various CPU caches, sometimes even disk or networked disks. As a general principle though, memory lookups are substantially slower than CPU (and that has indeed changed over time; a decade or three ago they were close to equal), and even cache lookups are fairly comparatively slow, especially when you consider whole-program optimization.

That isn't to say that you can't speed things up with caches, but that you have to be replacing a lot of computations for even very small caches to be practically better (and even very small caches aren't helpful if the whole-program workload is such that you'll have to pull those caches from main RAM each time you use them).

To your paper in particular, their technique still assumes reasonably small caches which you constantly access (so that you never have to reach out to main RAM), even when it was written, and part of what makes it faster is that it's nowhere near as accurate as 1ULP.

Logarithms are interesting because especially across their entire domain they can take 40-120 cycles to compute, more if you're not very careful with the implementation. Modern computers have fairly fast floating-point division and fused multiply-add, so something I often do nowadays is represent them as a ratio of two quadratics (usually rescaling the other math around the problem to avoid the leading coefficient on one of those quadratics) to achieve bounded error in my domain of interest. It's much faster than a LUT (especially when embedded in a larger computation and not easily otherwise parallelizable) and much faster than full-precision solutions. It's also pretty trivially vectorizable in case your problem is amenable to small batches. Other characteristics of your problem might cause you to favor other solutions.


Logarithms are interesting because there's hardware to approximate them built into every modern processor as part of floating point. If you can accept the error, you can abuse it to compute logs with a single FMA.

An example of an exp and a log respectively from my personal library of bit hacks:

    bit_cast<float>((int32_t)(fma(12102203.2f, x, 0x3f800000)));

    bit_cast<float>((uint32_t)(-0x3f800000 - 36707.375f*x)) + 7;


It’s a delicate balance and really hard to benchmark. You can write a micro benchmark that keeps the lookup table in cache but what if your function isn’t the only thing being done in a loop? Then even if it’s in the hotpath, there’s insufficient cache to keep the table loaded the entire way through the loop and lookup is slower.

TLDR: it depends on the usage and we actually should have multiple functions that are specialized based on the properties of the caller’s needs where the caller can try a cache or compute approach.


It may be, especially when it comes to unnecessary cache. But I think `atan` is almost a brute force. Lookup is nothing comparing to that.

Sin/cos must be borders of sqrt(x²+y²). It is also cached indeed.


What do you mean brute force?

We can compute these things using iteration or polynomial approximations (sufficient for 64 bit).


There is a loop of is it close enough or not something like that. It is a brute force. Atan2 purely looks like that to me.


It’s not just guessing, there is theory to prove convergence and rates of converge.

Many algorithms require iteration.


I don't think these functions are programmed as it looks like they are in their Math form. Atan2 is something like a line-to rotating, if the given point is close to any pixel of line-to, returns how many times the line to is rotated. It is almost a motion but an algorithm. This is why I'm telling it is a brute force.


> Sin/cos must be borders of sqrt(x²+y²). It is also cached indeed

This doesn't make a ton of sense.


In what way do you think a sin function is computed? It is something that computed and cached in my opinion.

I think it is stored like sintable[deg]. The degree is index.


> In what way do you think a sin function is computed?

In some way vaguely like this: https://github.com/jeremybarnes/cephes/blob/master/cmath/sin...

> I think it is stored like sintable[deg]. The degree is index.

I can think of a few reasons why this is a bad idea.

1. Why would you use degrees? Pretty much everybody uses and wants radians.

2. What are you going to do about fractional degrees? Some sort of interpretation, right?

3. There's only so much cache available, are you willing to spend multiple kilobytes of it every time you want to calculate a sine? If you're imagining doing this in hardware, there are only so many transistors available, are you willing to spend that many thousands of them?

4. If you're keeping a sine table, why not keep one half the size, and then add a cosine table of equal size. That way you can use double and sum angle formulae to get the original range back and pick up cosine along the way. Reflection formulae let you cut it down even further.

There's a certain train of thought that leads from (2).

a. I'm going to be interpreting values anyway

b. How few support points can I get away with?

c. Are there better choices than evenly spaced points?

d. Wait, do I want to limit myself to polynomials?

Following it you get answers "b: just a handful" and "c: oh yeah!" and "d: you can if you want but you don't have to". Then if you do a bunch of thinking you end up with something very much like what everybody else in these two threads have been talking about.


It isnt good idea to store such values in code. I think it is something that computed when a programming environment is booting up. E.g. when you run "python", or install "python".

I try to understand how Math.sin works. There is Math.cos. It is sin +90 degrees. So not all of them is something that completes a big puzzle.


There's no nice way of saying this, and I mean no malice here, but I think you're exceptionally confused or ignorant, and I don't think it would be rewarding for either of us to continue this conversation.


It's ok if you don't reply If you don't have something to add to my saying. I think it is generated in like

for x in range(0, 90): for y in range(0, 90): if xx + yy < 90*90: # it is in circle

So for the each x, the one that has the greatest y will be the sin.

Something like floatrange(0,1,0.001) may work too.


> I think it is generated in like

You can think whatever you want, that's no substitute for being correct.


This is not about being correct. Posted article looks like a clickbait. I am digging what really is about. I would like to dig more Imho. I am looking for work here.


atan(x) = asin(x / sqrt(1+x*x))


So the asin is brute force. I think it is `atan` function. Written article explains nothing. Sqrt is also like that.

It looks like there is a reasonable explanation when it is written math form but there is no.


And why do you think Congress has passed this law? What prompted them to micromanage the military in this manner? I encourage you to research this topic, “McNamara’s folly” will serve as a good starting keyword. Spoiler: it has everything to do with unsuitability of low IQ enlisted.

FWIW, ASVAB is an IQ test. Any intelligence researcher will tell you so, because it exhibits the usual positive manifold, you find the usual g factor in it, and it shows high correlation with other IQ test. The military doesn’t usually call it as such for political reasons, but will happily admit in private that ASVAB and WAIS measure the same thing: https://web.archive.org/web/20200425230037/https://www.rand....


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

Search: