• 5 Posts
  • 329 Comments
Joined 3 years ago
cake
Cake day: January 21st, 2021

help-circle





  • kevincox@lemmy.mltoProgrammer Humor@lemmy.mlme irl
    link
    fedilink
    arrow-up
    2
    ·
    4 months ago

    This speaks to me. I always have some sort of vague dream about writing a program to do something that is just a physical problem, or like decides how other people think. Writing it down is very confusing because it very clearly made absolutely no sense. But in my dream I felt like a genius and wizard.


  • Merchants are usually the ones who pay transaction fees, not customers.

    And where does the merchant’s money come from? The customers.

    So if most customers are using cards the store is making ~2% less money. This will eventually turn into a ~2% price increase to maintain their profit margins. If you pay with a credit card you will get most of this back in rewards, but if you aren’t using a credit card this is just extra cost that you lose.

    This is quite different in the EU where there are strict fee limits for credit card transactions so the cost of accepting credit cards is similar to the cost to handle cash. You will also notice that there are basically no credit card rewards in the EU because of this. Canada does have some regulation so isn’t quite as bad as the US is, but in general processing credit cards is more expensive than accepting cash for businesses.

    So basically credit card fees cost businesses money, so they raise prices to compensate. If you pay with card you can get rewards to get most of this price increase back. However for those who don’t use cards they just lose this money. It is basically a zero-sum game but you lose if you don’t play. (Especially those who are less wealthy so don’t have good enough credit rating to get a high-rewards credit card.)

    This is of course a bit of a simplified view of the situation, not all credit card rewards are directly funded by merchant fees. However at the end of the day the cost of processing cards tends to be higher than the cost of handling cash, so the businesses will have to raise prices to account for that.

    I think it would be great if businesses directly passed the cost of accepting cards to customers. That way the customer can decide if the extra cost is worth it for the convenience and rewards. Customers who prefer not to use cards then don’t get an increased price for no benefit.


  • What I do is have some general mailboxes then signed addresses on top of that.

    So if you email blog@ or kevincox@ you will get a fairly high level of spam filtering. I also have a few other “memorable” addresses that get reduced spam filtering. If you use the unique signed address that I use for signing up to services, newsletters or whatever where the address is private to a specific service then you basically skip spam filtering. Of course if you abuse that privilege then I will outright block the signed address.

    Basically by allowing friends and “trusted” services through the spam filter I can crank up the difficulty for unknown senders.


  • Yes. It is pretty easy to work around, but if that is the only tool you have it still can be used to junk a majority of the crap.

    If you want a robust solution you can use disposable aliases (which are basically randomly generated) or signed addresses.

    I do the latter. So I would generate an email like lemmy-example-59273625@kevincox.ca. If you strip or change the string at the end (which is a small HMAC) your message will go straight to junk. It isn’t perfect because there is only 4 bytes of entropy in the signature but a dedicated attacker will find a better way to spam me anyways.


  • Perfect is the enemy of good

    This is exactly the problem. If they support interoperability then they will allow their users to continue using the Signal app which has high security standards, even if the particular conversation is not as secure as native signal conversations and they can’t control what the third-party app does. This will help grow the Signal network (because now it is easier for WhatsApp users to incrementally switch to Signal) and become more secure.

    By rejecting interoperability they may be slightly improving the privacy of the 1% of users where their conversation partner would have switched to Signal, but are harming privacy the 99% of users that will now need to switch to WhatsApp for those converstions and are harming their future network growth (which would bring even more users to a private solution).


  • Most readers will also do this auto-discovery for you. So typically you can just paste the page or article URL and it will find the feed.

    Of course the extension is nicer because you don’t need to guess and check, you get a quick indicator if there is a feed or not.

    Personally I use Want My RSS because I like the preview which then lets me know if it is a full-text feed or just summaries. This is also Firefox only. But extensions for other browsers are available.






  • Everything basically.

    • Ricochet Robots solver.
    • A CLI tool to add timestamps and time since last log annotations when watching logs in a terminal.
    • A few random games.
    • RSS to Email service.
    • Making a CRDT library that embeds well in programs.
    • A tool for uploading journald log files to log aggregation services.
    • Some machine learning experiments.
    • A tiny library to implement rate limits.

  • it is simply Security Through Obscurity at best.

    I think this is a bit too strong. The bit about NAT that people associate with improved security is that it acts as a stateful firewall. This basically means that it allows outbound connections not inbound connections.

    A preventing inbound connections does provide a meaningful reduction in attack surface. No longer is every vulnerability scan on the internet going to probe your machine and it is going to be much harder for a remote attacker to get access.

    However there are two main flaws:

    1. Stateful firewalls are not perfect filters of incoming connections.
    2. Local devices still have full access to your device.



  • In general Nix doesn’t manage persistent data. It will be stored in whatever location the tool writes it to.

    nix-shell is a very simple program. Basically it downloads/builds the package you have configured, then sets up environment variables like PATH to include that package. It would be similar to downloading a pre-built tarball run running ./foo inside of that.

    For most built-in modules this will be /var/lib/foo for a service foo. If you run nix-shell the service will write data wherever it would normally write data on any other distribution.