HN user

techn00

696 karma

https://github.com/DeluxeOwl https://andreisurugiu.com

Posts15
Comments124
View on HN

Hey, author here

You're not forced to use that comment, you can pass the event however you like, if you satisfy the event.Any interface (by having the method EventName() string).

I prefer that comment because Go doesn't have native sum types, and I believe that by using the framework in combination with the gochecksumtype linter, you get the best developer experience and type safety (you DO have tab autocomplete with the events for recordThat - the type system helps because of the sealed interface).

But again, if you don't want to use the linter, no problem. You can create constructors for the events however you like, just like in your example.

This story is similar to the guys at senja.io: tech founder => marketing/growth person joins => business skyrockets to 1M ARR. It looks to me like a combination of having a product with some revenue and havingthe luck of someone like Jon joining.

I'd be more interested on how to find people like Jon tbh.

I agree 100% with everything you've said, and I'm from the EU. EU companies are burning and pocketing as much money as they can for themselves while delivering sub-par software.

My ideal k8s dev env (I wonder if any of the tools do this):

- local on my machine.

- ingress with https + subdomains integrated with mDNS (so I can access the services easily from my phone when developing mobile apps). mDNS also makes sure that other devs can set it up locally for themselves.

- easily swap what I'm working on, if I have 3 services A, B, C, while I'm working on A locally, I want B and C to run in the cluster and to be able to interact with them, same if I'm working on B, A and C should run in the cluster.

Transactional custom mutators that allow complex logic and server-side specific behavior are coming in beta.

It seems right now it only supports CRUD-style logic? Suppose I have a Go backend service (or any other language, really). Creating and exposing some pg tables for the read only path is something reasonable if I want to integrate with zero.

But what about the write path in such an app? Where you have some business logic that doesn't involve simple CRUD, will (or does) zero support that with custom mutators?

edit: I didn't see this notion page which address this https://replicache.notion.site/Introducing-Zero-8ce1b1f184aa...

Kagi Search API 2 years ago

This is currently $19/mo plus search API cost (2.5c per search). Please reach out to support@kagi.com for invite.

Isn't 2.5c per search kind of expensive? serp api is 1 cent for the $150/month = 15k searches plan

It's amazing what you can do with S3. It's one of the best things that AWS has to offer.

I wonder, is there a formal definition for a set of primitives that allow you to build an ACID database? Assume an API of some kind (in this case, S3) that you can interact with - and provides, I don't know, locks, % durability, etc.

What would make you say, 'Having those primitives, I CAN build an ACID database on top of it'?

It doesn't, you cant find any reference to the captcha solving or anything like that in the repo. There's one line for the stealth plugin that is commented out:

// chromium.use(stealthPlugin());

imo this is the hardest part about scraping, evading bot detection and captchas.

edit: and keeping the scraping logic & rules up to date