How Rockets Use Oxygen As Fuel | Neil deGrasse Tyson Explains… ⌘ Read more
Pleroma’s gopher server barfs if you arrive to it using domain.tld/1/ so it means I can’t link to it from here, but if you just enter domain.tld it works
Just setting up a quick Mastodon instance to test some compatibility is a pain. Using test accounts on public instances is also unreliable, because many instances are already overloaded and I don’t want to create spam. So I got a new DigitalOcean account with a $200 starter credit… ⌘ Read more
An interesting read about testing code using nullable states instead of mocks.
https://www.jamesshore.com/v2/projects/testing-without-mocks/testing-without-mocks
An interesting read about testing code using nullable states instead of mocks.
https://www.jamesshore.com/v2/projects/testing-without-mocks/testing-without-mocks
Ignite Realtime Blog: Help us translate Spark and Openfire!
We have started to experiment with an online tool that facilitates the process of translating Spark and Openfire. Both already have a bunch of translations, but none are complete.
I’m looking for people wanting to test the tool and/or provide translations. The aim is to make providing translations become so easy that little technological know-how is required.
If you’re interested, please sign up to [Ignite Realtime localizati … ⌘ Read more
Why I Won’t Go to Restaurants in 2023
I’ve decided after some consideration to not go to restaurants at all in 2023.
You can call this a New Year’s Resolution.
It’ll require at least some sacrifice, pain, annoyance to myself and perhaps others, but I’m going to stick by it and I think it will have a good effect.
Restaurants are a drastically over-used creature comfort of … ⌘ Read more
Why I Won’t Go to Restaurants in 2023
I’ve decided after some consideration to not go to restaurants at all in 2023.
You can call this a New Year’s Resolution.
It’ll require at least some sacrifice, pain, annoyance to myself and perhaps others, but I’m going to stick by it and I think it will have a good effect.
Restaurants are a drastically over-used creature comfort of … ⌘ Read more
@prologic@twtxt.net see where its used maybe that can help.
https://github.com/sour-is/ev/blob/main/app/peerfinder/http.go#L153
This is an upsert. So I pass a streamID which is like a globally unique id for the object. And then see how the type of the parameter in the function is used to infer the generic type. In the function it will create a new *Info and populate it from the datastore to pass to the function. The func will do its modifications and if it returns a nil error it will commit the changes.
The PA type contract ensures that the type fulfills the Aggregate interface and is a pointer to type at compile time.
@prologic@twtxt.net see where its used maybe that can help.
https://github.com/sour-is/ev/blob/main/app/peerfinder/http.go#L153
This is an upsert. So I pass a streamID which is like a globally unique id for the object. And then see how the type of the parameter in the function is used to infer the generic type. In the function it will create a new *Info and populate it from the datastore to pass to the function. The func will do its modifications and if it returns a nil error it will commit the changes.
The PA type contract ensures that the type fulfills the Aggregate interface and is a pointer to type at compile time.
A Modest Robot Levy Could Help Combat Effects of Automation On Income Inequality In US, Study Suggests
An anonymous reader quotes a report from MIT News: What if the U.S. placed a tax on robots? The concept has been publicly discussed by policy analysts, scholars, and Bill Gates (who favors the notion). Because robots can replace jobs, the idea goes, a stiff tax on them … ⌘ Read more
How to create a keyboard shortcut to export the current slide in Keynote
Lately I’ve been using Apple Keynote to create graphics for using in videos and blog posts. It’s a quick way to arrange things on a page, copying and pasting most things just works, and there are enough built in shapes and tools to get the point across. However, after spending a full day creating graphics for a video, I found myself frustrated by the number of clicks required to export a single slide at a time. ⌘ Read more
@deepend@yourtilde.com We here in the twtxt universe are too Calm™ for the birdsite. Its dramas — which are neverending — do not concern us. Its madness is not our own. Isn’t it a great feeling to be separate from all that?
@prologic@twtxt.net so basically you would use cgit + gitbug with some webhooks?
@prologic@twtxt.net so basically you would use cgit + gitbug with some webhooks?
@prologic@twtxt.net I guess that refresh field could be easily replaced with Expires HTTP header (I realize that users on neocities.org cannot control this header, for example). And clients should also respect headers like Last-Modified/If-Modified-Since (304), you’re right about that. P.S. twtwt doens’t have a caching mechanism for now, but I plan to implement it in generic way using HTTP headers.
How we use GitHub to be more productive, collaborative, and secure
Our engineering and security teams have done some incredible work in 2022. Let’s take a look at how we use GitHub to be more productive, build collaboratively, and shift security left. ⌘ Read more
Reduce Your Image Size with the Dive-In Docker Extension
Use the Dive-In Docker Extension to see how to reduce image size in an easy-to-use UI. ⌘ Read more
@prologic@twtxt.net: I understand the benefits of using hashes, it’s much easier to implement client applications (at the expense of ease of use without the proper client). I must say that I like the way the metadata extension is done. Simple and elegant! It’s hard to design simple things!
@prologic@twtxt.net On the one hand, twtxt has become more popular thanks to Yarn.social. On the other hand, subject and hashtag extensions took away the simplicity of the protocol. For example, it is impossible to understand which conversation (#base32hash) a tweet refers to or to reply to a tweet without going to a yarn.social pod. Compare with re: in this tweet which can be written without using any client at all
Apple has changed… and not in a good way.
Apple of 2022 is not the same company it used to be. It has, to be frank, lost its way. ⌘ Read more
one that i think is pretty interesting is building up dependent constraints. see here.. it accepts a type but requires the use of a pointer to type.
https://github.com/sour-is/ev/blob/main/pkg/es/es.go#L315-L325
one that i think is pretty interesting is building up dependent constraints. see here.. it accepts a type but requires the use of a pointer to type.
https://github.com/sour-is/ev/blob/main/pkg/es/es.go#L315-L325
Erlang Solutions: GraphQL interfaces in MongooseIM 6.0
MongooseIM is a robust, scalable and highly extensible instant messaging server. Recent releases have improved its configurability and opened new use cases, and the latest version 6.0 continues that trend. By introducing the brand new GraphQL API, we made MongooseIM much easier to integrate with external web services. The entry barrier is also lower than ever because of the automatically generated API documentation, interactive web UI, an … ⌘ Read more
I have a question: Is there something similar to Telegram channels in Matrix? What should I do when I want to enable people to be notified about new blog posts using Matrix? ⌘ Read more
Tutorial: Getting started with generics - The Go Programming Language – Okay @xuu@txt.sour.is I quite like Go’s generics now 🤣 After going through this myself I like the semantics and the syntax. I’m glad they did a lot of work on this to keep it simple to both understand and use (just like the rest of Go) 👌
#GoLang #Generics
Retiring My Fiat Donation Portal
I’ve decided to retire my fiat donation portal at donate.lukesmith.xyz, where people could donate to me via debit and credit cards.
This will happen by the end of this calendar year.
It’s more in keeping with my principles of free software, self-ownership and everything else to only allow cryptocurrency donations.
This also is a subtle nudge to people who want to donate in streams to get into Bitcoin and Monero, as opposed to using fiat o … ⌘ Read more
Retiring My Fiat Donation Portal
I’ve decided to retire my fiat donation portal at donate.lukesmith.xyz, where people could donate to me via debit and credit cards.
This will happen by the end of this calendar year.
It’s more in keeping with my principles of free software, self-ownership and everything else to only allow cryptocurrency donations.
This also is a subtle nudge to people who want to donate in streams to get into Bitcoin and Monero, as opposed to using fiat o … ⌘ Read more
Configure, Manage, and Simplify Your Observability Data Pipelines with the Calyptia Core Docker Extension
Find out how to use the Calyptia Core Docker Extension to build and manage observability pipelines in Docker Desktop. ⌘ Read more
RT by @mind_booster: #DRM isn’t just an annoyance – it’s a violation of your right to use the items you own as you see fit. Learn more about our Defective by Design campaign at http://defectivebydesign.org, and follow our campaign account at @enddrm
#DRM isn’t just an annoyance – it’s a violation of your right to use the items you own as you see fit. Learn more about our Defective by Design campaign at defectivebydesign.org, and follow our campa … ⌘ Read more
My website is powered by GoBlog, a simple and dynamic blogging system that’s open source, actively developed and implements most IndieWeb functionalities. It packages everything in a single binary and I’ve been so over the moon using it and seeing it improve week after week that I’m surprised it isn’t more popular. So I put on my evangelist boots to share how I use this “stupidly-simple” blogging system to power my online presence. ⌘ Read more
Anyone uses the putr command? (to access pdp11 disk images)
Should I sell my PC?
I’m not sure yet what I’m going to do with my desktop computer (ASRock Deskmini A300), which I don’t really use anymore since I got my new laptop. ⌘ Read more
Learning how to use ImageMagick for something else than just for resizing of pictures.
Erlang Solutions: Change data capture with Postgres & Elixir
CDC is the process of identifying and capturing data changes from the database.
With CDC, changes to data can be tracked in near real-time, and that information can be used to support a variety of use cases, including auditing, replication, and synchronisation.
A good example of a use case for CDC is to consider an application which inserts a record into the database and pushes an event to a message queue after the record has … ⌘ Read more
Ignite Realtime Blog: Spark 3.0.1 Released
The Ignite Realtime community is happy to announce the release of Spark 3.0.1 version.
This release contains mostly fixes. macOS now uses the default FlatLaf LaF. The user can also choose the type of tabs “scroll” as in Spark 3.0.0 or “wrap” as in Spark 2.X. See screenshot below. And also for some users, Spark not saved history.
… ⌘ Read more
Snikket: F-Droid security update
Last week, Snikket Android users who installed the Snikket app via F-Droid
started receiving a warning that it contained a
security vulnerability. This wasn’t entirely accurate, as the problem wasn’t
with the Snikket app itself but specifically F-Droid’s own build of the app
that was using an outdated version of the WebRTC library.
Like many communication apps, Snikket uses WebRTC for audio and video calls.
We’ve been working on finding a … ⌘ Read more
Installed latest NixOS on my secondary laptop tonight, was really nice with a proper installer (calamares installer), got most of the stuff I use set up, but I do need to tweak some more.
I love the way the system is set up, makes it very easy to have the same setup on several machines. I’ll try and run it and use it as much as I can now.
I use Firefox as my preferred web browser both on PCs and my phone. One extension is always installed: uBlock Origin. The web is so much nicer with all the ads and tracking removed. But today I also retried an extension that will probably join the “must install” list: DarkReader. Especially when I’m browsing the web on my phone in the early morning, I don’t like to be blinded by white websites. Since March DarkReader has finally an option to detect if a website already has a dark theme and only apply it’s color chan … ⌘ Read more
Haiku becomes viable for daily use (right on schedule)
Listen now (24 min) | The Lunduke Journal Podcast - December 9, 2022 ⌘ Read more
Blockchain Blasphemy and the Technological Antichrist
There’s a meme YouTube video by Leonardo of Biz ( here) where the villainous Bogs refer to their desire to attain something called “The Akashic Records” using blockchain technology.
This random aside not just shows the attention to detail Leonardo gives what would otherwise be silly videos, but articulates something deep … ⌘ Read more
Blockchain Blasphemy and the Technological Antichrist
There’s a meme YouTube video by Leonardo of Biz ( here) where the villainous Bogs refer to their desire to attain something called “The Akashic Records” using blockchain technology.
This random aside not just shows the attention to detail Leonardo gives what would otherwise be silly videos, but articulates something deep … ⌘ Read more
$name$ and then dispatch the hashing or checking to its specific format.
I have submitted this to be used as the hash tooling for Yarn. See it as a good example on using this in a production environment!
$name$ and then dispatch the hashing or checking to its specific format.
I have submitted this to be used as the hash tooling for Yarn. See it as a good example on using this in a production environment!
Logged in using new argon2i password hash! 
Logged in using new argon2i password hash! 
Git Commit Uruguay: Lowering barriers to make software development more inclusive and diverse
We delivered two different courses specifically designed to help students in the lowest-income neighborhood of Montevideo, Uruguay learn how to use GitHub and understand the value of open source. ⌘ Read more
Implement User Authentication Into Your Web Application Using SuperTokens
Find out how to set up SuperTokens, an open source authentication solution, using its Docker Extension. ⌘ Read more
I made a thing. Its a multi password type checker. Using the PHC string format we can identify a password hashing format from the prefix $name$ and then dispatch the hashing or checking to its specific format.
I made a thing. Its a multi password type checker. Using the PHC string format we can identify a password hashing format from the prefix $name$ and then dispatch the hashing or checking to its specific format.
US Netherlands was a tough game to watch today. NLD’s Memphis is a beast.
Ignite Realtime Blog: Denial of Service Vulnerability in Smack 4.4 if XMPPTCPConnection is used with StAX
The fantastic folks behind Jitsi have discovered a Denial of Service (DoS) vulnerability in Smack ( JSA-2022-0002, [JSA-2022-0003](https://github.com/jitsi/security-advisories/blob/master/advisories/JSA-2022-00 … ⌘ Read more
Gajim: Gajim 1.5.4
Gajim 1.5.4 comes with a reworked file transfer interface, better URL detection, message selection improvements, and many fixes under the hood. Thank you for all your contributions!
Gajim’s interface for sending files has been reworked, and should be much easier to use now. For each file you’re about to send, Gajim will generate a preview. This way, you can avoid sending the wrong file to somebody. Regardless of how you start a file transfer, be it drag and drop, pasting a … ⌘ Read more
Introducing Mona Sans and Hubot Sans
Learn how to use and express yourself with GitHub’s open source variable fonts, Mona Sans and Hubot Sans. ⌘ Read more
How to Monitor Container Memory and CPU Usage in Docker Desktop
Find out how to track the CPU, memory, network, and disk usage of docker containers and docker compose projects using the Resource Usage Docker Extension. ⌘ Read more
@eaplmx@twtxt.net i used internet when it cost 13c per minute. my parents would get so mad if i went over the monthly base minutes CompuServe gave us.
@eaplmx@twtxt.net i used internet when it cost 13c per minute. my parents would get so mad if i went over the monthly base minutes CompuServe gave us.
@prologic@twtxt.net duud use an ad block on youtube.
@prologic@twtxt.net duud use an ad block on youtube.
Cool addition with the RSS! I use newsbeuter/newsboat but the biggest bummer is it doesn’t accept gopher URIs, which makes no sense to me. Who cares how the RSS data is delivered?
JMP: Writing a Chat Client from Scratch
There are a lot of things that go into building a chat system, such as client, server, and protocol. Even for only making a client there are lots of areas of focus, such as user experience, features, and performance. To keep this post a manageable size, we will just be building a client and will use an existing server and protocol (accessing Jabber network services using the XMPP protocol). We’ll make a practical GUI so we can test things, but not spend too much time on p … ⌘ Read more
@logout@i-logout.cz @prologic@twtxt.net I did the same. had it on my raspberrypi, and used it over ssh from any machine.
ahh this is useful https://go.dev/doc/modules/managing-dependencies. the go culture doesn’t typically have large dependency graphs like Ruby or JS.
ahh this is useful https://go.dev/doc/modules/managing-dependencies. the go culture doesn’t typically have large dependency graphs like Ruby or JS.
“Bloggers, Dump Your Twitter Card Tags”
It’s crazy to think how much bandwidth is being used by metadata tags. Every company wants to invent it’s own new system. Wouter Groeneveld gives a brief overview and recommends getting rid of them (for the most part). I agree with him completely. The only one of these systems that my blog supports is Microformats, which is quite popular among the IndieWeb community. ⌘ Read more
My websites have finally favicons again. And I can update them using a simple web interface. 😄 ⌘ Read more
mirrors grant souls, cameras steal souls. we shall use these properties to set up soul conduits and use the resulting fields for summonings
RT by @mind_booster: The EU will fund a pilot project for a public directory of #publicdomain works. This is based on a whitepaper I wrote with @Senficon for the 2021 @creativecommons summit. Thanks for bringing us 1 step closer to making this a reality @echo_pbreyer & team! https://www.patrick-breyer.de/en/kick-off-for-eu-database-of-public-domain-works-and-digital-access-to-scientific-works/
The EU will fund a pilot project for a public directory of [#publicdomain](https://nitter.net/search?q=%23publicdom … ⌘ Read more
Jérôme Poisson: Libervia progress note 2022-W45
Hello, it’s time for a long overdue progress note.
I’ll talk here about the work made on ActivityPub (AP) gateway and on end-to-end encryption around pubsub.
Oh, and if everything goes well, this blog post should be accessible from XMPP and ActivityPub (and HTTP and ATOM feed), using the same identifier goffi@goffi.org.
The work made on the AP gateway has been possible thanks to a NLnet/NGI0 grant (w … ⌘ Read more
I reworked the current ActivityPub implementation of GoBlog, fixed ActivityPub replies to posts and also added support for reply updates and deletions. Under the hood it’s using the comment system. 🥳 Using the go-ap/activitypub library, working with ActivityPub is much easier (but still more complicated than I wish it would be). ⌘ Read more
When Lethal Weapons Grew on Trees
While manufacturing modern firearms and bullets depends on a global supply chain and fossil fuels, bows and arrows can be made anywhere out of anything, using only human power and simple hand tools. ⌘ Read more
Today was already the 4th day that I worked using a mobile hotspot with a speed limit of 10 mbps down and upload. This is definitely doable. I’m glad I didn’t have to transfer any larger files. Faster internet is coming in two days. But I chose wisely when I signed my mobile contract last year without a data cap. ⌘ Read more
How Rapid7 Reduced Setup Time From Days to Minutes With Docker
Learn how Rapid7 — a security analytics and automations provider — used Docker to streamline developer onboarding through containerization. ⌘ Read more
@lyse@lyse.isobeef.org @prologic@twtxt.net yeah that was how i did it too. I think ill start using the debug version in new stuff since its been added. My comment was around assigning the result of an anonymous function to a a variable.
@lyse@lyse.isobeef.org @prologic@twtxt.net yeah that was how i did it too. I think ill start using the debug version in new stuff since its been added. My comment was around assigning the result of an anonymous function to a a variable.
Automate API Tests and Debug in Docker With Postman’s Newman Extension
Postman’s Newman Docker Extension helps you run, test, debug, and visualize Postman API calls. Learn how to use this powerful new extension and run collections in Docker Desktop. ⌘ Read more
Tell me you write go like javascript without telling me you write go like javascript:
import "runtime/debug"
var Commit = func() string {
if info, ok := debug.ReadBuildInfo(); ok {
for _, setting := range info.Settings {
if setting.Key == "vcs.revision" {
return setting.Value
}
}
}
return ""
}()
Tell me you write go like javascript without telling me you write go like javascript:
import "runtime/debug"
var Commit = func() string {
if info, ok := debug.ReadBuildInfo(); ok {
for _, setting := range info.Settings {
if setting.Key == "vcs.revision" {
return setting.Value
}
}
}
return ""
}()
Turns out Uranus used to have an even weirder name… ⌘ Read more
I stopped using an alarm clock for a year ⌘ Read more
ProcessOne: ejabberd turns 20
ejabberd is a piece of software that was born 20 years ago. This is a long time, even at the scale of Internet. And yet, what ejabberd represents has not always been obvious. It took us a long time to realize what was so important about ejabberd. Why have we been developing it for 20 years? Why are we pushing it further even today? What makes it so special?
ejabberd is a scalable messaging server. That sum … ⌘ Read more
ProcessOne: ejabberd turns 20
ejabberd is a piece of software that was born 20 years ago. This is a long time, even at the scale of Internet. And yet, what ejabberd represents has not always been obvious. It took us a long time to realize what was so important about ejabberd. Why have we been developing it for 20 years? Why are we pushing it further even today? What makes it so special?
ejabberd is a scalable messaging server. That sums it all and that does not do justice to this critical piece of the Internet infr … ⌘ Read more
Ignite Realtime Blog: Spark 3.0.0 Released
The Ignite Realtime community is happy to announce the release of Spark 3.0.0 version.
We decided to increase major version to 3.x to coincide with a complete UI refresh of Spark which was contributed by Amos. Now Spark uses only FlatLaf Look and Feel. We are very much grateful for his incredible work. Along that Pade Meetings plugin was added by [Dele](https://discourse.igniterealtime. … ⌘ Read more
Bad Date
⌘ Read more
Why I bought a new laptop 💻
I just updated my Hardware Uses page. Recently, I bought a new notebook and today I reset my Surface Go and sent it to a trade-in portal. ⌘ Read more
Y2K and 2038
⌘ Read more
@mckinley@twtxt.net Thank you! I didn’t even know about signing and encrypting XML documents. Right, RSS is a little bit messy.
Unfortunately, the autodiscovery document in one of your linked resources does not exist anymore. What annoys me in Atom is the distinction between <id> and <link>. I always want my URL also to be my ID, so I have to duplicate that – unnecessarily in my opinion.
Also, never found a good explanation why I should add <link rel="self" … /> to my feeds. I just do, but I don’t understand why. The W3C Feed Validation Service says:
[…] This value is important in a number of subscription scenarios where often times the feed aggregator only has access to the content of the feed and not the location from which the feed was fetched.
This just sounds like a very questionable bandaid to bad software architecture. Why would the feed parser need access to the feed URL at this stage? And if so, why not just pass down the input source? Just doesn’t make sense to me.
Also, I just noticed that I reference the http://purl.org/rss/1.0/modules/syndication/ namespace, but don’t use it in most of my feeds. Gotta fix that. Must have copied that from my yfav feed without paying attention what I’m doing.
Your article made me reread the Atom spec and I found out, that I can omit the <author> in the <entry> when I specify a global <author> at <feed> level. Awesome! Will do that as well and thus reduce the feed size.
Understanding the social impact of open source technologies
Here’s how nonprofits and the social sector are using open source to drive social good. ⌘ Read more
Microsoft declares ownership of all Open Source software
Using the “Finders Keepers clause” of the GitHub Terms of Service. ⌘ Read more
ProcessOne: Matrix protocol added to ejabberd
ejabberd is already the most versatile and scalable messaging server. In this post, we are giving a sneak peak at what is coming next.
ejabberd just get new ace in it sleeve – you can now use ejabberd to talk with other Matrix servers, a protocol sometimes used for small corporate server messaging.
Of course, you all know ejabberd supports the XMPP instant messaging protocol with hundreds of XMPP extensions, this is what it is famous for.
The second ma … ⌘ Read more
**So many different “clever” and “funny” takes around here lately, comparing “Twitter vs. Mastodon” with “Windows vs. Linux”, making fun of ‘the year of Linux in the desktop’…
…an I still wonder why would anyone freely and willingly choose to use Windows over GNU/Linux. 🤷♂️**
So many different “clever” and “funny” takes around here lately, comparing “Twitter vs. Mastodon” with “Windows vs. Linux”, making fun of ‘the year of Linux in the desktop’…
…an I still wonder why would anyone freely and willing … ⌘ Read more
The XMPP Standards Foundation: The XMPP Newsletter October 2022
Welcome to the XMPP Newsletter, great to have you here again! This issue covers the month of October 2022.
Like this newsletter, many projects and their efforts in the XMPP community are a result of people’s voluntary work. If you are happy with the services and software you may be using, especially throughout the current situation, please consider saying thanks or help these projects! Interested in supporting the Newsletter team? Read more at t … ⌘ Read more
Advocating for developers to the US Copyright Office
How GitHub advocated for developer interests at the US Copyright Office technical measures consultations ⌘ Read more
Build, Share, and Run WebAssembly Apps Using Docker
Did you know Wasm and Docker can work together? Learn more about creating WebAssembly apps with Docker in this exciting demo breakdown. ⌘ Read more
GitHub partners with Arm to revolutionize Internet of Things software development with GitHub Actions
Developers creating Internet of Things software use a complex stack of software that needs to be custom built into their CI/CD platform. Arm is leveraging the simplicity and scalability of GitHub Actions with a native integration that will revolutionize IoT software development. ⌘ Read more
Developing Go Apps With Docker
Develop Go applications with Docker using these containerization steps, best practices, optimization tips, and more. ⌘ Read more
Wirecutter Recommendation
⌘ Read more
Announcing Docker Hub OCI Artifacts Support
We’re excited to announce that Docker Hub can now help you distribute any type of application artifact! You can now keep everything in one place without having to leverage multiple registries. Before today, you could only use Docker Hub to store and distribute container images — or artifacts usable by container runtimes. This became a […] ⌘ Read more
it uses the queries you define for add/del/set/keys. which corrispond to something like INSERT INTO <table> (key, value) VALUES ($key, $value), DELETE ..., or UPDATE ...
the commands are issued by using the maddycli but not the running maddy daemon.
see https://maddy.email/reference/table/sql_query/
the best way to locate in source is anything that implements the MutableTable interface… https://github.com/foxcpp/maddy/blob/master/framework/module/table.go#L38
it uses the queries you define for add/del/set/keys. which corrispond to something like INSERT INTO <table> (key, value) VALUES ($key, $value), DELETE ..., or UPDATE ...
the commands are issued by using the maddycli but not the running maddy daemon.
see https://maddy.email/reference/table/sql_query/
the best way to locate in source is anything that implements the MutableTable interface… https://github.com/foxcpp/maddy/blob/master/framework/module/table.go#L38