news
FSF / Software Freedom News and GNU / Digital Sovereignty
-
Protesilaos Stavrou ☛ Emacs for beginners with Christian Arzu (@linkarzu on YouTube)
Christian is a NeoVim user who is Emacs-curious. He is trying out Emacs and needs someone to guide him at this early stage, which I am happy to do.
-
Digitala Vetenskapliga Arkivet ☛ The GNU Emacs Architecture: Unlocking the Core [PDF]
The GNU Emacs text editor is a part of the GNU Operating System and has been in development since the 1980s. Emacs is known for its user-extensible and self-documenting design that ties back to the free software philosophy that advocates for the users freedoms to run, study, change and distribute computer programs. While there is much documentation on the editors program- ming language Emacs Lisp, there is a lack of accessible documentation which covers the internal architecture. This significantly complicates effort of introducing new developers the Emacs core, restricting the users freedom to study Emacs. The recent introduction of Lisp threads brought a limited form of concurrency to Emacs, is forced to use a Global Interpreter Lock (GIL) to func- tion with the single-threaded architecture of GNU Emacs. This thesis aims to aid future work in modernizing Emacs by providing a foundation of a comprehensive and accessible documentation covering the internal architecture of GNU Emacs, focusing on components related to concurrency and parallel processing. The documentation is paired with a summarizing analysis covering the architectural limitations of the GNU Emacs core related to concurrent and parallel processing. This work hopes to initiate discussion regarding the single-threaded nature of the core and to act as a foundation for future documentation to expand upon. The documentation covers the GNU Emacs source code and build process, including architectural components such as the Command Loop and Lisp Environment while highlighting features related to concurrency such as variable binding, processes and threads. The analysis addresses the constraints of the co- operative concurrency model, summarizing the workarounds used in contemporary Lisp libraries and possible improvements such as the addition of a preemptive thread scheduler, illustrating the complicated task of removing the GIL. The GNU Emacs core relies heavily on shared state, requiring large changes in its most fundamental systems such as the memory allocator and the Lisp environment.
-
Android Police ☛ I stopped trusting standard note apps with my personal diaries and hosted my own instead
I've already replaced many popular apps with their open source alternatives, and I couldn't be happier.
Recently, I've tried something similar with my note app, but this time, I've gone the extra mile and tried self-hosting.
-
Applications
-
GNU ☛ cssc @ Savannah: CSSC-1.5.0 released
This is to announce CSSC-1.5.0, a beta release.
There have been 424 commits by 2 people since 1.4.1. Thanks to Greg A. Woods for helping to improve CSSC.
-