Skip Navigation
Posts
14
Comments
0
Joined
4 yr. ago
Go programming language discussion @lemmy.ml
sbinet @lemmy.ml

Star-TeX v0.7.1 is out

hi there,

Star-TeX v0.7.1 is out:

After a (very) long hiatus, development of Star-TeX has resumed. Star-TeX is a pure-Go TeX engine, built upon/with modernc.org/knuth.

v0.7.1 brings pure-Go TeX → PDF generation.

Here are examples of generated PDFs:

PDF generation is still a bit shaky (see #24), but it's coming from the external PDF package we are using rather than a Star-TeX defect per se.

We'll try to fix that in the next version. Now we'll work on bringing LaTeX support to the engine (working directly on modernc.org/knuth).

Go programming language discussion @lemmy.ml
sbinet @lemmy.ml

peertube: a (simple) Go client for PeerTube

hi there,

just a quick message to announce my latest small pet project of the week :

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

Go programming language discussion @lemmy.ml
sbinet @lemmy.ml

GopherConAU 2023 video track

Here is the full playlist from the GopherConAU 2023 conference:

Go programming language discussion @lemmy.ml
sbinet @lemmy.ml

proposal: review meeting minutes

Your weekly appointment with the latest news about accepted/declined proposals.

Go programming language discussion @lemmy.ml
sbinet @lemmy.ml

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 programming language discussion @lemmy.ml
sbinet @lemmy.ml
docs.google.com Go 1.22 inlining overhaul

Go 1.22 inlining overhaul , with contributions from , , , and Last update: The Go compiler’s inliner has never been particularly good. It wasn’t until Go 1.12, released in 2019, that the Go compiler supported inlining more than leaf functions, and we’ve slowly chipped away at more limita...

Go 1.22 inlining overhaul

The Go compiler’s inliner has never been particularly good. It wasn’t until Go 1.12, released in 2019, that the Go compiler supported inlining more than leaf functions, and we’ve 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’s inlining policy since 1.12.

[...]

The rest of this document lays out a set of considerations for a redesign of Go’s inlining policy.

https://docs.google.com/document/d/1a6p7-nbk5PVyM1S2tmccFrrIuGzCyzclstBtaciHxVw/edit

Go programming language discussion @lemmy.ml
sbinet @lemmy.ml

proposal: review meeting minutes

Your weekly appointment with the latest news about accepted/declined proposals.

Noteworthy accepted proposal:

Go programming language discussion @lemmy.ml
sbinet @lemmy.ml

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

Go programming language discussion @lemmy.ml
sbinet @lemmy.ml

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

Go programming language discussion @lemmy.ml
sbinet @lemmy.ml

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.

Go programming language discussion @lemmy.ml
sbinet @lemmy.ml

proposal: review meeting minutes

Your weekly appointment with the latest news about accepted/declined proposals.

Go programming language discussion @lemmy.ml
sbinet @lemmy.ml

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.

Go programming language discussion @lemmy.ml
sbinet @lemmy.ml

proposal: review meeting minutes

Your weekly appointment with the latest news about accepted/declined proposals.

Go programming language discussion @lemmy.ml
sbinet @lemmy.ml

proposal: review meeting minutes

Your weekly appointment with the latest news about accepted/declined proposals.