You are reading content from Scuttlebutt
@cryptix %15TlheeUPuPU7Zlf5GnS8SpSC+XrgjXKCjasOE0VOHI=.sha256
Re: %1NTuhuHSS

So what is it I'm working on now, you might ask? It's go-ssb-room, of course!

I did the tunnel.conncect code in about a week and it feels very good and stable. Also includes automated tests with the javascript code to act as a tunnel server for two js clients. The corpus of the code lives outside of the normal go-ssb repo. 1) because It doesn't need all of that feed database code (since it stores no feeds) and 2) because it needs a little bit of AdminDB and WebUI stuff for configuration and access control. If you are interested in muxrpc with go this commit was right before all the web stuff was starting to be added.

Being back in web/http/html and sqlite land was a pleasant change. For templating we just use html/template from the standard library and for the sqlite stuff it's a mix of sql-migrate (where you write up/down SQL statements by hand, giving you honest and perfect control of what your schema looks like) and sqlboiler, which looks at the applied schema in a database and generates a whole ORM layer for you. The rational there is that normal ORM approaches don't work well with the type system of Go. Projects like GORM require a horrendous amount of interface{}(see e02 of my dev diary), heavy reflection and result in code that is very hard to follow which in some cases doesn't even do the right thing (looking at you JOINs-as-for-loops). With sqlboiler you get readable code and concrete model types as results from the helper functions! This alone makes me 🤩 . For future safety and mocking capabilities these functions are still wrapped in interfaces defined in admindb, so that we don't depend on these generated model types if someday we decided to replace sqlite with some... you know.. streaming and reducing database magic.

Another area I'm very excited about is sign-in with ssb which is on our plates, soon. Not much to talk about but point to the doc outline. The gist is, as the name suggests, that you can use an SSB identity to create a login token so that you don't need the classic username:password dance. Before that I need to check out https://github.com/m-onz/gandalf from @ancientsorcerer, which popped out of nowhere with a similar idea. Looking forward to cross-pollination.

In other exciting news: @cblgh will join our ngi peach soon! So i'm trying to focus less on code but process planing this week.

User has not chosen to be hosted publicly
Join Scuttlebutt now