Email or username:

Password:

Forgot your password?
591 posts total
Andrew Tropin

There is so much value in the good documentation.

I really appreciate, when project provide nice, clean and helpful docs, it makes your life times easier.

I'm not very good at it ATM.

Andrew Tropin

Wanna be confused by a bit of Guile Scheme?

99% of people can't give the right answer to this question:
Why primitive-eval and compile to value work differently?

paste.sr.ht/~abcdw/e0c96bdbae4

#guile #scheme

The screenshot of the following code:
(define-module (2024-06-18-define-bug))

(use-modules (system base compile))

(define (peval e)
  (compile
   e
   #:to 'value
   #:env (resolve-module
          '(2024-06-18-define-bug))))

(define (test-eval teval)
  (teval '(define a 1))
  (teval '(define a a))
  (format #t "a value with ~a is ~a\n" teval (teval 'a)))

(test-eval peval)
(test-eval primitive-eval)

(exit 0)

;; guile -l 2024-06-18-define-bug.scm # output is:
;; a value with #<procedure peval (e)> is #<unspecified>
;; a value with #<procedure primitive-eval (exp)> is 1
insep

@abcdw something something lexical scopes? i have no idea how guile works and can't even find documentation for compile :P

Andrew Tropin

Wow, Framework Computer @frameworkcomputer just announced a RISC-V mainboard for their 13" laptop chassis:

frame.work/blog/introducing-a-

This is an exciting step forward for high-quality open hardware laptops!

Andrew Tropin

Installing and configuring Podman on Guix system in 2 minutes:

youtu.be/CC7t7foYkko

Talking a bit about Containers, Docker and how it fits Guix.

#guix #podman #docker #containers #linux #DevOps

Andrew Tropin

Guix and RDE config showcase:

[dwl-guile] Elegant weapons for a more...civilized age

:guix: :emacs: :wayland: :lisp:

Kudos to screenshot author: @migalmoreno

dwl-guile and dtoa-guile authors: @engstrand and Fredrik Engstrand

and thousands of people bringing all that beatiful software to us.

P.S. This is a re-post of an old post, but the screenshot still beatiful :)

P.P.S. Link to the config git.migalmoreno.com/guix-confi

#guix #rde #guile #scheme #lisp #emacs

A screenshot of dwl-guile environment. Emacs window, terminal with ufetch, nyxt browser and bmenu.
Andrew Tropin

Nice managed self-hosting app provider: @Pikapods

=> pikapods.com

IIUC, It shares part of the revenue to authors of the project.

#selfhosted #selfhosting

Andrew Tropin

Diagram of bash initialization scripts loading order.

solipsys.co.uk/new/BashInitial

I spent quite some time back in the days to build similiar picture in my mind from documentation.

#bash

Andres Moreno

@abcdw

Thanks for sharing! I am having some #guix path issues on Fedora, so this diagram is really handy!

Andrew Tropin

Today I learned: If you don't add (require 'server) before calling (daemonp), your Emacs daemon will silently hang.

The thing I don't actually want to learn at all, ever.

It took 3 hours to debug, I found solution completely accidentially: just forgot to remove it, when was playing with (server-running-p).

#til #emacs #cursedtech

zrzz

@abcdw Do you have a minimal test case to reproduce this? I don't see it with my config and emacs -Q --daemon -f daemonp and similar attempts don't hang for me either.

Andrew Tropin

Built RDE cloud image. A bare bone Guix-based system in qcow2 format with sshd, dhcp-client and cloud-init, which resizes root file system to the size of provided disk, so it can be easily deployed to VPS or local virtual machine.

git.sr.ht/~abcdw/rde/commit/fb

Thanks to @krevedkokun and David Dashyan for working on cloud-init shepherd service.

#rde #guix #vps #cloud #qemu

Andrew Tropin
Live hacking some arcane lisp code (giving a talk) on Tbilisi Guix Meetup #1. Unexpectedly many people came to the party.

#guix #guile #scheme #lisp #meetup
Small cozy hackerspace room, with projector showing some code, a lot of cables and other nerdy stuff around, a man in pink t-shirt talking something and showing with his hands.
Andrew Tropin

There is a conference on Live Programming. It sound like a perfect fit for sharing our results on Guile Scheme IDE, which is more than 100% about live/interactive programming in Scheme language. Moreover, this event is not too academic, so I don't need to write a full-blown paper.

The only concern is that my USA visa is expired and getting a new one can take too much time :/

liveprog.org

My genuine thoughts: fuck those visas.

#live #scheme #lisp #repl #conference #academia

Andrew Tropin

We sneakily released Arei Guile Scheme IDE 0.9.5 a couple weeks ago. Mostly because there is not much user-visible new functionality, we just keep polishing sharp edges before 1.0 release.

To keep you updated: Yesterday I implemented extensions resolution mechanism, Nikita is cleaning up session handling on Emacs side and a couple more things left to do.

While we are getting ready for 1.0, @lil started to work on Hoot support!

#guile #scheme #lisp #ide #emacs #hoot #wasm

Andrew Tropin

Hey Guilers !

Motivated by @abcdw work on rde tests and gider, I spend time on Gunit64 : tools to fire up SRFI64 tests with Emacs key bindings thanks to Geiser.

First steps done ! Next one will be to ease installation using Guix.

Right now it is still manual : dedicated minor-mode, .dir-locals.el, Guile module…

Concret use case in the `tests` directory.

Check it out and tell me !
framagit.org/jeko/guile-gunit6

Don't hesitate to ping me for help or ideas!

#gnu #guix #guile #scheme #emacs #geiser

Hey Guilers !

Motivated by @abcdw work on rde tests and gider, I spend time on Gunit64 : tools to fire up SRFI64 tests with Emacs key bindings thanks to Geiser.

First steps done ! Next one will be to ease installation using Guix.

Right now it is still manual : dedicated minor-mode, .dir-locals.el, Guile module…

Andrew Tropin

@jeko I moved test-runner and related utilities to Ares:
git.sr.ht/~abcdw/guile-ares-rs

Plan to rework it a bit and provide an Emacs interface through Arei in foreseable future.

Maybe will later move test-runner to a separate library, when we make a good guile package manager.

Andrew Tropin

I always a bit shy asking for support in general or talking about funding FOSS projects in particular, I didn't even have a direct link to support page on my site.

Today I realized that it's not ok and from now on I need to be more open and explicit on the problem of FOSS funding. I started with updating my site index page.

trop.in

I genuinely grateful to all the people, who already bolster me and related projects no matter how hard it was to find a support page :)

shom 🐧📷🤿🏔️🪚

@abcdw thanks for sharing and bringing light to funding in FOSS. Do you have any non-crypto means for us to support you directly? Is Liberapay¹ an option at all?

¹liberapay.com/

Andrew Tropin

TIL about infrastructure cooperatives. Many of their ideas reasonates with my thoughts and the thread I started earlier [1]. Here is a list of links to some of such coops and related resources:
- hcoop.net
- cyberia.club
- autonomic.zone
- servers.coop
- webarchitects.coop
- chatons.org/en
- hostsharing.net

[1]: lists.sr.ht/~abcdw/rde-discuss

#coop #hosting #cooperative #cooperation #SelfHosting #selfhosted

TIL about infrastructure cooperatives. Many of their ideas reasonates with my thoughts and the thread I started earlier [1]. Here is a list of links to some of such coops and related resources:
- hcoop.net
- cyberia.club
- autonomic.zone
- servers.coop
- webarchitects.coop
- chatons.org/en
- hostsharing.net

Wilko :emacs: :guix:​

@abcdw infrastructure coops are a great thing! I would love to see something pubnix-ish running guix; it would also benefit the guix ecosystem as a whole as that would probably mean more packages and shepherd services to be written and ready to use.

Andrew Tropin

@graywolf Answering your question in Guile's IRC about record introspection: to obtain fields of a record-type there is record-type-fields function.

You can go even further and get a list of fields from record itself.
(record-type-fields (record-type-descriptor (%make-some-record 1 2 3)))

r6rs records introspection have a bit more consistent naming:
(use-modules (rnrs records inspection))
(record-type-fields (record-rtd (%make-record 1 2 3)))

#scheme #guile #lisp

@graywolf Answering your question in Guile's IRC about record introspection: to obtain fields of a record-type there is record-type-fields function.

You can go even further and get a list of fields from record itself.
(record-type-fields (record-type-descriptor (%make-some-record 1 2 3)))

r6rs records introspection have a bit more consistent naming:
(use-modules (rnrs records inspection))
(record-type-fields (record-rtd (%make-record 1 2 3)))

graywolf

@abcdw Oh that is great. Thank you for going out of your way to tell me! :) Now I can finally adjust my documentation generator to produce @deftp instead of @defvar. Yeeey.

Andrew Tropin

I think Guix Social meetup, can become the first Guix podcast soon and maybe even a huge technical conference in some future :)

mail.gnu.org/archive/html/guix

Kudos to @futurile for organizing all the talks.

#gnu #guix #meetup #guile

futurile

@abcdw oh wow, that's some great ideas - thank-you! I had coffee with @fabionatali this week where we discussed lots of ideas! Time being the main constraint!

bhtooefr
@256 oh no, this reminded me of ye olde jokes from the Win9x era, "Windows has detected that you have moved your mouse. Please restart your computer."
Gorgeous na Shock!

@256 Remember when every trip into network properties required a reboot? 😌

Andrew Tropin

Looking at modern main/landing pages of projects I have absolutely no clue what they do, so I go and search wiki pages, source code, videos to understand what the project is about.

The only question I have: for whom those sites are?

atro

@abcdw HN and ProductHunt types; the pseudo-technicals crowd. They know the syntax of technical jargon without any of the semantics.

gdt

@abcdw
I call this one aspect of github disease, the repurposing of README contrary to traditional norms.

Go Up