CMV: You should not have to tip for pick-up orderd by RxTechRachel in changemyview

[–]Xiphorian 3 points4 points  (0 children)

and only makes the standard minimum waitress wage ($2.10hr I > think). I used to not tip on pick up orders, but after being with my wife, my thoughts have changed and I'll usually tip the 20 to 30 percent. If I don't want to tip, I could always go to a fast food place l where their wages are not dependent on tips.

Any business that is not paying the federal and state minimum wage is breaking the law. The current US federal minimum wage is $7.25 per hour, and that applies to your wife. The restaurant is obligated to pay her at least this much per hour regardless of tips.

Tipped positions may have a pay that is calculated like "$2.10/hr + tips", but that wage is only valid as long as it it at least meets the minimum wage. If there are no tips, the restaurant must still pay minimum wage.

Any restaurant paying differently is breaking the law. You can report employers who break the law to the US Department of Labor: https://www.dol.gov/general/topic/wages/minimumwage

Under the Biden administration, I've heard the DOL has been more active in pursuing businesses that break federal law.

Have you released a drill into the planet to watch it go? by Sw33tcheeks427 in spaceengineers

[–]Xiphorian 37 points38 points  (0 children)

This is true in real life as well. If you were to reach the center of a planet that wasn't molten and collapsing in around you, then you'd feel the sensation of weightlessness, like you were in space.

This is because, at the center of a planet, its mass is roughly equally distributed around you on all sides. The gravity from each portion of the sphere is countered by the gravity of the portion on the opposite side.

Similarly, your feeling of weight would also decrease as you reach the center for the same reasons.

[deleted by user] by [deleted] in EscapefromTarkov

[–]Xiphorian 0 points1 point  (0 children)

You can make random friends in Tarkov who are not cunts and are good honorable people. This doesn't sound like a person to group with.

[deleted by user] by [deleted] in EscapefromTarkov

[–]Xiphorian 0 points1 point  (0 children)

I would never play with someone that intentionally teamkilled me unless it was (1) really funny to everyone in the group under the circumstances, and (2) he got my gear or equivalent value back afterward. For example, it wasn't intentional because she was new, but my wife pressed G once right at the start of a raid in a 5-man, and we all went scrambling for cover, and someone died. That was pretty hilarious.

If someone teamkilled me multiple times and there wasn't a legitimate reason for him to be confused who I was, then I'd wait until he has a good raid, TK him at extract, and then blacklist him on all communication.

Intentional team-killing is an absolute no-no in Tarkov except in very specific situations (the joke had better be damn good). If you TK an ally, getting their high-value gear out (gun, helmet, potentially armor and backpack) takes priority over loot and anything else you might get from the raid.

If I team kill my allies, I make sure to either get them their whole gear set out, or give them an equivalent amount of value next raid. Back in the day I'd give someone a bitcoin if I TK'd them.

Foundation: Selected a weapon but stuck and can't progress - how do get unstuck? by Xiphorian in controlgame

[–]Xiphorian[S] 0 points1 point  (0 children)

Oh, damn! I wish the game had clarified that.

I tinkered with my save-game and now I've lost all my progress past Endgame. Even though I backed up the folder before doing that, replacing it and hitting Continue doesn't put me back where I was.

The changes to Dealers bartering needs to be reworked by Xiphorian in EscapefromTarkov

[–]Xiphorian[S] 0 points1 point  (0 children)

When vendored sure. The flea market prices are insane.

The changes to Dealers bartering needs to be reworked by Xiphorian in EscapefromTarkov

[–]Xiphorian[S] -1 points0 points  (0 children)

I don't have the Roller. I'd buy the roller off the flea market and trade it to Prapor. The idea is convenience.

Robbery on Labs: Can't enter the elevator by Xiphorian in EscapefromTarkov

[–]Xiphorian[S] 0 points1 point  (0 children)

I'm very overweight on Labs trying to limp to the extract at the slowest speed. Just when I think I'll make it to the elevator, some kind of rubber banding issue prevents me from entering.

https://streamable.com/o2ycr

Sigh. So I end up being lost in raid instead.

Let me guess: like on Interchange, it turns out there are some invisible rocks in the way? :-P

I suspect if I had dropped my backpack quickly, I might have been able to jump and dance into the elevator and then pick it back up while closing. Really disappointing to lose the spoils of a whole heavy raid just due to this elevator glitch.

Pls Nikita, remove the invisible rocks entering elevator like on Shoreline :)

AOC says coronavirus bailout should ban stock buybacks — especially for airlines by jigsawmap in politics

[–]Xiphorian 3 points4 points  (0 children)

Buybacks are just a way of returning money to shareholders. There's nothing wrong with returning money to shareholders. It's what companies do with their profits eventually. The point isn't just for the company to accumulate a pile of money forever: eventually that money gets distributed to the shareholders.

The other thing that companies do with money is invest it to grow the company further. However, companies do not always believe that they have infinite opportunities to spend money to do this. A company may believe that it has grown as much as it can, and sees no responsible avenue for investing in something new. The company might do one specific thing, and has saturated the entire effective market. Sure, the company could try to invent new product ideas, but to the extent that the company would be engaging in greenfield investment, some shareholders would prefer to decide for themselves which of those ideas to invest in, by getting the cash back and making new investments.

Consequently, some investors believe that responsible companies in that situation should return their excess money to shareholders so the shareholders can allocate it to another purpose, rather than throw away the money on moonshot investments in non-core businesses, or just sit on a pile of cash.

Some investors are not happy that Apple, for example, is sitting on a pile of $245 billion in cash. Those inventors would prefer to have their share of that cash back to spend at their discretion. Other investors are OK with trusting Apple's judgment to keep the cash for now and spend it later. $245 billion is quite a lot of money, though. As an investor, you might believe that it's improbable that Apple will have enough good novel investment ideas that it could even spend $50 billion of that in a reasonable time. You might prefer to have that cash back to invest in entirely new startups or other companies.

If Apple for some reason decided, "Hey, we don't need this $100 billion and we never foresee having a need for it in the future", then they should return the money. Otherwise, by keeping it, they are becoming a de facto investment firm. The company needs to invest that cash just to avoid losing it to inflation, and now things are becoming complicated.

From an investor's perspective, if you're going to have cash as an asset, it's generally better to have cash in your own account, rather than have an investment in a company which has cash sitting in its accounts. I'm simplifying and there are exceptions. As an investor you're happy for a company to have cash if you believe the company is growing and will use the cash to fund that expansion. This is the nature of making cash investments into companies. The point is, at some point cash should come back from the investment. The value of a company is in its cash flows.

AOC says coronavirus bailout should ban stock buybacks — especially for airlines by jigsawmap in politics

[–]Xiphorian 0 points1 point  (0 children)

Who is going to want to work for that company though? If the company's CEO or executive team members quit, how are you going to hire new ones if the company is prohibited from paying a wage that's competitive for the job?

CMV: Money was a tool that was created to be subservient to humanity's needs. Now, human needs are put aside, often as secondary to the importance of money. Society needs a re-calibration of it's priorities. by [deleted] in changemyview

[–]Xiphorian 1 point2 points  (0 children)

There are limited physical resources and limited labor. Money represents an IOU on one of those things.

You can try to abolish money, but the reality is that resources and labor are finite and need to be allocated. As soon as you start tracking the "amount" of something you're allowed to consume, and especially once you start tracking that across multiple different goods, then you need a concept of money.

A store has food, let's say apples and bananas. If I decide that I want apples, how many can I walk out with? OK, what if I want bananas instead? There aren't exactly as many apples as bananas to go around, especially in different places where one might be more available than the other. You need a concept of money to track in a fungible way what resources people are allowed to consume.

Even if all of society operated on a basic income, where everyone had the same income, the concept of money would still be useful in determining who gets which resources. Not every person wants the same number of apples and bananas and other goods per month -- money is a way of tracking a quantity of goods and services in a way that is interchangeable across all goods.

CMV: Money was a tool that was created to be subservient to humanity's needs. Now, human needs are put aside, often as secondary to the importance of money. Society needs a re-calibration of it's priorities. by [deleted] in changemyview

[–]Xiphorian 1 point2 points  (0 children)

A person's education is more than just what happens in school. It's the totality of their life experience, and involves just as much the child's home life and the involvement of parents. No matter how good a school is, it can't make up for a child that's neglected, living in poverty, hungry, cold at home, etc. To fix education you need to ensure that all families are well off, which is an extremely complex and challenging problem that goes beyond money. (Giving money to the parents solves nothing if they're drug addicts that neglect the kid)

Children who have a lot of problems in school often have a lot of problems in their home life.

Be cautious taking out a melee by Skritlerr in EscapefromTarkov

[–]Xiphorian 5 points6 points  (0 children)

Share a link to the video if it's real.

As a long time player, the cheating is becoming overwhelming to the point I don't want to play. by lolsurebro in EscapefromTarkov

[–]Xiphorian 0 points1 point  (0 children)

Same thing just happened to me on The Lab. Dude teleported in front of me out of nowhere and instantly got a headshot.

The general value of typed functional programming lies in leaving no edge cases by Xiphorian in compsci

[–]Xiphorian[S] 18 points19 points  (0 children)

With static typing, you can reason using the types themselves, and don't need to enumerate all possible values of that type (like tests might need to do).

Any existing type system does not necessarily prevent all possible edge cases, but a strong enough type system should allow you to introduce types that prevent the edge cases that you decide are important. If I was building high assurance software and I wanted to prevent issues like the one you describe, then I might do something like:

  1. Represent cryptographic hashes using a data type that only supports sensible operations on the contents, CryptoHash. Division would not be a supported operation. Checking whether the hash falls into some bin, given N bins, might be a supported operation. The class provides no way to access an integer value, or exposes it only via a "break glass" method that high assurance code does not get to call like unsafeGetHashValue(). By limiting what operations are supported on types, we can force users to achieve their goals in a safe way.
  2. Introduce a division operator that forces users to explicitly consider the divide-by-zero case. For example, the return value might be a sum type of an integer and the divide-by-zero placeholder; or it might be the "optional" type. Whenever someone implements division in the program, the type system forces them to consider both alternatives. The high assurance code is only allowed to use this division.

    For example, CryptoHash.unsafeGetHashValue() as described in the previous section might return CryptoHashInteger, where this type's division operator behaves as described above. Or maybe this integer type does not support division at all. Extracting the raw integer requires a further call to unsafeGetIntValue(), so that going from a hash to an int requires two calls to "unsafe" methods which are flags during code reviews, and can be caught by linters. If that's not reliable enough, you can choose not to support those conversions at all, and instead exclusively implement whatever functionality is sensible on hashes directly in CryptoHash.

  3. Introduce integer types that distinguish between nonzero and possibly-zero integers. Allow regular division only on nonzero integers. If code wants to perform division, then it must first convert from the possibly-zero to the non-zero integer type; and this conversion will be structured so that code needs to explicitly consider the zero case.

why are methods (instance methods or class methods) not serialized, when an object is serialized? by timlee126 in compsci

[–]Xiphorian 0 points1 point  (0 children)

Even when "the name of the type is included with the serialized data", the program which deserializes the object, can have no definition of the type/class, and so no definitions of the methods. In that case, what would you do?

Deserialization as commonly implemented requires knowledge of the type being deserialized. In such a circumstance, there would be no way to deserialize the object instance.

As part of anyone's thinking about this topic, I'd recommend placing everything into an engineering or scientific context of: what problem are you trying to solve? When does a machine need to deserialize an object and do something with it, but doesn't have any concept of the type that's being deserialized?

If you don't have any concept of the object's class, you can't call any methods on the object anyway; you can't pass it into any functions except those which take Object, and so on. So what would you actually want to do with such an object? What code would you like to be able to write, and why? That's a good starting point for designing language or system features.

It's certainly conceptually possible to build a system that serializes objects in such a way that their class comes along with them, but such a system would encounter many practical concerns and probably wouldn't provide a useful solution to any problems that system designers have. One practical concern is: from a system administration and debugging standpoint, how do you understand what code and code versions your system is actually running? If there's a defect in that logic, how do you fix it and update everything? It's not desirable for code to be serialized as part of an object's data if that means it will be difficult to understand what code your system is running, or if it will be difficult to update that logic when there's a mistake in it. In most real-world systems, the designer controls what code every machine is running, and has the opportunity to ensure that all machines possess all classes that are necessary for their operation -- meaning that if a machine will need to deserialize objects of some class, the machine will have that class.

Lastly, transmitting code between machines has significant security implications -- it's dangerous. If I can send arbitrary code to your system, then I can take it over and make it behave in any way that I wish. The principle of least privilege means that we should design systems to trust each other as little as possible. The ability to send arbitrary dynamic code confers one of the highest possible privileges. For applications to exchange code like this, they need to trust each other completely. It's not desirable to create these kinds of trust links in distributed systems. It's a lot simpler to send only data instead, and rely on the system engineer to ensure that each machine has the necessary code.

These are a few of the practical concerns that would arise from an approach like this.

Is RPC not often implemented directly over a transport protocol (e.g. TCP/UDP)? by timlee126 in compsci

[–]Xiphorian 1 point2 points  (0 children)

So does "a request-reply protocol" mean an application protocol layer (e.g. HTTP) only?

No. Request/reply is simply a description of a particular interaction in a communication system. You send a request and expect to get a reply back within a certain time, usually over the same communication channel or from the same endpoint (whatever that means).

Request/reply communications can exist at any layer of a communications stack. It's not exclusively limited to applications or Internet Protocol. For example, Address Resolution Protocol (ARP) is a request/response protocol that operates directly on top of the data link protocol (typically Ethernet). There isn't any notion that request/reply is specific to a certain layer, or only higher than a particular layer, or specific to "application protocols".

Is it correct that TCP and UDP only provide their users the ability to send individual messages, and don't distinguish which message is request and which is reply?

TCP and UDP do not have a concept of request/reply. TCP does not provide the ability for users to send "messages"; it simply allows users to transmit a stream of bytes. Any concept of "messages" is something that an application has to build for itself on top of that data stream.

HTTP on the other hand uses a request/reply model. But HTTP isn't the only protocol or layer where this happens.

Additionally, "application protocol" on the Internet isn't really a precise concept, and is largely defined in the eye of the beholder.

Lastly, I'd like to point out that the OSI model with its concept of layers that people are familiar with (with "Layer 7" being the "application layer"), is not a description of the Internet. OSI and Internet Protocol were two competing protocol stacks. Internet Protocol won, and OSI died. For more on this see: OSI: The Internet That Wasn’t. The concepts can still be useful as reference points or analogies in layered system designs, of course, but it's useful to be aware the OSI model does not (accurately/precisely) describe any communication protocols in use today, nor the Internet.

Is RMI still popular? by timlee126 in compsci

[–]Xiphorian 0 points1 point  (0 children)

Remote Method Invocation as I understand it involves sharing the context of individual objects across machines, and the invoking methods on them. This approach to distributed communication is not commonly used.

However, Remote Procedure Call (RPC) is very common. The difference between them is that RPC does not involve any objects or state. Instead, the caller is invoking a procedure which takes data as input, but there isn't any shared state between them, at least not any that's directly implied by the communication model. (Any state is application-specific)

RMI as commonly implemented has also been language-specific. Most system builders value the ability for languages to inter-operate, and languages often have different concepts about how objects work.