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

Is this good news or bad news for Plaid?


This is bad. Stripe doesn't have to provide the best service here. A lot of companies already use Stripe making the barrier to trying this out very low. Likewise for startups, if you're already trying out Stripe billing for your MVP you're more likely to use another Stripe product than to try out Plaid.


I'd agree. A startup looking to use Stripe Atlas now has access to this for standing up their services? Plaid is basically disqualified from the start, given how cohesive the Stripe platform is.


Yeah exactly this, Plaid is probably in for a rough ride long term. Stripe will likely steamroll them.


i think it actually does. Connectivity is important, and if connections break often, then fintech will look elsewhere. It's not a matter of which color is a button, users get pissed off and leave. So the connectivity better be good.


Competition is healthy. Whether it's good or bad, we'll see. No one can divine that, but I get the sense that Plaid's product team is a bit worried right now.


I think this is the biggest thing here. User credentials need to be protected and hopefully this type of open-market approach brings about more democratization of data.


I wonder why it took so many years for Stripe to start competing in this area.


One possible reason is that ACH payments are MUCH more user friendly if they can be initiated by an end-user authorizing their bank account (compared to digging up their account #, routing #, etc and entering the info manually).

ACH payments are essentially free to process (or a very small flat fee). This is very different from credit card transactions that charge a % of the entire transaction.

If ACH / direct payments from bank accounts became more common through services like Plaid and Stripe's new service, it could mean less fees (less revenue) for Stripe to collect. Which could explain why it's not something Stripe jumped into earlier.

TLDR: if I had to guess, there's more money in processing credit card payments, and much less money in facilitating ACH transactions.


Maybe the DoJ will allow Visa to make another offer with all the comp Plaid is getting


Is investing in a university endowment the best way to put $1.1B to work combating climate change? How about investing in companies developing clean energy technologies?


Probably not, but it probably is the best way to get a building/department named after you.


> Is investing in a university endowment the best way to put $1.1B to work combating climate change? How about investing in companies developing clean energy technologies?

Why is investing in research at a university less valuable than investing in research in the private sector? HN might have a bias toward the latter, effectively that people should invest more in the HN population.


I'm a huge fan of Tailscale and the team I work with uses it daily, for free, to connect to our servers and each other's computers. Thanks!


> The worst time to join a company is when they say they are working on a funding round.

If the company is doing well, this can be the best time, because your stock will immediately appreciate significantly.


Then it would be fair to say ts-node is a typescript runtime, while node is a javascript runtime.


No, using flakes still requires enabling the “experimental feature”. The difference in 2.4 is that you no longer need to use a prerelease version of Nix to have the experimental feature available.


I have been using mold every day for almost a year, and it has dramatically improved my quality of life by decreasing link times on the Rust project I work on from approximately 10 seconds to less than one second. This makes a big difference in keeping focus during the edit-compile-run loop. Thank you!


Maybe a dumb question but how would I go about using it with rust(c) and cargo? Would love to try it out, if it decreases total compile times.


RUSTFLAGS="-C linker=clang -C link-arg=-fuse-ld=/path/to/mold" cargo build

or persitant in your project:

.cargo/config.toml

[target.x86_64-unknown-linux-gnu] linker = "clang" rustflags = ["-C", "link-arg=-fuse-ld=/PATH/TO/mold"]


-fuse-ld has been replaced by --ld-path in clang 12+


Good to know, thanks.

fuse-ld still works though.


I wonder -- "-fuse-ld" has some somewhat surprising behavior in how clang ends up discovering the linker. I think that even if clang has a sibling `lld` in the same distribution, "-fuse-ld=lld" will pick "ld.lld" from the $PATH if it's present in there before the directory where clang and lld are installed.

So maybe that "--ld-path" option helps resolve ambiguity by expecting an explicit path instead of a linker name.


Thank you. Will try it later


"mold -run cargo build" would also work.


Warning: don't do this if you use rust-analyzer or any other IDE that uses cargo check.

The flags are part of the cache hash, so your IDE and cli constantly invalidate the cache and compile from scratch.


> decreasing link times on the Rust project I work on from approximately 10 seconds to less than one second.

But enough about writing “hello, world“ programs in Rust.

I kid.


Hooray, custom profiles are now stable! This helps avoid rebuilds when toggling LTO and changing optimization levels.


I hope that one day the default struct field values RFC will be reconsidered: https://github.com/rust-lang/rfcs/pull/1806.

This would allow a syntax more familiar to users of JavaScript, where fields with their default value can be omitted:

  struct Person {
    name: String,
    email: Option<String> = None,
  }

  let person = Person {
    name: "John Doe".to_owned(),
    ..
  };


This is probably obvious and it isn't 100% alternative to Javascript syntax, but you can leverage Default trait to come a bit closer:

  #[derive(Default)]
  struct Person {
      name: String,
      email: Option<String>,
  }

  fn main() {
      let person = Person {
          name: "John Doe".to_owned(),
          ..Default::default()
      };
  }


The deal breaker with `..Default::default()` is that it only works for structs without any required fields.

Forgetting a required field just means you get the dummy value from Default, that is, if you even manage to implement Default for the struct at all (the required fields may not have a sensible default value)


It would be really nice if .. could be a shortcut for ..Default::default() which would match the syntax of pattern matching.


I love podman. When you write a file to a volume from a container, the user that spawned the container is the owner. This is exactly what you expect, but with docker, everything is written as root. After many years, this has not been fixed:

https://github.com/moby/moby/issues/2259

This has made it impossible to use docker in scripts where root access is not available. Thank you podman!


Thank you! This has been my main headache with docker. I'll switch to podman at home.


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

Search: