pkal
pkal on Hacker News
Can you elaborate or provide a good source to explain why this is not the case?
It might be neat to integrate DeArrow to fetch thumbnails instead of just arbitrarily picking picking a 50% screenshot. It could also be used to replace the titles on the server side.
But that is my point, there is a contention and they made their call. It is not wrong for them to do so, there are just plenty of people who prefer the other side.
There just is a contention between software freedom and privacy that people don't want to acknowledge sometimes. Signal is firmly on one side of the divide, and their software is open source because it is the convention to have the source public and auditable, not because they are interested in user freedom and respect.
Right, that my intuition as well. And FWIW, I used to log as well, but at some point I just noticed that I was never really catching up to the backtrace, with the exception of the rare cases when someone used a keyword I had marked up -- but that didn't feel like it was worth the fuss after some point.
Yes, Anubis and other sites that really insist on abusing browser APIs breaks a lot of sites, but that is kind of the point.
I suspect that especially banks have paranoid lawyers that probably don't understand the situation entirely, and perhaps because of that, mandate that all means have to be used to prevent non-official builds from being used, so that they cannot be sued (for some reason) if "something" goes wrong. Though I don't know if they are consistent and also apply the same reasoning to phones that don't have active security updates any more.
Posted by
pkal on Sunday October 11, 2026 @06:56AM
from the sdf.org dept.
I know it is a different protocol, but doesn't Mumble provide this to some degree?
I consciously use IRC like that: I don't have a bouncer, and connect only when I feel bored and want to see what is going in some channels (nowadays mostly just #emacs on Libera). I can only follow the conversation when I am online and there, and when I leave there is nothing to catch up to. In some sense it is like a digital third-space as oppose to a permanent dual presence that I have to share my attention with. Depending on your use-case this is not ideal, but for me it is a nice, relaxing addition to a lazy weekend evening when I have nothing better to do.
I don't want to (and can't) use this myself, but I've always wanted to see if an AI could implement an idea I had for a while: "A 4D version of Agar.io where you move through a 3D slice of space by moving the mouse cursor, and then rotate through the fourth dimension using the scroll wheel. All other game principles remain the same." Will this implement support for multi-player games as well? The really interesting part here for me is how well the AI will implement a game unconventional UI and how successful it is at making it usable and intuitive for humans.
The DEC barn seems interesting, but I don't gather where it is located or how you can visit it?
What do you do for apps that don't have GitHub releases?
IMO the "forty hours per page" rule is not up to date, and more a consequence of lacking proof automation in 2005. From what I understand about Lean, this has been one of the things that they have put a lot of effort into improving, making proof mechanization more palatable to the mathematically inclined, as opposed to just logicians.
Why should it be? In my experience it depends on the case, and in my case it seems like an absolute technological overkill to version the site and have statichost regularly pull from some repository, as I update it perhaps once a year.
She is flattered :) Your comment and those of others here have "made her day", so thanks!
Not really, I just use Emacs' versioned backup files that are automatically generated. As I said, I don't have to update the site that often, so it is entirely sufficient. An advantage for me, besides not having to write Git commit messages, is that I also don't have to version images in Git, which I don't like doing.
I'm using this for my mother's website (
https://www.touchofglass.eu/), and my only complaint is that it assumes you version a website in a Git repository. You can work around it by uploading a tarball or something like that, but it is far less convenient than using sftp/rsync. But considering that we are far into the free 10GB a month and I only have to update it very infrequently, it seemed like the best solution.
The portability issues of `package-vc-install-from-checkout' are due to issues with symlinks not being portable, which is what that function relied on. None of this is related to tree-sitter. That is the function that the combination of :vc and :load-path would use, which just had to be transitively deprecated due to the mistake in `package-vc-install-from-checkout'. Critically `package-vc-install-from-checkout' _does not_ do any retrieval, the checkout of the package had to already exist beforehand, which use-package did not take care of. The function just made sure that package.el would activate the linked directory. User Lisp provides this same functionality. Do not confuse it with the :vc keyword that invokes `package-vc-install', which actually retrieves a checkout of some repository and prepares to do be loaded by package.el.
This is the kind of research that I would expect an article like yours to make. It is totally fair to contact the people who worked on this, instead of being smug about it and caricaturing the Emacs maintainers as conservative.
I was annoyed by some of the comments in the "Packages" section, because it is clear that the author didn't try anything out but just scattered a few comments though out the file.
Regarding :vc and :load-path, this was obsoleted transitively due to the obsoleting of package-vc-install-from-checkout, which has portability issues. Bug#80604 goes into the background for this. This is NOT an obsoletion of the :vc keyword for use-package.
Regarding package-autosuggest, this is disabled because it doesn't interest most users. It is targeted at new users who aren't familiar with the packages, and might be interested in new major modes. Experienced users are generally either familiar with the packages and use them or prefer to stay in fundamental mode. The minor mode is enabled as part of the newcomers theme!
No mention of package-review-policy, which especially in the "age of AI" is an important feature is you want to be careful about external code you are using on your system.
Oh and on the topic of the newercomers theme, the reason it is not mentioned "higher up" in the NEWS file, besides it being the wrong section, is that it is highlighted on the splash screen, where new users are going to find it, instead of a NEWS file.
Posted by
pkal on Monday August 24, 2026 @12:05PM
from the emacswiki.org dept.
If you look at the definition of a macro like defcustom, you'll see that it just expands to a function call, where all the logic is implemented. This could also be implemented in the macro, but that is more complicated and brittle, due to the risk of double-evaluations and having to produce code that will (usually) later evaluate with the intended side effect.
Furthermore, macros and functions constitute a kind of function coloring. To use a macro in a function, like defcustom, you couldn't pass the name of the user option you are defining in as a symbol, as that is not evaluated. So instead you'd have to call eval on a runtime constructed expression, which is a cludge.
So I agree with the top comment, to avoid macros is a sign of Lisp maturity. It is easy and fun to admire them when you are coming from languages with arbitrary restrictions in their macro systems like C, but ones you get used to them you don't treat them with any more wonder than any other arbitrary restriction that a language may lack (bad ad hoc example: nobody praises C for the lack of a CALL keyword).
Is that really the confusing part? If you had a general collection interface, say Mapper, a Box (i.e. a singleton set) could implement it just as well as a List or a Tree.
If you instantiate it with concrete types, does "(b IntBox) Map(f func(int) string) StringBox" make more sense? You have a collection (in this case Box) containing values of type T, a function that maps values of type T to type U, and if you apply that function to all elements in that collection you get a collection of type U.