Readit News logoReadit News
techn00 commented on Dagger: Define software delivery workflows and dev environments   dagger.io/... · Posted by u/ahamez
techn00 · 5 days ago
The title says "dev environments". Can dagger be used for creatin dev environments, like devcontainers or https://www.jetify.com/docs/devbox/quickstart ?
techn00 commented on Event Sourcing in Go: From Zero to Production   skoredin.pro/blog/golang/... · Posted by u/tdom
techn00 · a month ago
Good article, you might like my lib https://github.com/DeluxeOwl/chronicle - covers a lot of event sourcing pains for Go
techn00 commented on Show HN: Devbox – Containers for better dev environments   devbox.ar0.eu/... · Posted by u/TheRealBadDev
l___d__s · 3 months ago
FYI there's a well-starred, corporate-backed, similar functionality, Nix-based product with the same name:

https://github.com/jetify-com/devboxhttps://www.jetify.com/devbox

techn00 · 3 months ago
I thought that OP linked this devbox since so many subcommands from the cli are almost identical
techn00 commented on Chronicle – Idiomatic, type safe event sourcing framework for Go   github.com/DeluxeOwl/chro... · Posted by u/techn00
martypitt · 4 months ago
Hey! Congrats on shipping.

Just FYI - There's a pretty popular (in finance circles) JVM library called Chronicle[0], which also deals with high throughput event queues etc.

[0]: https://chronicle.software/

techn00 · 4 months ago
Hi, author here

I wasn't aware of this library, I did check for name collisions with other Go repos though

techn00 commented on Chronicle – Idiomatic, type safe event sourcing framework for Go   github.com/DeluxeOwl/chro... · Posted by u/techn00
sethammons · 4 months ago
This is a lot of work to make the following work and it feels odd to force comments onto my structs to make your API able to look like the following:

    //sumtype:decl
    type AccountEvent interface {
     event.Any
     isAccountEvent()
    }
    //...
    return a.recordThat(&moneyDeposited{
      Amount: amount,
     })
This API requires that you know what you can pass into it - not a type, an interface. You know, by way of being familiar with the code base, you have moneyDeposited that matches. Do you have userSuspended wired up? Is that even an option? As your code base grows and as new developers onboard, more and more of the events available will become need to take up mental space.

I am in favor of discoverable APIs that leverage simple IDE features, like string completion. The API that I would design for recording events would be closer to:

    return a.event.AccountDeposit(amount)
What other events can you record? Just tab away and find out. AccountSuspend pops right up.

And when you do it this way, you no longer need to pull in the the non-standard sum types package that requires comment annotations and subsequent linting packages.

I suppose the goal here is a general framework so to make things general, you are adding indirection. I've not had to create new events in an event sourced architecture on a regular cadence. Usually, any particular team has N events they generate, where N is relatively small and almost never gets new events. And my events are usually historic or log-like in nature, spreading data out to other systems and the events themselves are not the source of truth, but the system that generated them is

techn00 · 4 months ago
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.

techn00 commented on DBCrust – A modern database CLI   github.com/clement-tourri... · Posted by u/kelem
techn00 · 4 months ago
leaving this here: https://github.com/xo/usql
techn00 commented on Show HN: CallFS – S3-style object store in one Go binary (MIT)   github.com/ebogdum/callfs... · Posted by u/ebogdum
techn00 · 5 months ago
I am so sick of AI generated README's, they follow the samn damn format.
techn00 commented on Bootstrapping a side project into a profitable seven-figure business   projectionlab.com/blog/we... · Posted by u/jonkuipers
techn00 · 5 months ago
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.

techn00 commented on Ask HN: What cool skill or project interests you, but feels out of reach?    · Posted by u/akktor
techn00 · 6 months ago
Biotech, wearables

u/techn00

KarmaCake day700June 3, 2020
About
https://github.com/DeluxeOwl https://andreisurugiu.com
View Original