I just opened registration for the June iteration of the "Hands-On Guile Scheme for Beginners" course!
This is an 8-week course that is a mixture of on-demand learning content, live Q&A sessions, practical exercises, and a private forum where I answer all your questions.
This iteration officially begins on June 8th, full details and schedule can be found here:
I just opened registration for the June iteration of the "Hands-On Guile Scheme for Beginners" course!
This is an 8-week course that is a mixture of on-demand learning content, live Q&A sessions, practical exercises, and a private forum where I answer all your questions.
This iteration officially begins on June 8th, full details and schedule can be found here:
I recently opened registration for the April iteration of the "Hands-On Guile Scheme for Beginners" course!
This is an 8-week course that is a mixture of on-demand learning content, live Q&A sessions, practical exercises, and a private forum where I answer all your questions.
This iteration officially begins on April 20th, full details and schedule can be found here:
I recently opened registration for the April iteration of the "Hands-On Guile Scheme for Beginners" course!
This is an 8-week course that is a mixture of on-demand learning content, live Q&A sessions, practical exercises, and a private forum where I answer all your questions.
This iteration officially begins on April 20th, full details and schedule can be found here:
@daviwil
Popper is one if the greatest QoL packages in Emacs. I tend to put eshell, helpful, and erc buffers in popper for quick out-of-the-way access. Thanks @karthink for such a great package.
I just opened up registration for the March iteration of the "Hands-On Guile Scheme for Beginners" course!
This is an 8-week course that is a mixture of on-demand learning content, live Q&A sessions, practical exercises, and a private forum where I answer all your questions. We had a great time in the February iteration so I'm looking forward to running it again!
Come learn Scheme and functional programming with us!
I just opened up registration for the March iteration of the "Hands-On Guile Scheme for Beginners" course!
This is an 8-week course that is a mixture of on-demand learning content, live Q&A sessions, practical exercises, and a private forum where I answer all your questions. We had a great time in the February iteration so I'm looking forward to running it again!
If you've got questions about Emacs, Guix, Guile, or other related topics and want a friendly place to ask them, come check out the new System Crafters Forum!
🔴 Today on #SystemCrafters Live, we'll try out Arei, a new IDE and REPL for Guile Scheme in Emacs written by @abcdw. This project aims to provide a more modern and robust development experience for Scheme compared to Geiser.
Let's see if we can hack on Guile projects more comfortably with Arei!
🔴 Today on #SystemCrafters Live, we'll try out Arei, a new IDE and REPL for Guile Scheme in Emacs written by @abcdw. This project aims to provide a more modern and robust development experience for Scheme compared to Geiser.
Let's see if we can hack on Guile projects more comfortably with Arei!
🔴 Today on #SystemCrafters Live, we'll experiment with self-hosting various services like websites, an XMPP server, and possibly an IRC bouncer using Guix containers.
The twist here is that we will be deploying these containers inside of Debian so that they're easy to host in standard cloud service VMs!
🔴 Today on #SystemCrafters Live, we'll experiment with self-hosting various services like websites, an XMPP server, and possibly an IRC bouncer using Guix containers.
The twist here is that we will be deploying these containers inside of Debian so that they're easy to host in standard cloud service VMs!
Long term, my goal is to make Scheme appealing to a wider audience, primarily through tutorials and demonstrations.
Obviously there are plenty of Scheme developers already, and even more thanks to Guix, but I still don't think the language gets the admiration that it deserves.
@daviwil In my very subjective opinion, one of the problems would be choice paralysis and kinda related to that the lack of enough standardisation.
It's nice that I can read files in a standard way, but that's not everything one has to do, and if I want to call a library or use any of the SRFIs implementations decided to replace with their own stuff then my code is just forever locked in. Which isn't bad per-se but seems to cause code to be developed for an implementation rather than just Scheme
@daviwil To me it’s not so much about “admiration”: I’m convinced Scheme is a great vehicle to achieve programming literacy and, beyond that, emancipation.
More tutorials, demos, etc. are definitely the way to make progress!
It's a great source of inspiration for how to run a successful Free Software project. It explains the Collective Code Construction Contract (aka C4 - https://rfc.zeromq.org/spec/42/), a protocol for managing projects like ZeroMQ.
One fairly radical guideline of C4 is that almost all patches should be merged! By reducing contributor friction, you will increase their investment in the project.
I've been re-reading the book "Social Architecture" by the late Peter Hintjens:
It's a great source of inspiration for how to run a successful Free Software project. It explains the Collective Code Construction Contract (aka C4 - https://rfc.zeromq.org/spec/42/), a protocol for managing projects like ZeroMQ.
Another interesting point is that the "public contract", or API surface, of the project should not be broken unless the change is universally considered to be the right thing to do:
This means that the project *should* be free to ship new releases regularly and users can upgrade without concern for behavior or API breaking changes.
The solution is to use new names for the changed "contracts" without changing the existing contracts. Not easy to do, but possible!
Another interesting point is that the "public contract", or API surface, of the project should not be broken unless the change is universally considered to be the right thing to do:
This means that the project *should* be free to ship new releases regularly and users can upgrade without concern for behavior or API breaking changes.
Today I'm spending some time writing up an outline for a new guide and video series about Guile Scheme!
The goal is to teach anyone (even programming beginners, if possible) how to use Scheme as a language for building personal tools (scripts, etc) and managing their system via Guix. Guix itself won't be covered in depth, but the features of the language used commonly in Guix will be!
What would you like to see covered in such a series?
@daviwil
I have been playing around with Guile and using Guix a lot myself lately. One thing I haven't been able to figure out so far is how to get Emacs Geiser to work with the Guile debugger. I know how to set breakpoints, and I can do C-x C-e on a form to evaluate it in the Guile REPL and trigger the debugger, but there doesn't seem to have any key bindings for single stepping forms. I have to jump into the REPL and type ,s and ,n in order to actually use the debugger. It seems like Geiser actually isn't really complete, that or I am missing something.
Since the focus of your video seems to be personal tools and scripting, it would be nice to go over some of the features available in the POSIX module of Guile, but if I were making this video series, I would pay close attention to the File Tree Walk (FTW) module as a replacement for the GNU Coreutils find command. Whether I am using the shell, or Emacs, I end up using that find command at least a dozen times a day. Having a Scheme-programmable version of it woud be nice, and is something I've been wanting to work on for a while myself.
@daviwil
I have been playing around with Guile and using Guix a lot myself lately. One thing I haven't been able to figure out so far is how to get Emacs Geiser to work with the Guile debugger. I know how to set breakpoints, and I can do C-x C-e on a form to evaluate it in the Guile REPL and trigger the debugger, but there doesn't seem to have any key bindings for single stepping forms. I have to jump into the REPL and type ,s and ,n in order to actually use the debugger. It seems like Geiser actually...
@daviwil how to set it up with #Emacs to get completion and lookups and instant documentation. For system scripting languages like elisp or even #bash there's so much content, both built-in and online, on how to build out. Yet from what I've experienced trying to jump into guix, guile code is a lot more "paste it in, if it breaks go back" than those which is unfortunate. Or is there already a great tutorial I've missed?
The new System Crafters website is now officially live!
I'm really happy with how it turned out, but this is only the beginning! Work on the comprehensive written guides about Emacs and Guix will begin next week.
🔴 On today's #SystemCrafters stream we'll strip a Guix system configuration down to the bare essentials to achieve a minimal desktop environment based on Sway and Pipewire!
I'll also discuss the components needed to accomplish a minimal Wayland configuration like this so the information here may be useful even if you don't use Guix!
🔴 On today's #SystemCrafters stream we'll strip a Guix system configuration down to the bare essentials to achieve a minimal desktop environment based on Sway and Pipewire!
I'll also discuss the components needed to accomplish a minimal Wayland configuration like this so the information here may be useful even if you don't use Guix!
@daviwil Good to hear. I am struggling with pipewire since this week I changed from pulseaudio. Some irradic behavior with mpv audio, when sending video URLs. Some videos have sound while others have not. Really weird. I hope your video can bring me any further on understanding pipewire!