Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
lawrjone
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
33 ms
·
181.
▲
by
lawrjone
5y ago
Just curious on this, what about this do you think is a mistake? You could do this before without generics, you'd just be unsafely casting types (which can panic at runtime) or assigning to a closured variable, which is quite indirect.
182.
▲
by
lawrjone
5y ago
Hey! Your example is actually working, in that you've initialised a field type of an empty string which isn't a valid enum value. I agree this is slightly less readable than the native switch, but it means the compiler can tell yo
183.
▲
by
lawrjone
5y ago
Author here With generics coming in go 1.18, we can finally make a sum type abstraction that is a bit friendlier than the previous alternatives. Obviously having this in the language would be best, but just having a construct that can check
184.
▲
Hacking sum types with Go generics
(blog.lawrencejones.dev)
34 points
by
lawrjone
5y ago
|
43 comments
185.
▲
by
lawrjone
5y ago
Not the author, posting on Katie's behalf! We've struggled a lot around pricing. Our product is an incident response tool built on Slack, so there's a few things that make it difficult: - Our product encourages communication
186.
▲
Finding a pricing model that's just right
(incident.io)
2 points
by
lawrjone
5y ago
|
1 comments
187.
▲
by
lawrjone
5y ago
Not the author but written by my colleague Stephen, this is a short post on how to pick incident severities. Lots of the literature around this is dense and intended for mega-corps, not your average growing company. If you're ever unlu
188.
▲
Designing Your Incident Severities
(incident.io)
17 points
by
lawrjone
5y ago
|
2 comments
189.
▲
by
lawrjone
5y ago
Thank you! A big reason I write and share these articles is to practice my communication skills, so feedback like this is well appreciated :)
190.
▲
by
lawrjone
5y ago
Author here- thanks! You are totally correct, if Fivetran fails on any of the tables then we'd likely see issues in the tests. My thinking was this was ok, as I'd prefer my tests to fail than me blindly continue with missing data.
191.
▲
Fixing flaky dbt tests with a sync cutoff
(blog.lawrencejones.dev)
12 points
by
lawrjone
5y ago
|
4 comments
192.
▲
by
lawrjone
5y ago
Author here! Wanted to share a simple fix we applied to our Fivetran replicated database tables that helped reduce test flakiness in dbt. Probably quite basic, but might be useful to some.
193.
▲
Fixing flaky dbt tests with a sync cutoff
(blog.lawrencejones.dev)
3 points
by
lawrjone
5y ago
|
1 comments
194.
▲
by
lawrjone
5y ago
Not the author, but do work with Chris at incident.io. We continue to see smaller companies struggle with incident response, often picking processes designed for much larger organisations. This guide is the "just do it this way" m
195.
▲
by
lawrjone
5y ago
This isn't the author, but he is one of my colleagues. The pattern of someone being 'that person' to handle incidents is something I've seen many times before. It's a situation that can–at first–be very positive for
196.
▲
No capes: the perils of being a hero-engineer
(incident.io)
3 points
by
lawrjone
5y ago
|
3 comments
197.
▲
by
lawrjone
5y ago
Hey all, author here! We're a small company at incident.io (just ten people) but come from mature data cultures, and know the value of having tools that lower the barrier for accessing and understanding data. Trying to emulate our expe
198.
▲
A modern data stack for startups
(incident.io)
5 points
by
lawrjone
5y ago
|
1 comments
199.
▲
by
lawrjone
5y ago
Author here! Having introduced Goa into a number of projects over the 18 months, I've wanted to shout about this toolchain for a while. Goa allows you to design your APIs with a DSL, then generate an OpenAPI or Protobuf schema from the
200.
▲
Design driven API development with type-safety across the stack
(blog.lawrencejones.dev)
4 points
by
lawrjone
5y ago
|
2 comments
201.
▲
by
lawrjone
5y ago
My memory is a bit hazy on this, so forgive the details but... Postgres uses something called a multi-xact store to track row locks- iirc, an entry in this store uniquely identifies an entity and all the actors that have locked it: `(id, [p
202.
▲
by
lawrjone
5y ago
> However, if the autovacuum is running to prevent transaction ID wraparound (i.e., the autovacuum query name in the pg_stat_activity view ends with (to prevent wraparound)), the autovacuum is not automatically interrupted. I had fought
203.
▲
by
lawrjone
5y ago
As an aside, while doing the final skim before publishing I wanted to reference a definition of a "seam" in programming. I've always had this in my head as something Martin Fowler used, and thought it funny that when Googling
204.
▲
by
lawrjone
5y ago
Hey, author here! Writing and maintaining tests can easily become a chore, which can lead you to avoid testing altogether. One way to avoid this is to establish patterns that can be reused across tests, reducing the "how do I test this
205.
▲
Using context.Context to mock API clients, a reusable testing pattern
(incident.io)
1 points
by
lawrjone
5y ago
|
2 comments
206.
▲
by
lawrjone
5y ago
Sharing a post written by my colleague about how to break down larger projects into incrementally shippable pieces. Having worked with her on many larger scale projects: she's pretty great at this, and the advice does especially well t
207.
▲
Breaking down complex projects into smaller, shippable increments
(incident.io)
2 points
by
lawrjone
5y ago
|
2 comments
208.
▲
by
lawrjone
5y ago
Author here! Postgres runs at a different isolation level than similar databases like MySQL, which means transactions behave subtly differently. This means experienced engineers can assume their past experience carries to Postgres, and may
209.
▲
What developers find surprising about Postgres transactions
(blog.lawrencejones.dev)
5 points
by
lawrjone
5y ago
|
2 comments
210.
▲
by
lawrjone
5y ago
Posting on behalf of the author, and as someone who worked on these checks at incident.io! Making sure we correctly scoped our API endpoints and database queries has been a bit of a tricky one, but the strategies we detail in the article (e
More ›