Email or username:

Password:

Forgot your password?
16 posts total
Louis :emacs:

The last few days I contributed a bit to the Snac codebase, fixing some issues, adding some features, making it more compatible with mobile apps and Tokodon using the Mastodon API.

The most recent version is running on our experimental instance snac.emacs.ch
If you want to sign-up, drop me a DM.

If you want to run your own Fediverse server, Snac is clearly the best alternative available right now:

codeberg.org/grunfink/snac2

Next step is to make it fully compatible with mastodon.el.

It's written in C, and the only dependency is on libcurl. Running it is a matter of `make install` and it works on Linux and BSDs alike.

I rarely contribute to open source projects, but Snac is an exception because I think that the Fediverse deserves a truly minimalistic project like this and the maintainer @grunfink is an amazing person to work with.

#snac2 #mastodonEl

The last few days I contributed a bit to the Snac codebase, fixing some issues, adding some features, making it more compatible with mobile apps and Tokodon using the Mastodon API.

The most recent version is running on our experimental instance snac.emacs.ch
If you want to sign-up, drop me a DM.

mousebot

@louis @grunfink
> making it more compatible with mobile apps and Tokodon using the Mastodon API.

does it expose a masto-like-API or sth else? happy to look into compat issues if it's feasible.

EDIT: ah looks like it does: comam.es/snac-doc/snac.1.html#

Louis :emacs:

Here at Emacs.ch we run an experimental side instance [1] based on Snac2 [2], which is a Mastodon-compatible Fediverse server written in C, runs completly file-based and features a zero-JS UI.

It doesn't have many of the fancy features of Mastodon, but is a bright example of how a super-minimal system can do the job *very* well. It'll also work with your mobile Mastodon apps and small browsers like Dillo[3].

It runs on OpenBSD and we accept a few more testers. There is no automatic sign-up, so if you are interested, DM me with the desired account name and I'll send you the credentials.

[1] snac.emacs.ch
[2] codeberg.org/grunfink/snac2
[3] dillo-browser.github.io

#snac2 #openbsd #dillo

Here at Emacs.ch we run an experimental side instance [1] based on Snac2 [2], which is a Mastodon-compatible Fediverse server written in C, runs completly file-based and features a zero-JS UI.

It doesn't have many of the fancy features of Mastodon, but is a bright example of how a super-minimal system can do the job *very* well. It'll also work with your mobile Mastodon apps and small browsers like Dillo[3].

Show previous comments
Philip Kaludercic

@louis Is it possible to migrate a Mastodon account (specifically mine) to snac2?

Dillo browser

@louis very cool!

There is a problem when rendering images that only constraint one dimension in Dillo. Adding the following rule seems to fix it, assuming they are always square:

.snac-avatar { width: 2.5em; }

snihil
Happy to see more snac instances out there!
Louis :emacs:

A piece of history just arrived πŸ˜€ #CommonLisp

Louis :emacs:

Installed #OpenBSD 7.4 on a Hetzner ARM VM yesterday, it's almost effortless, everything just works - and OpenBSD is a joy to configure, thanks to simplicity, comprehensive man pages and consistency.

Linux now feels almost like the Windows of the *nixes.

@mms

Ramin Honary

> > "Linux now feels almost like the Windows of the *nixes."

@louis @mms this! This is why I want to switch to OpenBSD! But I don't have any servers, only desktop computers, and OpenBSD does not have the best support for most of the hardware that I use β€” mostly laptops and desktop PCs, some of which have GPUs, some of which I use for playing games.

Louis :emacs:

Maybe a mix of C and CommonLisp can solve filling the gaps in missing libraries.

It's actually that easy to talk to C from Common Lisp:

Example C function

int add(int a, int b) {
return a + b;
}

Compiile as a shared library with GCC.

% gcc -c -Wall -Werror -fpic lib.c
% gcc -shared -o mylib.so lib.o

Locate your library and define a foreign function in Common Lisp (#LispWorks in this case):

(fli:register-module "mylib.so")

(fli:define-foreign-function
(add "add" :source)
((a :int)
(b :int))
:result-type :int
:language :ansi-c)

Enjoy the fruits:

(add 66 3)
> 69

#CommonLisp

Maybe a mix of C and CommonLisp can solve filling the gaps in missing libraries.

It's actually that easy to talk to C from Common Lisp:

Example C function

int add(int a, int b) {
return a + b;
}

Compiile as a shared library with GCC.

% gcc -c -Wall -Werror -fpic lib.c
% gcc -shared -o mylib.so lib.o
Louis :emacs:

Our :emacs:​ Emacs.ch VM celebrates its first birthday in 5 days πŸŽ‚β€‹ Without a single reboot. Zero downtime. And, as is proper for a well-managed instance, blocked by mART.

How did Mastodon change your life? πŸ»β€‹ It certainly had a great impact on mine.

liberapay.com/emacs-ch

#mastodon #fediverse #birthday

Show previous comments
Leprompt

@louis emacs.ch is a pleasure to visit. Well behaved people, good news and advices… Thanks for the effort.

Torstein Krause Johansen

Thanks for creating emacs.ch, @louis . It's by far my favourite place on the internet.

Such a nice place to hang out, read and learn. I wish we all one day could meet up IRL.

timthelion

@louis Emacs.ch is great, and the ability to put people you follow on the ignore list for a week or so at a time allows me to network with good interesting people who post depressing political content without getting dragged into it. Definitely the best social media experience I've had. Only thing that compares to it is #emacs and #xmonad back in the freenode golden eara.

Louis :emacs:

When you explore some ideas in a #CommonLisp REPL (or Listener), consider opening a dribble file beforehand:

(DRIBBLE "my-session.lisp")

It will start recording all input / output in the REPL in a file with the given filename. This way, you can code along and don't have to fear loosing anything.

novaspec.org/cl/f_dribble

Louis :emacs:

I have a feeling that Quicklisp slowly fades away into an unmaintained state. While still being the CL library manager & the CL online package library.

I believe there is an incredible amount of manual work invovled to keep it barely going.

Should we try to reform and renovate #Quicklisp and move it to a point where it appears to be a modern package manager & repository like any other language offers?

I probably sound heretic. I just feel that Quicklisp is an unopened treasure trove and vital to #CommonLisp 's adoption.

What do you think?

I have a feeling that Quicklisp slowly fades away into an unmaintained state. While still being the CL library manager & the CL online package library.

I believe there is an incredible amount of manual work invovled to keep it barely going.

Should we try to reform and renovate #Quicklisp and move it to a point where it appears to be a modern package manager & repository like any other language offers?

Louis :emacs:

Just noticed there is a live stream going on "Lightweight Concurrency in #scheme " by @abcdw

video.emacs.ch/w/uwH9rPkGLGesf

Louis :emacs:

The 35th Symposium on Implementation and Application of Functional Languages happens on
August 29th - 31st, 2023 in Braga, Portugal

Call for Papers:

ifl23.github.io/call_papers.ht

#functionalprogramming

Louis :emacs:

Re-reading *Common Lisp: A Gentle Introduction to Symbolic Computation". I believe I dismissed it too early in my first attempt as "too beginner-ish".

However, after working my way through it I realize that I might have misunderstood Common Lisp all along, especially the "Symbolic" part of it. πŸ˜€β€‹

I have a printed copy of the revised edition, but the original edition is available for free as a download:

cs.cmu.edu/~dst/LispBook/

#commonlisp

Dekkzz

@louis

funny, i'm reading the ps version at the moment

bitzero

@louis The first time I read that book, I got lost in the first chapters about lists, lists, lists. If you’re new to Lisp, surviving that part is the real trick.

Then things get more interesting and, after a while, the first part gets a wider sense.

Louis :emacs:

I've just noticed how far #Ruby IRB has come with the recent Ruby version 3.2. It now shows a nice documentation and examples right in the terminal while tabbing through the autocomplete. Very nice!

Louis :emacs:

So, I'm refreshing my Esperanto skills and was tracking new words in an Org table. After like 250 words I wanted to sort by word type. Luckily in Esperanto the ending of the word always indicates the word type (noun, very, adj etc.). So for the first time ever, I created a org column formula to extract the last character from the Esperanto word and put it in a new column.

Just another of those moments where Emacs puts a smile on my face.

#Emacs #orgmode #Esperanto

Nebucatnetzer

@louis You remind me that I should continue learning it πŸ˜…#esperanto

Louis :emacs:

With only ~50 lines of config, #Emacs already has everything you need: lsp, git, projects, auto-completion, zero telemetry and it just look gorgeous 😻 :emacs:

Show previous comments
Bojan

@louis Does this include good security defaults? I remember reading that it doesn't (or maybe didn't at the time) by default use tls or check signatures of downloaded packages, and distros (spacemacs, doom) often have >100 lines with security tweaks

So I'm sticking with distros until I know better, but the idea of slimming down to essentials is appealing :)

Go Up