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

I suspect that windows still has a subtle FP restoration bug. We do large scale validation of floating point data and occasionally get ever so subtly different results.


I would be interested in hear the use cases for large scale validation of floating point data. I used to work with processors that occasionally corrupted operations due to hardware manufacturing defects and these kinds of problems are exceptionally hard to debug, so I'm curious what techniques are used.

In our case, we built programs that ran enormous numbers of semi-random programs on the accelerator and compared it to reliable results computed offline. About 1 in 1000 chips would - reproducibly - fail certain operations. Identifying this helped solve problems many of our researchers reported on specific accelerator clusters- they would get a Nan in their gradients which would kill training, and it was almost always explainable by a single processor (out of ~thousands) occasionally corrupting a float.


This is a known thing that happens with bad drivers, they can mess with user-mode FP flags. For a while (IIRC) Cisco's VPN software was corrupting FP state and causing Firefox to hang/crash, for example.

At a previous company we had to run a dll in our web servers (provided by the payment processing company) for PCI compliance reasons, and we later discovered it was messing with our FP flags and as a result serialization code was producing invalid floats. That was a fun one.


Given that you say "subtly", have you ruled out rounding/precision errors? I wouldn't be surprised if some processors would play fast-and-loose with the number of significant bits they really honour.


This is likely your answer. C++ story. I worked at a large company that had a "no exceptions" policy and a custom operator new. If a new expression failed it would return nullptr instead of throwing. So lots of people wrote "checking" code to make sure the result wasn't nullptr, except that the compiler would always just elide that code since the standard mandates that the result cannot be nullptr. Many weird crashes ensued.


There are non-throwing operator new overloads that can return nullptr, but I'm not sure if those are a relatively recent development. Did the non-throwing operator new overloads not exist at the time?


Hard to say. Most of the uses probably predated the custom operator new and so nobody thought about it. Not to mention the places you cannot sneak into to switch to std::nothrow.


Ah, that's fair. Didn't think of code that couldn't be changed.


`new (nothrow)` was in C++98 and in ARM C++ before that.


Ah, I didn't know that. Thanks!


The idea that a compiler should just silently omit anything that it’s pretty sure won’t be needed is one of the most bafflingly daft decisions I’ve ever encountered.

If a supplier sent you out-of-spec parts because they didn’t think your spec was actually important, you’d call them fraudulent, not clever.


> The idea that a compiler should just silently omit anything that it’s pretty sure won’t be needed is one of the most bafflingly daft decisions I’ve ever encountered.

It's not merely "pretty sure" - the language is specifically defined this way. C++ in particular requires as a minimum standard from practitioners a perfect knowledge of the vast, complex language standard. Anything less and you'll write a program which is ill-formed or has undefined behaviour, ie your program is nonsense.


I think the key word here is "silently"; It would be one thing if the compiler informed the developer it was going to skip a statement (and said "if you really want this statement kept in, add a preprocessor directive here")


Redundant NULL checks happen all over the place. So the result of your revised requirement would be a huge pile of useless diagnostics. Whereupon, as with similar diagnostics C++ programmers demand a way to switch them off because they're annoying, then they're back to being annoyed that the compiler didn't do what they expected.


Yeah, that's the problem.


Are there any good tools to see how the compiler is rewriting your code? Almost a compiler coupled with a decompiler to show me the diff of what I wrote and what's happening?


I think this is worrying too much about a particular interpretation of "10x" and ignores the subterranean fact that people are trying to convey. There just are super-valuable devs. Everyone knows this. They stick out. And they are productive in a myriad of ways. Some are leetcode superstars, sure. But some are simply masters of unblocking the rest of the team. It's hard to even associate a particular skillset with it. But I'm sure most of you have a list in your head of the people you would absolutely want to poach if you were starting up something new.


Maybe, but the capacity for "something" to "stop something else from existing" seems to depend on laws, and the laws themselves seem pretty contingent. Why are the laws sustained? If the laws changed and things themselves caused their own demise, things couldn't just go on existing. So what keeps the current laws on the books?


You probably have to assume there is a necessary substrate. What else can you possibly think? Contingency means being contingent on something else. You could suppose that the "something else" is itself contingent, but then you have another contingency. At some point you will likely take it for granted that there must be something that is itself not contingent and that the rest of the stuff downstream turns on it being the way it is.


Wait! Contingent was just defined as everything that's not necessary. Not contingent with its normal meaning of dependent on something else. Like, a square has 4 sides, that's necessary for it to be called a square, but it might or might not depend on something else for that quality. Or a square is blue, that's contingent (i.e., what's not necessary in this usage for it to be called a square), and it might or might not depend on something else.

If you are using "contingent" with its normal meaning, the idea is absurd. We can divide everything that exists into "necessary" and "contingent", one or the other? We might as well divide everything into edible and picturesque, for example. Words, but more like word salad than meaningful statements.


> You probably have to assume there is a necessary substrate. What else can you possibly think?

That there's no necessary substrate.

> Contingency means being contingent on something else

Can't it just be "luck", then? Chaos just happened to take this form.

> At some point you will likely take it for granted that there must be something that is itself not contingent

Sorry but I don't agree. I think it is perfectly conceivable that everything is contingent and there's no "necessary substrate". For example: it could be that several factors (things like the gravitational constant and the different fundamental forces) are contingent on isolation, but when they are put together the ensemble becomes necessary. Like in a tensegrity structure (not saying that I think that's what happens to our Universe, just pointing out that there's other options besides "One necessary substrate", and we don't know which one is ours).


Can the universe be infinite? Whatever layer of contingent substrate one finds, can't there be another one lurking behind it, just as contingent?


Roger Penrose suggests patterns before the "big bang" are observable is my interpretation of what was said between him and Melvin Bragg on a Youtube clip.


I don't see what the infinite sequence of contingency buys you. Seems you might as well say there is fundamentally no reason why anything is (though I think that's untenable).


"What it buys you" suggests that we should assume reality is fundamentally organized for our convenience or comfort, or to avoid being too challenging to our intellectual powers and/or beliefs.

By introducing the concept of reasons into the discussion, you seem to be adding a new dimension of purpose to it (unless you are using 'reason' as a synonym for 'cause', but if so, it would have been clearer to stick with the latter.) Your belief that the universe has a purpose (if that is what you are saying here) does not logically compel anyone else to accept a first cause.

Update: In your view, there is a hierarchy of causes of something, the first of which is necessary and the rest of which are contingent. Therefore, the second cause was contingent. This implies that the first cause made a choice between which of the second-cause options obtained. But as the first cause had a choice, then it could have gone another way, so it was contingent...


It doesn't really have anything to do with time. The "sustainment" question is different from the "causal" question. Causal questions are typically temporal and past-looking. Sustainment is a question about "now", always.


Depends on if you mean direct-dependence or some ancestral-dependence. Contingent things can depend on other contingent things in some narrow scope. But a complete answer to "why X?" (e.g., "because Y") should avoid begging the question (e.g., "ok, why Y?").


That is the whole point of God as an explanation. God is where the buck stops on contingency. God is necessary.


It seems to me that you have created a one-time exception that gets yourself out of the infinite regress that this line of thought leads to. All it does, however, is to raise another question to replace the original one: why is God necessary?


I think it does exactly that, which is supposes a one-time exception to get out of infinite regress. But, I mean, if God exists, that's how it is. So the story doesn't seem incoherent. As for asking why is God necessary, I think that is a misplaced question. God's necessity wouldn't derive from something else, because then it wouldn't be necessity (just another derived contingency). The starting point is that something necessary has to be the basis of the rest of the stuff, that's it.


Not being obviously incoherent is not an argument for that belief being correct; it is merely the very minimum a belief has to achieve to avoid being summarily dismissed for being irrational.

I can understand why you would like the question of why God is necessary to be "misplaced" (which is a euphemism for what, exactly? It is no less coherent than the other questions being entertained here), but, with your 'that's it", you are simply refusing to look further than the answer you wanted.

Furthermore, as I am sure you are aware, 'God' is a loaded term, on which has been heaped a huge amount of conceptual baggage. Therefore, I assume you chose to write 'God', rather than some more neutral term such as 'necessary cause', for some purpose - but what? Your argument for there being a necessary cause would not offer any reason to justify any of that baggage.


If god can be the one-time exception, the universe can also be the one-time exception.


I agree with this, but we don't really know if the universe is God using this infinite regress definition.

The cool part about this definition of God, is that it necessitates the existence by definition, and gives a falsifiable hypothesis.

Continuing with this definition, current cosmological theories would then imply that the Big Bang is God. Though this explanation of the beginning of everything leaves me unsatisfied. It just feels like something else kicked everything off.

We really need a way to peer behind the Event Horizon of the Big Bang, which we obviously can't do empirically, so we are stuck using logical deductions.

I personally think studying pure math and some of the more untested physics theories like String Theory, and Stephen Wolfram's physics project give a lot of food for thought.

Enumerating every possible pattern, while computationally infeasible, still paints an interesting landscape, even granting how little of it we can describe.


Defining God to be whatever is assumed to be necessary is the opposite of a falsifiable hypothesis.

You say we are stuck with logical deductions, but the thing about them is that they are no more true than are their premises, so analytical metaphysics grounds out in a personal and subjective choice of axioms (subjective in the sense that no-one else is logically compelled to accept them.)


I think if we found the beginning causal chain, then that would be falsifiable... theoretically.

Assuming God = Beginning of the causal chain, Finding this prime mover becomes a tangible physical hypothesis.

I don't think most religious people would agree with this definition of God though.

Also, if the information needed to confirm the beginning of the causal chain is locked behind an Event Horizon, then I don't know what to conclude about this.

I think it's possible to build a model in our slice of the universe that can let us peer beyond such limitations. But I can't be sure.


My apologies; I misunderstood your previous post. Nevertheless, let's suppose there is a falsifiable prime mover, and we have somehow discovered it. Being falsifiable, however, means we can ask what made it true rather than false, so the regression does not stop.

Rather ironically, the "there must be a prime mover" argument for God can only avoid being blatantly arbitrary, tendentious and self-serving by saying God had no choice in anything, which is definitely not what most religious people want to believe.


I think I see what you mean.

To rephrase what you are saying for my own brain: An original causal event may still have dependencies that aren't necessarily bound to it in time or space. And these dependencies may have their own structure that are suspectable to infinite regress.

Perhaps an example of this is how all the fundamental constants have very specific values that are required aprori for anything to happen in the first place.


Any beginning would probably leave you unsatisfied, as it would probably still make you wonder what started that beginning...


One row of that, two colors, has 18,446,744,073,709,551,616 permutations. Now do it for 63 more rows. Now write that to disk.


The way I see it, if "let's talk when you get a minute" comes across as spooky that means you already have a communication breakdown and mistrust has already blossomed. Here's a slightly different scenario: You have a disagreement with management; there are many subsequent conversations happening behind the scenes; but no one keeps you in the loop or updates you on what is being decided. In that situation, practically any message (apart from "here is exactly what we are thinking..") comes across as spooky, and you will start reading into what _isnt_ said. In short, if you think someone might want to know something, and they have a reasonable claim on deserving to know, let them know. Keep people informed, and if you do that then "let's talk when you get a minute" won't feel like such a lurking shadow.


Some degree of mistrust - or should I say, fear - is normal when communicating with your manager/supervisor, because there's a power imbalance in that relationship. Your manager has the power to significantly complicate or even derail your whole life. They're also themselves in a similar relationship with the person above them in the org chart. So no matter how much you trust them, there's always the possibility they're bringing bad news, and vague communication helps people play up that possibility in their heads.


Exactly. What this article leaves out is the correct opening to the story.

"A person who can arbitrarily make your life hell, including by ending your job right now, tells you 'let’s talk when you get a minute.'"

I think the standard American corporate system of power is kinda ridiculous. But it is what it is, and whenever I'm a manager in that kind of system I try hard to remember that everything I say has that preface to it whether I like it or not. Everything. And everything people "beneath" me say to me will have an equivalent preface about what they think they can safely say.


The American system is designed to keep the power balance by making it easy to get another job.

Yes, there's some economic power difference - and sometimes it is out of balance. The idea that your boss has control over you is silly; your boss has the control over you that you give them in exchange for compensation, and you can always just quit - I wish people would do so more, because many of the worst attributes of the modern workplace are because people don't just quit.


With health insurance connected to your employment, references checks, previous salary leveling, noncompetes, the interview process.. the American system doesn't make it easy to get another job.


Yeah I felt bad for writing the comment a while back “if you want a big vacation just take time off between jobs” and then I realised in the US that means you’d probably have no health insurance for that time.

I saw another comment saying you need more than 10M to be truly financially independent in case you get sick … to a single person!


COBRA allows retroactive opt-in. That could help with taking a long vacation, depending on how your healthcare costs come in


While I agree that quitting should be the way, to add to the rest of the comments, there are also other forces at play like the length of your tenure at your previous company, references from previous employers, reason for leaving and the stigma around mentioning anything negative about your previous boss/employer in an interview in the answer to that question can make this a tricky thing.

It seems to me that much of the system is designed in a way that gives a lot of power to the employer.


I mean, I think designed is a bit strong here. And the long history of labor restriction, including today's tendency toward non-competes, clearly suggests it's not working so well. But to the extent that people do quit jobs, that does certainly help.

But you're very breezy here about quitting jobs. It's easy enough for a young, single guy in a hot industry. It's quite difficult for others, especially given how things like health care are tied to employment.


Health care tied to employment is an invention within our lifetime. Free health care from employers has been a thing for a long time - since the 50s, but the rise in costs to the point where it's untenable to purchase individually is new, driven by laws forcing employers to provide it.

In the 1980s, it was possible for families - Two adults, two kids - To buy health insurance for <$100/mo. https://listwithclever.com/research/healthcare-costs-over-ti... . Prices started spiking in the 90s, but really skyrocketed in the 2010s.


I don't disagree, but I think it's more about establishing a good rapport where statements like "let's talk" can be informative and not just confusing. If you trust your manager and have good communication with them, "let's talk" should get you worried. Management obviously has a power advantage, but good managers that communicate effectively know how to become reliable signals, even when they aren't in a good position to divulge more information. In other words, I take it that the problem OP raised is not "don't signal that bad news is coming" but rather "don't put out confusing signals." If you are a manager, and you say to someone "let's talk" and they can't figure out how to interpret that - they can't figure out whether they are about to be fired or whether you simply want to ask them about such-and-such - you have already done a bad job at establishing a rapport. A good manager, who has established good communication, can use a carefully placed vague statement to communicate that something unpleasant is coming.


And what, exactly, is the purpose of a manager communicating that something unpleasant is coming without actually giving context for what that domain is going to be?

If you’re going to tell me something unpleasant is coming, at least give me enough clues to steel myself for news about:

- technology problem

- customer problem

- team communication problem

- team performance problem

- personal performance problem

- litigation problem

- etc

Any of those things still might lead to me getting fired for any number of reasons, but at least my imagination can spin something potentially productive to bring to the meeting.

If you say only “let’s talk” all the time, it just becomes a background anxiety due to being acclimated to it, sure, but I don’t see how it’s productive.

This whole “you need to have anxiety now” makes absolutely zero sense to me. The meeting can be for the details that you’re not prepared to dig into right now, that’s fine, just give me enough broad context to hang a hat on.

Edit: I guess if there’s zero power imbalance, I might be fine with just “let’s talk,” but I still don’t see why providing zero context results in a better meeting.


>I don't disagree, but I think it's more about establishing a good rapport where statements like "let's talk" can be informative and not just confusing.

Can take years to establish something like that. That isn't a luxury most managers have.

Moreover, having enough empathy to understand the power imbalance and going out of your way to not be "spooky" when you first start working together is partly how a rapport like that is built.


Even in intimate personal relationships "we need to talk" is frequently assumed to be something bad. You're asking for co-workers to have better rapport than a typical significant-other relationship, which is just not realistic for most working relationships.


Trust alone isn't enough to make a cryptic message not cryptic. I can 100% trust someone, but still be scared when they send cryptic messages like that. With a cryptic message, you won`t be able to predict what they are going to say, and they still might have to deliver bad news like "X has been fired", "X has passed away", "there was a critical failure in product Y", "our department has been having financial problems and we will have to layoff you and your team"... Not to mention the asymmetric power relationship, which exists regardless of trust.


If my wife sends me a “we need to talk after work” then I’ll be scared shitless even if I trust her with my life. Or if my mom sends me a calendar invite for a “quick life update”. It has nothing to do with trust. It’s just good communication to state what it is you need to talk about.


The problem with that is that we don't know how another person finds our communication. The reason the phrase "let's talk" leads to alarm bells is because one side has the self-assured feeling that they have good communication and don't take the other side's ability to respond into account. Moreover, when we initiate a work-related meeting with no context, we provide no frame of mind or ability to prepare to the other party.

If our request isn't high value enough to provide the other person additional context, our request isn't so important it can't wait until coincidence or regular schedule allows the discussion. We're responding to our own feelings of urgency in the moment rather than the planned and understood needs of our roles. When we do that, our communication, even if we feel like it is healthy and well-built, is only coincidentally so and its health is subject to swift erosion.


It’s impossible for me not to have any fear of someone whose job is (in part) evaluating and criticizing my work and determining whether I should be fired.


Not even just fired: just promotions, pay review, future reference, work allocation and pleasantness (or lack of) in the future.

I learnt in one job never question anyone superior in a Jira comment. Although innocent I was taken to task for it and I believe my life got worse after that point. I was just trying to solve some technical thing. I wasn’t fired but I still didn’t have fun.


I should clarify: I don't mean that you shouldn't be worried when you get the "let's talk" message. What I mean is, it shouldn't come across as "spooky"; that is, when they say it, it shouldn't leave you with the utterly baffling sensation of not knowing whether they are about to tell you something utterly horrible or something utterly trivial.


And how would that work?

No matter the connection between two people, how close they are privately, none of that can fill in the missing information.

Even your best friend or even your spouse can have some very bad news for you. In the context we are discussion it is rare that only one person and exactly the one giving you the request will be completely in control over what it's about.

The news does not have to originate from them, they are just reporting it. So you may have the greatest of relationship with that person and you know 100%V they have your best interest in mind at all times, but you don't have that same connection with the rest of the entire universe which can be the real origin of the message you will be receiving.

There also is to take into account that humans are much more likely to try to delay bad news while good news is shared much more easily and quickly. So receiving the discussed communication already tends to be used more frequently for talks people would rather not have.


> The way I see it, if "let's talk when you get a minute" comes across as spooky that means you already have a communication breakdown and mistrust has already blossomed.

I think this might not necessarily be the case. Judging from the frequency the topic is brought up here on HN, a lot of highly skilled, well-performing people suffer from impostor syndrome or other forms of anxiety in the workplace. A ‘spooky’ message then easily leads to reinforcement of their (skewed) negative self-image, without it having anything to do with distrust in either direction.

P.S. I do completely agree with both the scenario and conclusion you illustrate in the rest of your comment and think my supplement of the premise in your first sentence in no way changes the validity of said scenario and conclusion.


I will never make the mistake of trusting management again.

No matter how good my relationship is with my direct manager, someone above them can decide I’m gone and neither my boss or my boss’s boss can do anything to save me. Happened to me twice.

Every time some bad happened in my career, it’s been preceded by vague request to talk.

This isn’t helped by having an unrelated anxiety disorder.


> The way I see it, if "let's talk when you get a minute" comes across as spooky that means you already have a communication breakdown and mistrust has already blossomed.

I talked with a former boss about this (in a good way): trust. I always think about this when thinking about my relationship with an employer: do I trust them to do right by me? Typically when the answer is "no", I know it's time to leave.

You need to build and maintain trust in the relationship. It doesn't need to be on a friend level but you need to have built trust that your boss is watching your back and wants the best for you as a person.

Then if a hard discussion needs to occur, even if it doesn't end in termination, the discussion can begin at a place of "how do _we_ solve this" rather than having to work on an unstable and untrusting platform.


I think I have a really good boss, but at the end of the day, it's an imbalanced relationship. He holds my salary in his hands, I think some fear is natural.


Even if you trust your boss, do you also go for drinks with the CFO and CTO on the weekends? Have cookouts with the VP of engineering? Join the board meetings where they decide to kill your region? In the end a middle manager is just a small cog with most everything out of their control. Having a decent relationship is as good as it gets but it’s hardly a safeguard against much of anything


Nah, different levels of trust are a thing but it doesn't solve spookiness. People will, rationally, think about the range of possibilities for what you might want to talk about, and if you leave that range as "absolutely anything" it includes bad news.

Right now, it also complicates things that so much communication is over toneless chat or email; something that's clumsily worded or just brief can come across a lot worse than it was meant.

Years back, I was entirely remote my first year at the job. When I finally went to a work retreat I was shocked how nice people were to me. For the whole year I'd thought no one liked me and I was on the verge of being fired! (Also, no one's faces looked how I had guessed from their voices on conference calls :D)


To me, even with good trust, the naked "let's talk" or "team meeting at X:XX" communications tend to come across like a dead canary.

I've had good trust with most of my managers but since they'd usually include a few words to indicate what they'd like to talk about, then the rare cases where that context is missing tends to imply that it's something too sensitive to mention over e-mail or chat. That's almost always bad news.


> that means you already have a communication breakdown and mistrust has already blossomed

This is too all-or-nothing. It's a business; things can happen that are nothing to do with trust. Not everything can be avoided by better relationship.


> you already have a communication breakdown and mistrust has already blossomed

Or you haven't had the time and chance to build up communication and trust. That takes a long time, it's perfectly natural that it would take many months to a few years for somebody to feel perfectly safe in their relationship with their managers


If you are in a new relationship with management and they are already hitting you with vague "let's talk" statements, you are pretty much guaranteed that they are bad communicators and that you won't be able to glean much of anything from what they say to you.


We’ve also been in a insane bull market for most of many peoples careers now. Many fresh managers have never seen bad times. It’s easy to be a pal when times are good and budgets aplenty. From 2008 I remember a distinct overnight shift in managements demeanor once they knew what was coming for us


> The way I see it, if "let's talk when you get a minute" comes across as spooky that means you already have a communication breakdown and mistrust has already blossomed.

Oh... Not necessarily. If I heard this I couldn't resist the temptation to guess what the talk would be about. In a work environment normally a lot of things happens at the same time, so any of these may be the topic of the coming discussion. Which one of them? Is this important enough so I should stop doing what I'm doing? Or it may wait for some time? For how long? An hour? A day? A week?

I cannot talk about everyone, maybe I'm not socially competent enough to decide on how long it may wait (could I infer it from the tone used by the manager?), so it is easier to me to drop my recent work and to start talking right now, then to risk showing disrespect or something like this. Or I can go clever and to pretend that I'm busy right now, but to show up to the talk in a half an hour. Probably doing nothing for half an hour because my mind wanders trying to guess what it is about, so I cannot concentrate. Such a delay is not very helpful for the work done, but it helps to not look super awkward, but shuts the question on "how long it may wait".

From the other hand, if I know at least something about the coming talk, I can judge (at least vaguely) on how it is important, how long it can wait. I can shuffle my priorities in a meaningful way without any anxiety that I'm making a mistake now.

All this is a description of my normal reaction, but sometimes I'm stressed a lot, or maybe feel myself not totally healthy, and then I can be really anxious. Without any rational reason.

> In short, if you think someone might want to know something, and they have a reasonable claim on deserving to know

In a short it is easier to give a bit of a context, then to simulate the mind of the others to guess what they might want to know, and what the reasonable claims they can have. It may be just me, but it is hard to simulate properly -- you need to know what they know, what they didn't know but you know, to shuffle all this to prepare a context to a simulation, then to spend some effort on the simulation itself, ... Why to do all these difficult tasks, if you can say instead "I wish to talk with you about X, because I got bits of information X and Y". It would take 0.5-1.5 seconds longer, and no theory of mind needed.

There was a psychological experiment, where experimenter came to a queue to the copier, and tried different strategies to make his copies in a hurry. The key insight is a word "because": you can ask people of anything, but you need to give them a reason, why your claim should be respected. You can give dumb explanations explaining nothing ("please, let me be the first to copy, because I need to hurry"), it is nevertheless a way better than to give no explanation. The position of managers let them to ignore these rules of a common decency (they are so much more important for the company, and they can make your life a misery, and in any case they find some excuse to blame you instead of themselves, like "you must be a team-player and to forgive your teammates for a small mistakes they made in a hurry"... they have power, so just get over this crap), but it doesn't mean that they should do it. Sometimes I think, that they do it to remind everyone about their position in a pecking order. Not consciously, but the pecking order is wired deep inside our brains, it doesn't need consciousness to drive our actions.


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

Search: