ChanServ changed the topic of #sandstorm to: Welcome to #sandstorm: home of all things Sandstorm and Cap'n Proto. Say hi! | Have a question but no one is here? Try asking in the discussion group: https://groups.google.com/group/sandstorm-dev | Channel logs available at https://libera.irclog.whitequark.org/sandstorm
yarmo has quit [Quit: yarmo]
yarmo has joined #sandstorm
lain` has joined #sandstorm
<lain`> does the sandcats tunnel service terminate ssl at the sandcat servers or is the encryption end-to-end? (is the ssl terminated at the server running sandstorm)
<lain`> sorry, i misunderstood the docs. I thought it was a tunnel but i guess it's just dns
<ocdtrekkie> yeah, it's just zero config ddyns + let's encrypt. I expect it'd be possible to do something like Cloudflare Access or something to put a tunnel in front of Sandstorm with your own domain, but I haven't tested it yet.
digitalcircuit has quit [Quit: Signing off from Quassel - see ya!]
digitalcircuit has joined #sandstorm
lain` has quit [Quit: Connection closed for inactivity]
drkokandy has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
drkokandy has joined #sandstorm
<fr33domlover> isd: Hi :) I haven't touched Haskell stuff but now starting a year of NLNet-funded work, much of it on Vervis, so I guess I'm back in business :P
<fr33domlover> One of the challenges I've noticed about CapnProto (at least the Haskell version) is that it's very verbose, so writing an app with an actor architecture where everything is CapnProto might be difficult, e.g. compared to Spritely. Do you see potential for some sort of DSLish/concise syntax that could make actor programming be convenient? Or would
<fr33domlover> that likely require a dynamic/specialized programming language?
<isd> It's actually *worse* in other languages; most implementations don't generate "normal" datatypes, so you have to use getters and setters... :/
<isd> I'm also not thrilled with how verbose things are, and am interested in improving the situation.
<isd> It might help to identify specific constructs and brainstorm ways to make them better.
<isd> I actually have toyed with the idea of basically extending the schema language into a proper programming language :P
<isd> I don't think dynamic is really the issue. I wrote a whole blog post about my gripes with the schema language a ways back: https://zenhack.net/2019/06/25/a-critique-of-the-capnproto-schema-language.html
<isd> I think I've gone back on my position wrt. multiple inheritance.
<isd> But most of that still stands.
<isd> There may also be some tips in there you can use to avoid features that make things more verbose, but the situation isn't great.
<fr33domlover> Thank you for shedding light on the situation! My next todo-item is to refactor my current ActivityPub-based code into an actor-style architecture, looking to see if there's any relevant actor package to use, or make a quick custom one. I gave this task ~5 weeks :P basically trying to make a foundation for smooth development but still using
<fr33domlover> kind-of-weak AP-based actors. NLNet asked me to reduce the size of the OCAP experiment (to prioritize progress with the AP related tooling) but it's still in the plans and when I get to those tasks I'll play with the capnp library and try to find ideas for improving the verbosity situation :)
<isd> I feel like the names for parameter & result structs are one of the worst things.
<isd> ...would be a lot easier if haskell supported elm-style records
<isd> Note that giving those their own names manually in the schema language can help alot, e.g.... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/985c9322bec38da2bbc1bc0a39c4d56294bc7f77>)
<isd> Then the type & data constructor just ends up being named `BarRequest` instead of `Foo'bar'params`, which can be really annoying of the interface & method names are longer.
<isd> I feel like there's also room to define some specific types that the schema compiler/library "knows about" e.g.... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/05d6b721b6c7aaa81f243d6081938e358b1c37d6>)
<fr33domlover> I'm grateful for the foundation you've implemented, now the convenience/interface stuff is hopefully just the cherry on top
<isd> I hope it's more design work than implementation
<isd> I might post a lot of comments in the near future to that issue; I'm realizing I've had a lot of rough thoughts in the past that are maybe worth revisiting.