@pkal@emacs.ch
@pkal@emacs.ch avatar

pkal

@pkal@emacs.ch

I hack on the Emacs core and {,Non}GNU ELPA.

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

pkal, to random
@pkal@emacs.ch avatar

It seems that the transient-show-popup option is exactly what you are looking for.

pkal, to emacs
@pkal@emacs.ch avatar

To anyone in and around Erlangen/Nueremberg, I am organising a german introduction to Emacs next week (10.5.) at my university. My intention is to give a high-level, value-driven overview instead of wasting time on accidental and superficial features such as Magit, Org-Mode, SLIME, etc. (there are plenty of those already).

You can find more details on my Uni-Website: https://wwwcip.cs.fau.de/~oj14ozun/emacs/.

pkal, to random
@pkal@emacs.ch avatar

"Repaired" my old Thinkpad X41, updated Debian and installed Emacs 29.2 via Backports. It's really slow, but looks great and I really missed the trackpoint.

pkal,
@pkal@emacs.ch avatar

@dekkzz76 40GB HDD from 2005 I think, takes a while to boot. Thinking about getting a mSATA SSD.

pkal,
@pkal@emacs.ch avatar

@dekkzz76 ah yes, I recall reading something like that a few years ago which is why I probably never changed that.

louis, to random
@louis@emacs.ch avatar

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] https://snac.emacs.ch
[2] https://codeberg.org/grunfink/snac2
[3] https://dillo-browser.github.io

pkal,
@pkal@emacs.ch avatar

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

rml, to emacs
@rml@functional.cafe avatar

I've been using ivy-mode forever and don't know what I'm missing wrt to its many successors. What should I try?

pkal,
@pkal@emacs.ch avatar

@rml Leaning how to use the default completion interface is rewarding as well. Coming from Ivy/Vertico/... it might be unintuitive, because one has a different mental model, but if you understand that completion is about expanding partial input and that you can use C-s to search completions, I think it it becomes a nice and calm way to use Emacs.

louis, to Lisp
@louis@emacs.ch avatar

I did not consider Lisp macros as a means to inline code for efficiency. But while I read "Common LISPcraft" this is one of the first (and a very good) example of why to use macros. It's a great book - also because of the many annotations left by the former owner 🙂

pkal,
@pkal@emacs.ch avatar

@louis At the cost of semantic complexity, since macros can change the ordinary evaluation order. If you want to inline a macro in CL, tell the compiler: https://www.lispworks.com/documentation/lw50/CLHS/Body/d_inline.htm (one used to do the same thing in C before the inline function modifier was added in C99).

louis, to emacs
@louis@emacs.ch avatar

I think the whole treesitter train passed me. Having separate ts major modes for every major mode, that are not derivates any more, makes configuration complex.

I'm not sure if the advantages of treesitter merit the complexity that was introduced into Emacs with this.

Some treesitter modes don't support certain features and I have constantly switch modes.

Perhaps I'll remove treesitter completely for now as I don't see any gains for the moment.

What are your experiences? What features do you get out of a specific treesitter mode that are not available in non-treesitter modes?

pkal,
@pkal@emacs.ch avatar

@louis Sadly the addition of TreeSitter in Emacs 29 was somewhat rushed, to make it in time for the release, at the expense of implementing it "properly", without having to create separate modes. A number of the new modes are also of lower quality, especially for in-core packages. Another issue is the way language grammars are provided: It should be something the distribution provides, instead there is the treesit-install-language-grammar command that fetches a Git repository. I still think that at the very least, one should pin a tarball to fetch, which should be hard-coded into the -ts-mode.el file to avoid accidental breakage. For the most part, I don't notice any special difference, perhaps with the exception of python-ts-mode, that has a better understanding of scope (not unsurprisingly, this was implemented by Yuan Fu, who integrated Tree Sitter into Emacs in the first place).

pkal, to emacs
@pkal@emacs.ch avatar

I just noticed that @monnier implemented some ranking for GNU and NonGNU ELPA:

The percentile in the "rank" column is based on information extracted from the httpd logs, so it reflects recent popularity, instead of some absolute number that gets inflated over the years. Nice!

In other news, except for Compat, I realize all my packages have a low rank.

ArneBab, to emacs German
@ArneBab@rollenspiel.social avatar

(add-hook 'shell-mode-hook 'goto-address-mode)

If you use , you want that.

Also with magit-process-mode-hook

And for all other modes that may show links ☺

pkal,
@pkal@emacs.ch avatar

@ArneBab A less invasive method would be to use M-x find-file-at-point (also accessible via context-menu-mode), if you are OK with not having links highlighted.

pkal,
@pkal@emacs.ch avatar

@ArneBab A package like Embark or do-at-point would also provide the same functionality. The future history of find-file on the the other hand wouldn't.

pkal, to emacs
@pkal@emacs.ch avatar

There is a new package on ELPA for collecting IRC/rcirc logs in a SQLite database:

https://elpa.gnu.org/packages/rcirc-sqlite.html

I had myself been planning to write something like this for a long while, but instead ended up helping a friendly contributor and teaching some lisp tricks. He ended up writing an article that might be interesting for anyone else who would want to write a package:

https://box.matto.nl/lessons-learned-from-creating-my-first-elpa-package.html

shom, to guix
@shom@fosstodon.org avatar

I need a bit of guix help from you wizards!

I can guix install emacs and get emacs 29.1
I can guix install emacs@29.1 and get emacs 29.1
However, I can't get any other version of emacs, I need to stay on emacs 28.2 but... guix install emacs@28.2 returns package version not found for 28.2 (same story for 28.1 and 27.1 which are both tagged releases).

What am I doing wrong? Searches isn't turning out an obvious issue, I would appreciate any pointers!

pkal,
@pkal@emacs.ch avatar

@abcdw @shom Sadly this doesn't work, because the package description is not compatible with older checkouts (options are missing, patches don't apply, there are library incompatibilities). I have tried to remedy this with https://git.sr.ht/~pkal/guix-emacs-historical, but I believe it has to be updated due to upstream changes.

pkal, to random
@pkal@emacs.ch avatar

I am contemplating going to later this month, is anyone else planning to be there as well for some kind of Emacs-user gathering?

pkal, to random
@pkal@emacs.ch avatar

I am surprised that I just now found out the "Welcome to GNU Emacs" song exists https://www.gnu.org/fun/jokes/welcome-to-gnu-emacs.html, to the melody of Guns N' Roses "Welcome To The Jungle"...

fomosapien, to emacs

Daily enjoyment:

insert-char

You might know it better as

C-x 8 RET

Works with your completion system to search for unicode characters by their mnemonic.

For example:

C-x 8 RET then star typing rightwards arrow and I get out →

If writing about linear logic, I can search for ampersand and select turned ampersand from the completions, and boom! out comes ⅋

pretty sweet.

pkal,
@pkal@emacs.ch avatar
civodul, to emacs
@civodul@toot.aquilenet.fr avatar

Dear folks, believe it or not, it wasn’t until today that I looked at ‘project.el’!

Very nice, though I’m disappointed that it wouldn’t pick the ‘vc’ backend when it should, and that searching isn’t as good as with Counsel + Ivy.

Perhaps I’m missing tips and tricks?

pkal,
@pkal@emacs.ch avatar

@ArneBab @civodul Have you tried project.el? Personally I take Projectile to be a de facto deprecated package, with the exception of a few minor features that I belive project.el doesn't support, but nothing that would warrant depending and replacing a built-in package.

pkal,
@pkal@emacs.ch avatar

@daviwil @civodul You probably mean project-find-functions.

pkal,
@pkal@emacs.ch avatar

@ArneBab @triprotic @civodul Nothing what you describe is specific to Projectile, I do the same thing (albeit for my personal studies and hobby contributions, not work) with project.el.

rml, to random
@rml@functional.cafe avatar

The worst advice I was ever given by a professor is that Gang of Four is the only programming book worth reading. After that, its just a matter of practice 🙃

pkal,
@pkal@emacs.ch avatar

@rml @ramin_hal9001

but BASIC seems like a pretty good language for young people to learn

Perhaps not that bad if you ask Dijkstra:

It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.

-- How do we tell truths that might hurt?

robpike, to random
@robpike@hachyderm.io avatar

To this day, I still don't understand what "a process is a locus of control" is supposed to mean, yet my career is arguably all about processes.

pkal,
@pkal@emacs.ch avatar

@robpike Never heard of that phrase, in Germany we say "Ein Prozess ist ein Programm in Ausführung" (A process is a program in execution), denoting that a process carries the state necessary for execution, which is necessary for the controll-flow to be executed correctly. Or that is what I imagine under a term like "locus of control" (though apparently the term stems from psychology?).

abcdw, to random
@abcdw@fosstodon.org avatar

There are a lot of benefits in mailing list based development, but there are so many ways to do something wrong: send a patch to a wrong message/thread, forget cover letter or In-Reply-To header, attach instead of inline and so on.

Technically all the tools are available, but it takes a tangible amount of time and practice to configure them and start doing everything properly.

Resources like https://git-send-email.io/ helps, but still doesn't solve the issue completely.

pkal,
@pkal@emacs.ch avatar

@fosskers I much prefer sending a patch than having to create a PR. The flexibility, which is what also brings the risk of making mistakes, is the crucial difference. Sending different patches in the same message or sending patches that depend on other patches are two examples of what the PR-workflow has difficulties expressing.

Also, if you make a mistake, no problem, just try again. People are willing to help (contract that to the silent no-message-no-response merge requests you sometimes see on GitHub, that feel so mechanic and impersonal).

mattsheffield, to random
@mattsheffield@mastodon.social avatar

It's official: Google has committed to turning Chrome into spyware. Even more disgusting is that it's trying to brand unavoidable surveillance as a "Privacy Sandbox."

https://arstechnica.com/gadgets/2023/09/googles-widely-opposed-ad-platform-the-privacy-sandbox-launches-in-chrome/

Don't use Chrome. Go to Firefox or Vivaldi.

pkal,
@pkal@emacs.ch avatar

@mattsheffield @ceeelless_33 Isn't Vivaldi non free? I hope that projects like Ungoogled Chromium (https://ungoogled-software.github.io/) will be able to remove the problematic aspects in these new developments, for those with hard dependencies on Blink.

pkal, to emacs
@pkal@emacs.ch avatar

Once again, I am trying to interest people in starting a monthly±n news letter for ELPA and core Emacs development news.

The basic intention is to bring more people into the loop wrt what is going on with Emacs itself, and hopefully incentivize more people to participate. This will probably include:

  • Announcing new packages and major package updates,
  • User reviews for new packages on GNU and NonGNU ELPA,
  • Review of new features in Emacs,
  • A bulletin-board for help and testing requests, in case anyone is tracking the master branch.

This is not fixed and I am open to further ideas.

There is currently a thread on the topic on emacs-devel: https://mail.gnu.org/archive/html/emacs-devel/2023-09/msg00076.html

I have written about the idea previously https://amodernist.com/texts/elpa-zine.html, and created a mailing list on Sourcehut for some discussions https://lists.sr.ht/~pkal/elpa-zine/%3C87lejn21m2.fsf%40posteo.net%3E.

pkal,
@pkal@emacs.ch avatar

I have written up a draft of how an Emacs/ELPA zine could look like: https://amodernist.com/files/aug23.html. Some of the content is real, other parts are obviously just boilerplate.

My HTML is idiosyncratic, but I am still open to suggestions and ideas. It is fairly easy to reprocess this into a Atom feed, that people could subscribe to.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • tester
  • thenastyranch
  • magazineikmin
  • InstantRegret
  • Youngstown
  • slotface
  • hgfsjryuu7
  • mdbf
  • vwfavf
  • kavyap
  • tsrsr
  • ngwrru68w68
  • PowerRangers
  • DreamBathrooms
  • Leos
  • everett
  • Durango
  • osvaldo12
  • khanakhh
  • ethstaker
  • rosin
  • cubers
  • tacticalgear
  • GTA5RPClips
  • normalnudes
  • cisconetworking
  • modclub
  • anitta
  • All magazines