@MutoShack What's annoying in English is that the spelling of words didn't change to reflect the evolution of the pronounciation.
Even French has spelling reforms from time to time to fix this (though it could be reformed further).
@otini You need to make a two-columns/rows table associating the marks with the number of studients with that mark first, then plot that table, though I don't know how to produce the first step if your table lists the students and their marks (there is probably a formula counting the number of occurences of a given value in a selection).
@pureevil I had to do something similar for tests of a component in a project I worked on, but the replacements are done in the script that create a test directory (so it's used for CI and for manually run tests). It's because the exact path of the test directory must be put in configuration files used in the tests of the component.
re: C question
@amiloradovsky The "in" equivalent (can't write to) would be a const/pointer to const/reference to const.
There is no "out" equivalent (can't read from) in C/C++, the languages only distinguish "in" from "in/out". Pointer to pointer/reference to pointer are sometimes used with an "out" meaning in function arguments when you allocate a structure inside the function, but nothing prevents you from reading those.
In C++, you can at best encapsulate an "out" structure with a class providing only setters, and deleting the default copy primitives (copy constructor, affectation operator).
@MutoShack At least, not before being in the post game, as you need to play a specific radio channel that is only available after getting the national pokédex.
@MutoShack You either mean Pearl/Diamond/Platinum for the game, or Sentret for the pokémon. Bidoof does not appear in Heart Gold.
@erkin Nested lists are not a good data structure to represent mutable trees. You have car/cdr and all the other c(a|d)*r functions to get the value up to some levels, but rarely have a corresponding set-c(a|d)*r!.
I often use nested lists as temporary structures in computations, but rarely as the main representation of my data structures, as they are rather hard to maintain. I find it better to define and use a struct with a member to the parent, a member to the list of children, and members for the other data of the node.
re: Wayland vs Xorg
@amiloradovsky I think there are VNC implementations of wayland for remote display. Remote display is not in the wayland protocol for various reasons (remote desktop the Xorg way cause several problems with the usual way of rendering graphical applications), so this area is left to wayland servers if they want to implement remote desktop protocols.
I have a question about software edition.
What development environment do you know that are model-oriented instead of source-oriented ?
The idea is that instead of editing source code files directly, you edit a model from which you generate the source code of your software (eventually, it also allows you to generate other things from the model like documentation, diagrams, etc.).
@juliobiason There are two levels of instance moderation.
The first level just hides an instance from the public global timeline, but messages are still exchanged.
The second level is a defederation: messages from the blocked instance are rejected and messages from your instance are not sent to the blocked instance.
However, I don't know if messages from your instance and boosted by a non-blocked instance are visible from the blocked instance.
@minoru A stable ABI is important when you are distributing binary software. If you update the runtime libraries provided by the language/OS, ideally, this shouldn't break software compiled against an older version of the runtime.
For free/open-source, it's less important as you can recompile the software to fix this. Though this means distributions won't integrate a new version of the language until the next stable version of the distribution.
@juliobiason From the ActivityPub point of view, other actors sends you messages by posting (http POST) to your inbox URL (server to server protocol), and you retrieve those messages by getting (http GET) from your inbox URL (client to server protocol).
Nothing is said about keeping messages in the inbox after getting them or other interactions like patch/put/delete. The ActivtyPub Remove activity could be used to remove messages from your inbox (the inbox is a collection, and you can Add or Remove objects them from collections).
You could move messages from the inbox to a collection to keep them or to a trash collection to remove them after some time. You could also define rules to automatically move things posted to your inbox into collections.
I will find the fediverse easier to follow if it used an interface like a feed reader (I'm thinking of Akregator notably) than the Twitter-like interface of Mastodon and Pleroma. Notably when following bots accounts as they tend to spam timelines.
Using different languages for describing, theming, and coding the logic of a UI is somewhat better than mixing everything into a single language. Reusing the rendering engine of a web browser to draw the UI is not a bad idea.
Using node.js as the backend is more questionnable though, as you could have achieved something similar by extending or changing the web browser bindings for local pages.
re: Mastodon -> Pleroma
@mdallastella I set up a Pleroma instance when I broke my Mastodon instance while trying to update it (I was on a fork that became somewhat unmaintained, and I couldn't easily switch back, nor run it because of system updates).
Easier to update, and to theme (no need to fork to change things like icons, background, or colors). So I wouldn't mind if functional.cafe migrate to Pleroma.
re: Guile, complaining
@MutoShack The function read does not evaluate the content of the file. It just parses it as a s-expression. So it's normal to see quasiquote and unquote in the resulting xml. Keep in mind that REPL means "read, eval, print, loop", so read and eval are different phases.
In your case, you need to use local-eval after reading, or replace (read (open-input-file ...)) by (include ...).
@erkin Maybe because of dependencies (like make requiring guile). Though, there are already guile-2.0 and guile-1.8 packages for a few softwares with dependencies on older versions of guile. I wonder why there isn't a guile-2.2 package for this.
(let ((cnx (make-mastodon "firstname.lastname@example.org"))) (set-profile cnx "Someone haunting the Internet maze.") (toot cnx "Hello World!"))
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!