@abcdw@fosstodon.org
@abcdw@fosstodon.org avatar

abcdw

@abcdw@fosstodon.org

Hack on operating systems and programming languages. He/Him.

Improve tooling for Guile and GNU Guix.

74830A276C328EC2 at keyserver.ubuntu.com and keys.openpgp.org.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

abcdw, to scheme
@abcdw@fosstodon.org avatar

We released Arei Guile IDE 0.9.4. It's already available in Guix.
https://git.sr.ht/~abcdw/emacs-arei/refs/0.9.4
https://git.sr.ht/~abcdw/guile-ares-rs/refs/0.9.4

It has eldoc and xref (go to definition) features, better completion and a few other improvements.

Big kudos to @krevedkokun for implementing them.

We are working hard towards 1.0, which will be even more exciting:
https://todo.sr.ht/~abcdw/tickets?search=label%3Amilestone-arei-1.0

abcdw, to emacs
@abcdw@fosstodon.org avatar

Did you know that you can do a git log just for a small part of the file?

abcdw,
@abcdw@fosstodon.org avatar

@bamfic select a region, call magit-file-dispatch, press l.

abcdw,
@abcdw@fosstodon.org avatar

@karthink @credmp you don't even need emacs for this ;)

abcdw,
@abcdw@fosstodon.org avatar

@TheSecondVariation @yisraeldov select a region, magit-file-dispatch, l.

@krathink also mentioned vc-region-history.

And of course -L flag for git log.

abcdw, to random
@abcdw@fosstodon.org avatar

pegasus airlines can't send emails to mail+flypgs.com@trop.in

I contacted migadu support and wait for their reply, but something tells me that the problem is not on receiving side :)

abcdw,
@abcdw@fosstodon.org avatar

BTW, I come to Georgia for a few weeks on May 16.

We will have a Guix meetup in F0RTHSPACE hackspace somewhere in the end of May.

picnoir, to random
@picnoir@social.alternativebit.fr avatar

Guix day 1:

I spent most of the day getting comfortable with Guile and the basics of Guix services.

Followed the "perfect hacking setup" manual section (I'm lucky, I'm using Emacs). Geiser is okay-ish, but fails a lot of times (can't jump to definition in g-expressions for instance). Overall, the builtin yasnippets, and paredit are good and useful, geiser fails to jump to definition too many times to be really useful.

I have a fully functional sway/pipewire/xdg-desktop-portal setup. Costed me quite some headaches.

Guix home is super nice and definitely more integrated than home-manager.

I migrated ~60% of my laptop NixOS configuration. The remaining 40% are going to be pretty painful to migrate, Guix is currently lacking some features to do so (writers, secret management). I'll probably have to write the missing features to continue the migration, but I'm not comfortable enough with Guile/Guix to do so yet.

I packaged my first package (power-profiles-daemon) and wrote a service for that.

I really like the Guix service system. A lot more than the NixOS module system.

Tomorrow, I'll have to face my nemesis: mailing-list-powered patches. I'm 6 commits ahead of my Guix channel, it's time to reduce the stack and start cleaning/upstreaming the changes.

I'm not in love with Guile yet. Part of it probably comes from my inexperience, using it is still painful and slows me down a lot.

I hit a massive roadblock at some point: the guile error message was lying to me. I had a module with an error in it, and instead of throwing an error message, Guile was lying to me and telling me I was not loading this module, and giving me a hint explaining me how to load the module. But, I was already loading the module!! Gazlighted by the interpreter :D

Took me a good 2h before realizing the interpreter was lying to me. I need to find a minimal reproducer to send to the email list.

Massive kudos to @ekaitz_zarraga who helped me in the process :)

abcdw,
@abcdw@fosstodon.org avatar

@picnoir @ekaitz_zarraga

Take a look at
https://git.sr.ht/~abcdw/emacs-arei/

https://git.sr.ht/~abcdw/rde/tree/309db6a7/examples/Makefile#L22

The version in guix is a bit behind, but probably we will make a minor release and I'll update it this week.

abcdw,
@abcdw@fosstodon.org avatar

@picnoir @ekaitz_zarraga We sneakily released 0.9.4, it have most of the latest features, including goto definition, eldoc, completion, friendly buffers for project and so on.

It's on guix master, BTW :)

abcdw, (edited ) to random
@abcdw@fosstodon.org avatar
abcdw,
@abcdw@fosstodon.org avatar

@aka_dude I try to experiment with priliminary tools for flake-like mechanism, but I face a lot of different issues, so no tangible results so far.

Here just some workarounds:
https://github.com/abcdw/notes/blob/fce3dc1/notes/20240210123238-2024_02_10_guix_workflow.org?plain=1#L6

https://git.sr.ht/~abcdw/rde/tree/9ad2cf9f/examples/Makefile#L22

abcdw, to scheme
@abcdw@fosstodon.org avatar
abcdw, to guix
@abcdw@fosstodon.org avatar

nix-overlay like package lists and transformation for guix.

Subject: Functional package interface
https://lists.gnu.org/archive/html/guix-devel/2024-04/msg00120.html
https://yhetil.org/guix-devel/0076d418-547a-1de2-6977-afe10d1a4222@purge.sh/T/#u

Thought about similiar ideas a few times already.

abcdw, to random
@abcdw@fosstodon.org avatar

This is how my working calls look like:

abcdw, to random
@abcdw@fosstodon.org avatar

BTW, we went "the hard way" and picked the sourcehut todo service as a bug tracker and project management tool for RDE, Ares, Arei and neighboring projects.

It's very bare-bone, but we could implement cross-project milestones via labels, it's already have basic filtering and searching and integrates nicely with email and git.

Will be developing the rest of the functionality as we go. Probably via API or by upstreaming patches to sourcehut.

abcdw, (edited ) to scheme
@abcdw@fosstodon.org avatar

Two days of troubleshooting lead to those snippets of code:

https://github.com/wingo/fibers/issues/105
https://todo.sr.ht/~abcdw/tickets/7

Something wrong happening with non-blocking sockets inside threads, which spawned from fiber.

abcdw, to scheme
@abcdw@fosstodon.org avatar

What "Clownshoes semantics" means?

I was tracing the issue and stumbled upon this phrase in the comment in Guile source code, I'm really puzzled.

https://git.savannah.gnu.org/cgit/guile.git/tree/module/ice-9/suspendable-ports.scm?h=0e9ccaf47#n742

#guile #scheme #lisp

abcdw, to scheme
@abcdw@fosstodon.org avatar

Implementing run-project-tests for SRFI-64 test suits.

https://youtu.be/pDBOKTK9SL8
https://yewtu.be/watch?v=pDBOKTK9SL8

abcdw,
@abcdw@fosstodon.org avatar
abcdw,
@abcdw@fosstodon.org avatar

@ekaitz_zarraga oh, ok :)

For now I miss custom asserts with custom error messages, for example cecking if a list is a subset of another and if not showing the set difference and other similiar use cases.

abcdw, (edited )
@abcdw@fosstodon.org avatar

@ekaitz_zarraga I suspect, there is a chance that I will find some other critical problems, but don't have time at the moment to design another testing framework and just hope SRFI-64 will serve me well enough :)

abcdw, to hosting
@abcdw@fosstodon.org avatar

Found a cool SSH Apps project:
https://pico.sh/

Static sites, RSS feed to email digest, reverse ssh tunnels (for exposing local socket with public domain name), blog engine, pastebin and couple more.

All available via ssh/rsync.

abcdw, to github
@abcdw@fosstodon.org avatar

The nice thing about sourcehut: API is exposed to me to the full extent and I can easily integrate things how I want.

https://man.sr.ht/lists.sr.ht/api.md
https://man.sr.ht/todo.sr.ht/api.md

sachac, to random
@sachac@emacs.ch avatar

I haven't been able to access git.sr.ht URLs for a while, so I finally got around to looking into it. I can access it from my phone if I turn off wifi. I still can't access it from my laptop if I disable the Pi-hole ad-blocker. I think Sourcehut's blocking a range of IPs that my Internet provider uses, which is inconvenient.

abcdw,
@abcdw@fosstodon.org avatar
abcdw, to random
@abcdw@fosstodon.org avatar

You know what, a good part of the projects I was looking at cause they use bugzilla, trac or whatever are actually migrated to GitLab or GitHub recently.

Gnome, OpenVPN, OpenStreetMaps, GHC, I2P, Tor, OpenWRT, VLC, wxWidgets, Alpine Linux and probably a bunch more.

https://trac.edgewall.org/wiki/TracUsers
https://www.bugzilla.org/about/installation-list.html

abcdw,
@abcdw@fosstodon.org avatar

@floindr Maybe because it's hard to maintain and administrate, integrate with other tools like CI, VCS, Knowledge Base, etc.

Also, it's often hard to contribute to such projects for less involved people (cause of unusual services and workflows).

There are a few articles/wiki pages on the internet documenting migration reasons and forge comparison for needs of particular projects.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • kavyap
  • DreamBathrooms
  • cisconetworking
  • magazineikmin
  • InstantRegret
  • everett
  • thenastyranch
  • Youngstown
  • rosin
  • slotface
  • khanakhh
  • Durango
  • mdbf
  • JUstTest
  • ethstaker
  • anitta
  • modclub
  • osvaldo12
  • normalnudes
  • ngwrru68w68
  • GTA5RPClips
  • tacticalgear
  • provamag3
  • tester
  • Leos
  • cubers
  • lostlight
  • All magazines