Email or username:

Password:

Forgot your password?
591 posts total
Andrew Tropin

I'm a little bit tired of preparing only work related content, so today's video is just for fun. At least I giggled making it.

youtube.com/shorts/tgdJ9gQuVdk

#climbing #nature #funny #fun

Andrew Tropin
Monadic programming in R7RS Scheme

This is my article on how to solve practical programming problems in the Scheme language using monads, a concept originally introduced to the world of software engineering by the Haskell programming language. Because the Scheme language is not purely a Lambda Calculus computer the way Haskell is, and does not do static type checking, monads are not as necessary to Scheme programmers as they are to Haskell programmers, but can still come in handy.

Monads let you code procedures (without using macros) that do not use strictly procedural programming semantics. They let you model alternative semantics like concurrent programming, or lazy evaluation. I go over two examples: of a procedural but monadic pretty printer, and list monad implementation which demonstrate a simple concurrent programming semantics.

https://tilde.town/~ramin_hal9001/articles/scheme-monads.html

#software #computers #ProgrammingLanguage #Scheme #SchemeLang #Monads #Haskell #HaskellLang #Lisp

Monadic programming in R7RS Scheme

This is my article on how to solve practical programming problems in the Scheme language using monads, a concept originally introduced to the world of software engineering by the Haskell programming language. Because the Scheme language is not purely a Lambda Calculus computer the way Haskell is, and does not do static type checking, monads are not as necessary to Scheme programmers as they are to Haskell programmers, but can still come in handy.

Andrew Tropin

After fighting an series of odd issues on cuirass.genenetwork.org, I'm happy to announce we are back online, building packages and serving substitutes!

For more details regarding what happened, check out lists.gnu.org/archive/html/gui.

If you are looking for a friendly #guix substitute server closer to home (in north america), please consider checking it out!

See: git.genenetwork.org/guix-north

Andrew Tropin

One of the things with mailing list driven workflow (in Guix and RDE) bothering me is that I can't review and merge patches without downloading emails, applying patches locally, signing them and pushing them to repo.

However, for most version bumps and other trivial changes it must be much more convinient, just one button click away. If it was so, it would be much less stale and forgotten patches I guess.

Most of git forges do much better job here.

#guix #git #rde

Ludovic Courtès

@abcdw They do a better job, except when the committer is required to sign commits, as is the case in Guix; in that case the forge still leaves it up to the committer to perform the last actions.

PuercoPop

@abcdw There is nothing inherent to the mailing list driven workflow preventing this. This is something the CI could take care of. Having the CI being the one responsible for the merging itself ensures that
a) The main branch is always green
b) Any artifacts associated with commit are build _before_ the branch the commit is promoted to master

Andrew Tropin

I'm curious why display of custom xkb layouts from user's ~/.config/xkb behave so quirky?

This is how it looks in waybar.

Is it a waybar issue?

Yes, I know, I'm a distro developer, so I should know how to troubleshoot it myself, but I also sometimes want things to just work.

Andrew Tropin

github.com/abcdw/rde/blob/mast

and just like that you have a dsl for any lisp in your scheme file, because its all just s-exps at the end of the day. and optionally you have an escape hatch.

i could write elisp configs in a .scm file, and i wont have to use guile-emacs (which is mostly dead due to only having a single dev)

and get this nix users, its not string interpolation. changing whitespace wont cause a recompile. its magical.

Andrew Tropin

🗞️ How about October issue of RDE Monthly?

The best monthly newsletter about Guix, Guile and RDE ecosystems.

Events, Releases, Announces, Articles and Videos, everything from the last month collected in one place.

Brought to you by Kirill Yermak and community.

lists.sr.ht/~abcdw/rde-monthly

#rde #guix #guile #hoot #scheme #lisp #Newsletter

Andrew Tropin
@abcdw I have a very similar feeling. I use Claude a lot, it's definitely a very useful tool.

The proprietary nature of it and the energy disaster it it makes me feel bad about that as well.
Andrew Tropin

Today I converted almost a hundred transactions from bank statement to plain text ledger format using LLM in a few dozens of minutes and it made only two minor mistakes.

If I do it manually it would take a couple hours at least and whole a lot more of my energy.

Despite the all criticism it's a quite powerful tool for some categories of tasks.

I'm looking forward for more energy-efficient, FOSSy and local/self-hosted implementations.

#llm #llms #llama #ChatGPT #Claude

Show previous comments
Gábor Udvari

@abcdw Was it a one time effort or do you have a prompt which you can use regularly?

I switched to hledger because it supports different rules during CSV import: hledger.org/1.40/hledger.html#

I do an import every month, and I add entries to my CSV rules file whenever it cannot categorize something.

David Wilson

@abcdw damn, using an LLM for that is a fantastic idea

Kyle

@abcdw txr is quite handy for this sort of task. Unfortunately, you do have to remember txr which is extremely powerful and that can take some time. However, Kaz did write lots of examples and has been very responsive to answering questions about it.

Andrew Tropin
I've spent the whole week walking through the forests, mountains and seasides. I took shower and washed in mountain rivers, swam in cozy bays, was chilling in hammock and reading a book, cooked on the tiny 25g titanium gas stove.

No rush, no tasks, no responsibilities. Found a water, found a place to sleep, have enough food left - good. I went through the memories, thought about past a future, lived in the moment. It was really good.

Studies, dayjob, competitions, someones birthday, whatever. I have never had time solely for myself. This one was for me.

I didn't get enlightened or something, but it was wonderful. I wish more people could have an opportunity to do the similiar things and live there lives.
I've spent the whole week walking through the forests, mountains and seasides. I took shower and washed in mountain rivers, swam in cozy bays, was chilling in hammock and reading a book, cooked on the tiny 25g titanium gas stove.

Pavel Korytov :emacs:☮️

@abcdw Look, Claude 3.5 has found a solution!

a = b = c = 4

4/(4+4) + 4/(4+4) + 4/(4+4)
= 4/8 + 4/8 + 4/8
= 1/2 + 1/2 + 1/2
= 3/2 + 1/2
= 4

Sharlatan

@abcdw думаю после лет так 10 на физмате, можно будет утверждать - я это понимаю и могу прочесть

Andrew Tropin

In the conversation about #guix sustainability I've talked a few times about Clojure Together which I think is a great example of "making things happen" (originally by just one person Daniel Compton) in a small community. Clojure is a small community compared to Python/Rust or whatever - but this project has been great for the Clojure community - recognising, supporting and sustaining improvements. Could equally apply to #guile #scheme

clojuriststogether.org/news/ap

In the conversation about #guix sustainability I've talked a few times about Clojure Together which I think is a great example of "making things happen" (originally by just one person Daniel Compton) in a small community. Clojure is a small community compared to Python/Rust or whatever - but this project has been great for the Clojure community - recognising, supporting and sustaining improvements. Could equally apply to #guile #scheme

Andrew Tropin

After a restless day, I finally set up my #guix system with the root filesystem on tmpfs!

I've documented the process in my dotfiles repository: codeberg.org/look/misako/src/b

This has been on my to-do list for quite some time, I hope my steps can help others who are looking to do the same.

Big thanks to @Z572 and @anemofilia for some file-system ideas.

Andrew Tropin

@cwebber Thank you for kind words. It's really nice to hear it from you. Appreciate it.

yhetil.org/guix-devel/87r083ht

Andres Moreno

@abcdw @cwebber

The work that you have done with RDE and arei and ares, along with the Spritely Institute are the main reasons why I am excited about using Guile for my stuff.

It is easy to focus on the gaps and issues associated with Guile but, ultimately, when using programming languages, a very big factor is the company we keep and the community we build.

I find you, Christine, Dave, and many others inspiring,

Andrew Tropin

Updates on my life, RSI, Kubernetes on Guix, Guile Hoot, new laptop with japanese keyboard, FOSS grants and probably something else.

mpv youtu.be/iO60tQw9_h8

inv.nadeko.net/watch?v=iO60tQw

#foss #rsi #rde #guix #guile #hoot #scheme #kubernetes #thinkpad

Andrew Tropin

I have started working on an interactive debugger for Guile. Still at a very early stage. But here is a small demo. Thanks to Andrew Tropin (@abcdw) for guile-ares-rs and arei, which serve as the foundation for this tool.

#guile #scheme

Andrew Tropin

One of the reasons I started my #nix and #guix journey is that all my teams I've worked with in the past had this:

Show previous comments
jack is updating your database

@abcdw every project in every language seems to be like this. C++, Python, embedded stuff... I seem to remember Rust being an exception though

Khleedril

@abcdw Have to say I spend another 20% of my time faffing about with GIT branches.

Andrew Tropin

What if we use number of days we didn't reply for each email in our inbox instead of just number of emails?

The obvious problem I have right now that I prefer to reply to the recent emails to keep the inbox number low, but it makes old emails to stay here for months.

#email #productivity

Octorine

@abcdw The problem with going round robin is that replying to an old email often takes way longer, because it's less likely to be about the most recent thing you were working on or thinking about, so you have to switch gears.

Also, there's a good chance that the subject of the old email has either worked itself out, or blown up (in which case you have newer emails about it.)

Go Up