244 karma · joined March 23, 2012
same username on twitter and github, same dot com
looking at the docs and examples, I see Workflows and Steps and Retries, but I don't see any Durable yet. none of the examples really make it clear how or where anything gets stored
- skip reading the post (which explains all of this)
- skip the first link in the post (which explains all of this)
- go straight to the second link in the post, to the interface
- skip the "about" link in the interface (which explains all of this)
- $312/year and $960/year are for unlimited users, not per seat
- Additional error/event volume is priced separately from the base plan
- You can pay for error volume, either prepaid or on-demand, without a custom enterprise deal:
> Each of our plans comes with a defined quota, with the option to process additional events by setting a pay-as-you-go budget. You can also plan ahead and save 20% over the pay-as-you-go rates by reserving events.
Sentry has never been GPL. https://blog.sentry.io/lets-talk-about-open-source/
> pretending it's an OSS license
They are not pretending it's an OSS license. The article states:
> “Just don’t call it Open Source.” Point taken. Fair Source is our new term.
Sentry's pricing plan has never gone from 10k errors straight to "negotiated enterprise deal"; you must have missed something. I say this having been a Sentry customer for the past 7 years across multiple companies, always with a paid plan beyond 10k errors and never with an enterprise deal.
This comes off a bit presumptuous. I would assume that they are aware this is a possibility.
"having to use a web service to view you stack trace"
This is just not a downside that matters for this usage scenario. It's almost the same story as minifying your frontend JS bundle, uploading source maps to Sentry, then using Sentry to view an unminified stack trace from a user's browser. The user was never going to view that stack trace anyway, and I am not bothered by having to use Sentry to view it - I never would have seen it at all otherwise.
When we heard Airplane was shutting down, everyone's first thought was "can we hire that Yolken guy?"
This will get you past some very mundane bot detections, but really this is like, the very first baby step of a long rabbit hole.
The people who are taking this game seriously are 5-10 years ahead of this step. Good luck ¯\_(ツ)_/¯
It mostly gives you vocabulary and labels and explanations for things that you may already intuitively understand, and teaches you to notice small things that matter. It will probably make it easier for you to discuss and dissect some of the chaos you're already dealing with.
Had lots of good experiences working with Knex.js over the years, and Kysely is the TS-native spiritual successor to Knex.
It’s 175 pages of well-refined, to-the-point, applicable wisdom; highly recommended.
If you:
- have used/liked Knex (or similar querybuilders) before
- like the TS integration + type safety of Prisma
- but find Prisma to be a bit too magic/heavy with its query engine and schema management
- and/or just want to be closer to SQL
then Kysely is what you're looking for.
edit: here - https://github.com/koskimas/kysely/issues/162#issuecomment-1...
There are tons of startups and other not-fortune-x00 orgs benefitting from what OTel provides. Your claim that OTel is irrelevant outside fortune-x00 cos is very clearly not true.
most of your takes here sound like they're from somewhere around 2016-2018
The cross-shop is PlanetScale vs Amazon RDS, Amazon Aurora, Google Cloud SQL, Firebase, Supabase, self-hosting Vitess or MySQL, etc.
> If I remember correctly, because they have your name, they also scrape LinkedIn data about you and try to get as much information about you as possible like job titles, etc.
I am not aware of Pave doing anything like this.
> I would not want my entire salary history to be shared with prospective employers so that they could definitively say "Well, this person got paid X in their previous position, we shouldn't pay more than 5% above that."
Pave does not share specific identifiable data like "John Doe got paid $X at EmployerCo".
Pave only shares aggregations like "people in San Francisco, with the title Senior Software Engineer, at companies between 100 and 500 employees, typically get paid $X at the 50th percentile, $Y at the 75th, and $Z at the 90th".
From Pave's website, https://www.pave.com/products/compensation-benchmarking-data:
> Benchmarking can never be traced back to an individual or employee.
I am not aware of any of these things having changed at any point.
a) didn't know how to recognize a cheeky straw man proposal
b) didn't know how to take a joke
c) didn't agree with (or understand the importance of) the never-break-the-web imperative that TC39 operates under (turns out this is a lot of people)
tried to do exactly this to "prevent smoosh":
- https://github.com/staltz/prevent-smoosh
- https://twitter.com/andrestaltz/status/971500672620351494
Mostly, though, they just taught TC39 to have less fun and to ignore the "just break the web it's okay!" crowd.
Why TC39 operates under this never-break-the-web imperative: because if they didn't, every proposal they consider might devolve into an unresolvable discussion of "well is THIS thing important enough to break the web over? how much usage would this change break? how valuable do we think this is?". The easiest, and only, way to resolve all possible such discussions is to just not have them.
I’ve done multiple different takehomes with some kind of time limit in place to avoid that sort of thing. Tools have this built in.
Also, there are definitely candidates who would prefer a takehome. If you’re worried that a takehome might be unfair, you can offer folks a choice to either do the exercise on their own async, or to do it live pairing with you. You might be surprised by how many will choose the former.
For a theoretical new Node + TypeScript + SQL project, the three options I would consider are, from most-ORMy to least:
- Prisma
- Kysely + kysely-codegen (query builder)
- slonik + @slonik/typegen (raw postgres driver with good types; not sure if there's a good MySQL equivalent)
I’ve also personally found focus more easily in framings along the lines of “survey the thoughts and options around X, then drive discussion toward picking a direction” or “here’s a numeric measure of how fast the thing currently is, iterate on making that number smaller”
It may be the case that electric cars, thanks to regenerative braking, do not emit more brake dust than a lighter non-electric car, but that's not what the parent comment here was saying.
> How are rows read and rows written calculated? > Every time a query retrieves a row from the database, it is counted as a row read. Every time a row is written to the database, it is counted as a row written.
From the billing docs:
> our paid Scaler plan comes with 25 GB storage, 100 billion row reads, and 50 million row writes
> Every row read from a table during execution adds to the rows read count, regardless of how many rows are returned.
> You can test a query for approximate rows read using the EXPLAIN statement. Running EXPLAIN with your query will return information about the query execution plan.
> To see the exact rows read, you will need to run the query. You can use the EXPLAIN ANALYZE statement to do this. It will return the estimated information about how it will run the query, run the query, and then return the actual impact from running the query.
> Another useful way to check rows read is using innodb_rows_read. This server status variable will show you the number of rows read across all tables. You can run it before and after queries to calculate how many rows were read.
These bits are extremely specific, down to the storage engine level. I don't know what more you could be looking for as to what "rows read" means than `innodb_rows_read`.
> C'mon guys, this is super basic.
which came off as demanding, until you edited it after my response to instead read "This is standard stuff".
It's bad form to make substantial edits an hour later after you've been replied to, especially if you then refute the reply based in part on that edit.
I agree with you that more examples would be helpful, and you have some good questions which are left unanswered, but "is it rows?" was answered very clearly by the pricing page and billing docs.
> The pricing page/docs leaves so many questions unanswered:
The pricing page and docs make "rows" very clear. I was never referring to the blog post, nor was truetraveller.