peertube: a (simple) Go client for PeerTube
hi there,
just a quick message to announce my latest small pet project of the week :
- https://sr.ht/~sbinet/peertube
A simple (and incomplete) Go client for PeerTube[1] (an alternative to Big Tech's video platforms).
Right now, the client can:
- authenticate with a PeerTube server,
- list accounts,
- list videos for a given account,
- upload videos for a given account,
- remove videos for a given accounts.
There's also a simple peertube-cli command-line program to perform the things above:
```sh $> go install git.sr.ht/~sbinet/peertube/cmd/peertube-cli $> peertube-cli help peertube-cli - runs peertube-cli commands and sub-commands
Commands:
auth-add authenticate with a PeerTube server auth-ls list the known PeerTube servers auth-rm remove a PeerTube login video-ls list video(s) from a PeerTube server video-upload upload a video to a PeerTube server
Use "peertube-cli help <command>" for more information about a command. ```
It's not much, but it allowed me to ease the day-to-day work of uploading audio files for a podcast I am maintaining and authoring.
hth, -s
[1]: https://joinpeertube.org/
GopherConAU 2023 video track
Here is the full playlist from the GopherConAU 2023 conference:
- https://invidious.fdn.fr/playlist?list=PLN_36A3Rw5hFsJqqs7olOAxxU-WJGlXS0
proposal: review meeting minutes
The proposal review group meets regularly (roughly weekly) to review pending proposal issues and move them along in the proposal process. Review consists primarily of checking that discussion is on...
Your weekly appointment with the latest news about accepted/declined proposals.
- https://github.com/golang/go/issues/33502#issuecomment-1662728074
Preview: ranging over functions in Go
A major Go language change proposal was published earlier this week: add range over int, range over func, and there's a good chance this change will make it into a future Go release. In this post I will discuss the motivation for this proposal, how it's going to work, and provide some examples of how Go code using it would look.
Go 1.22 inlining overhaul , with contributions from , , , and Last update: The Go compiler鈥檚 inliner has never been particularly good. It wasn鈥檛 until Go 1.12, released in 2019, that the Go compiler supported inlining more than leaf functions, and we鈥檝e slowly chipped away at more limita...
The Go compiler鈥檚 inliner has never been particularly good. It wasn鈥檛 until Go 1.12, released in 2019, that the Go compiler supported inlining more than leaf functions, and we鈥檝e slowly chipped away at more limitations of the inliner over the years (it started inlining functions with for loops in early 2021!). Go 1.20, released in February 2023, added support for basic profile-guided inlining, the most significant change to Go鈥檚 inlining policy since 1.12.
[...]
The rest of this document lays out a set of considerations for a redesign of Go鈥檚 inlining policy.
https://docs.google.com/document/d/1a6p7-nbk5PVyM1S2tmccFrrIuGzCyzclstBtaciHxVw/edit
proposal: review meeting minutes
The proposal review group meets regularly (roughly weekly) to review pending proposal issues and move them along in the proposal process. Review consists primarily of checking that discussion is on...
Your weekly appointment with the latest news about accepted/declined proposals.
Noteworthy accepted proposal:
Coroutines for Go
Why we need coroutines for Go, and what they might look like.
Another great post from Russ Cox, in his series on iterators and coroutines.
https://research.swtch.com/coro
Storing Data in Control Flow
Write programs, not simulations of programs.
A great post from Russ Cox, setting the scene for his work on iterators and coroutines.
https://research.swtch.com/pcdata
tl;dr: Looking forward future Pinner.Pin 聽performance improvements. The upcoming Go version 1.21, scheduled for release next month, is curre...
tl;dr: Looking forward future Pinner.Pin performance improvements.
The upcoming Go version 1.21, scheduled for release next month, is currently available for download as Go 1.21rc2 in the "Unstable version" section here. Go 1.21 introduces a new runtime type, Pinner.
ccgo/v4, the next, also not yet released version of the C to Go transpiler, uses pinning to "freeze" addresses of local Go variables, addresses of which are passed around in the original C code. ccgo produces Go code where any C pointer points to memory not managed by the Go runtime. So ccgo simply puts such "escaping" variables in the memory not visible to the garbage collector, with stable, immovable addresses. Those are provided by the modernc.org/memory package. Otherwise a goroutine stack resizing can change the address of a local variable.
proposal: review meeting minutes
The proposal review group meets regularly (roughly weekly) to review pending proposal issues and move them along in the proposal process. Review consists primarily of checking that discussion is on...
Your weekly appointment with the latest news about accepted/declined proposals.
md2spip: a simple Markdown to SPIP converter
A very simple-minded CommonMark
to SPIP converter.
SPIP
is a rather popular french CMS, with its own wiki-like syntax to author documents.
proposal: review meeting minutes
The proposal review group meets regularly (roughly weekly) to review pending proposal issues and move them along in the proposal process. Review consists primarily of checking that discussion is on...
Your weekly appointment with the latest news about accepted/declined proposals.
proposal: review meeting minutes
The proposal review group meets regularly (roughly weekly) to review pending proposal issues and move them along in the proposal process. Review consists primarily of checking that discussion is on...
Your weekly appointment with the latest news about accepted/declined proposals.
odt: an OpenOffice document parser
hi there,
I've just cut [email protected]
, an OpenOffice document parser, "automatically" generated from the RelaxNG specification document.
odt
also provides odt2md
, a command that tries its best to convert an ODT file into a CommonMark one.
``` $> go install sbinet.org/x/odt/cmd/odt2md@latest $> odt2md -h odt2md converts an ODT document into a CommonMark one.
Usage: odt2md [OPTIONS] [INPUT.odt]
Example:
$> odt2md input.odt $> odt2md input.odt > out.md $> odt2md -o out.md input.odt $> odt2md < input.odt > out.md $> odt2md -o out.md < input.odt
Options: -o string path to output CommonMark file
$> odt2md ./testdata/simple.odt
Title
Hello World!
```
I guess it's because gorilla/websocket
has had a really big mindshare for a very long time.
and no project has had time to catch up and/or provide "reliable" hints that they will maintain that new project for a sizeable long time.
"the devil you know" and "the technical debt you know"...