• 0 Posts
  • 25 Comments
Joined 1 year ago
cake
Cake day: July 15th, 2023

help-circle
  • I disagree. You should have validation at each layer, as it’s easier to handle bad inputs and errors the earlier they are caught.

    It’s especially important in this case with email because often one or more of the following comes into play when you’re dealing with an email input:

    • You’re doing more than sending an email (for ex, creating a record for a new user).
    • The UI isn’t waiting for you to send that email (for ex, it’s handled through a queue or some other background process).
    • The API call to send an email has a cost (both time and money).
    • You have multiple email recipients (better hope that external API error tells you which one failed).

    I’m not suggesting that validation of an email should attempt to be exhaustive, but a well thought-out implementation validates all user inputs. Even the underlying API in this example is validating the email you give it before trying to send an email through its own underlying API.

    Passing obvious garbage inputs down is just bad practice.




  • You should get 33% more pay as the full work force productivity would be 4/3 of the original in your example.

    This difference might be clearer with an example where only half of the work force is required to match the original productivity. In this case, if the full work force continues to work, productivity is presumably doubled. That’s not a 50% increase. It’s 200% of the original or a 100% increase. So the trade-off should be between 50% fewer working hours and 100% more pay.

    Of course, instead you’ll work the same hours for the same pay and some shareholders pocket that 100% difference.






  • Storage is probably the easier aspect to address. Storage is cheap and decentralized storage systems have existed for decades.

    The problem is bandwidth and latency. Most residential ISPs do not offer high bandwidth and low latency upstream connections, which means there’s no good way to serve the content you’re storing.

    Residential fiber is becoming more common in some areas, but often those residential plans still limit upstream or specifically have terms in their acceptable use policy that forbid such activities. Here’s an example from my fiber provider, which couldn’t be clearer:

    You may not use the Services to host any type of server.

    It’s a little silly of course, because if you were playing a game and hosting, you’re probably hosting a server! But if I were serving videos to thousands of peers, I’m sure they would notice and take issue.


  • If you are signing a contract authored exclusively by one party you can assume it is designed solely to expand and protect the rights of that one party to the maximum extent permitted by applicable law. This can include their rights to modify the terms (usually with some form of notice).

    Anything less would be a failing on the part of their attorneys. As a consumer you can agree to their terms or… take your business to a competitor who will offer similar terms.

    If you want some specifics, here they are (emphasis mine):

    CAN T-MOBILE CHANGE, SUSPEND OR TERMINATE MY SERVICES OR THIS AGREEMENT? Yes. Except as described below for Rate Plans with the price-lock guarantee (including the “Un-Contract Promise”), we may change, limit, suspend or terminate your Service or this Agreement at any time, including if you engage in any of the prohibited uses described in these T&Cs, no longer reside in a T-Mobile-owned network coverage area, or engage in harassing, threatening, abusive or offensive behavior. If your Service, Product, or account is limited, suspended, or terminated and then reinstated, you may be charged a reconnection fee. Your account may still accrue charges even if the Service is suspended. You are responsible for any charges that are incurred while your Service or account is suspended.

    Under certain limited circumstances, we may also block your Device from working on our network. If the change to your Service, Product, or Rate Plan will have a material adverse effect on you, we will provide 14 days’ notice of the change. You’ll agree to any change by using your Service or Product after the effective date of the change. We may exclude certain types of calls, messages or sessions (e.g. conference and chat lines, broadcast, international, 900 or 976 calls, etc.), in our sole discretion, without further notice…

    If you are on a price-lock guaranteed Rate Plan, we will not increase your monthly recurring Service charge (“Recurring Charge”) for the period that applies to your Rate Plan, or if no specific period applies, for as long as you continuously remain a customer in good standing on a qualifying Rate Plan. If you switch plans, the price-lock guarantee for your new Rate Plan will apply (if there is one). The price-lock guarantee is limited to your Recurring Charge and does not include, for example, add-on features, taxes, surcharges, fees, or charges for extra Features or Devices.