Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
bjacokes
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
8 ms
·
31.
▲
Securing WebViews with Chrome custom tabs
(blog.plaid.com)
54 points
by
bjacokes
6y ago
|
13 comments
32.
▲
by
bjacokes
7y ago
You seem to be misreading the parent comment. It isn't complaining about small businesses getting loans, it's complaining about them having to pay a higher interest rate than large corporations. (Presumably the reasons for that ar
33.
▲
Benefits of writing our own application bootloader
(blog.plaid.com)
12 points
by
bjacokes
7y ago
|
0 comments
34.
▲
by
bjacokes
7y ago
Your question feels pretty sarcastic, but I think it'd be great to write a post about our process for projects specs and reviews. We do have an old post on the blog about code reviews that you could read, but it's more focused on
35.
▲
by
bjacokes
7y ago
I don't disagree with most of what you're saying. The Nth engineer at a startup rarely looks with admiration at decisions made by the (N/10)th engineer – but it was those decisions which helped the company grow to its current
36.
▲
by
bjacokes
7y ago
In one case I cited elsewhere in the comments, an engineer had called ramda.uniq on an array of nested objects which was occasionally very large. When calling into external packages, I don't think we have as much control over yielding
37.
▲
by
bjacokes
7y ago
Hi, Plaid engineer here (not the author, but I helped with the post). I don't think we've tried to assert that the old system is perfect. We went into some detail in the post about why it took us this far. Certainly, the single re
38.
▲
by
bjacokes
7y ago
I say "possible" because our system observability was less mature even 12 months ago. Firefighting 10 different root causes of memory or event loop issues without the right tooling in place would be a nightmare. That's why we
39.
▲
by
bjacokes
7y ago
While we were worried about event loop blockages causing outages, another more subtle problem would have been if event loop blockages doubled our user-facing latency. (If you read the section on latency ratios, you'll see that comparin
40.
▲
by
bjacokes
7y ago
Fixed the images about half an hour ago, sorry about this!
41.
▲
by
bjacokes
7y ago
Sure, one example I remember off the top of my head is a bank that sometimes returned duplicate transaction data, so an engineer had called ramda.uniq on the transaction array. Transactions are nested objects and slow to compare, so when yo
42.
▲
by
bjacokes
7y ago
You hit the nail on the head here. When N different API requests simultaneously time out – all because a ramda.uniq call in one of them received an array of 100,000 nested objects – it's easy to make a spot code fix, but harder to syst
43.
▲
by
bjacokes
7y ago
It was chosen about 6 years ago when the product was first being developed, so most of us on the engineering team weren't around when the decision was made. The main choice we're making at this point is: what's the impact and
44.
▲
by
bjacokes
7y ago
Our integrations are primarily written in Node, which was the original language used for everything at Plaid. Almost all of those original services (except for integrations) have been migrated to Go or Python at this point. We've stand
45.
▲
by
bjacokes
7y ago
We thread knowledge of whether a data pull was initiated by the API or by our cron-style service into our load-balancing layer, so this ends up being pretty straight-forward.
46.
▲
by
bjacokes
7y ago
There are a couple of reasons that the legacy scaling model was viable for us. As mentioned in the post, only 1/10 of our traffic was from the API, which gave us a roundabout way to scale by diverting resources. And it's only viab
47.
▲
We 30x'd our Node parallelism
(blog.plaid.com)
202 points
by
bjacokes
7y ago
|
243 comments
48.
▲
by
bjacokes
7y ago
I'm a little confused by this approach; are there any non-essential containers in your suggested architecture? This sounds like the watchdog container is just a parent process that launches a bunch of subprocesses, which is definitely
49.
▲
by
bjacokes
7y ago
Yeah, I mentioned this in a comment in a different thread. The duplicate containers in the task definition need to be marked as "essential" in CloudFormation to make sure our capacity doesn't degrade on container exits, and t
50.
▲
by
bjacokes
7y ago
If we handled N concurrent requests per process, a crash would definitely have the bleed-over effect we're trying to avoid, where a problem in a single request caused the other N-1 to fail. "Crash" meaning primarily OOM or un
51.
▲
by
bjacokes
7y ago
When we start processing a request, we take the JS Promise that represents the result of that operation and put it into an array in our internal "server state" object. When the server gets a shutdown request, it basically awaits P
52.
▲
by
bjacokes
7y ago
Glad you pointed this out! We could have gone into a lot more detail on the reasons that we've arrived at our current system architecture, but it would've distracted from the root problem we were solving in the post. Happy to go i
53.
▲
by
bjacokes
7y ago
In a way you're right, which is why we are exploring kubernetes. At the same time, ECS has worked really well for us as we've grown to this point. It's worth noting that we have some other motivating reasons to switch off ECS
54.
▲
How we reduced deployment times by 95%
(blog.plaid.com)
84 points
by
bjacokes
7y ago
|
57 comments
55.
▲
by
bjacokes
7y ago
When you sell shares, cost basis is reported to the IRS by the brokerage. The parent comment suggests that RH always reports the FIFO cost basis, i.e. price of the first shares you bought as opposed to the last shares. There are places on t
56.
▲
How we stopped memory intensive queries from crashing ElasticSearch
(blog.plaid.com)
20 points
by
bjacokes
7y ago
|
0 comments
57.
▲
How Plaid Reconciles Pending and Posted Transactions
(blog.plaid.com)
127 points
by
bjacokes
7y ago
|
26 comments
58.
▲
by
bjacokes
7y ago
Dividends and buybacks both indicate that the company is willing to return cash to shareholders. One big difference is that dividends are typically a long-term commitment to returning cash (unless it's a "special dividend"),
59.
▲
by
bjacokes
7y ago
There are fewer shares, but the book value of the company goes down as well because it is spending cash to buy the shares. So it's not necessarily true that the price should go up.
60.
▲
Growing Our Team with Retrospectives
(blog.plaid.com)
86 points
by
bjacokes
7y ago
|
22 comments
More ›