Recent submissions

Comment · 2 months ago
IMHO you are worrying too much. As long as you stick to Emacs Lisp API and battle-tested libraries, the portability issue should be minimal. I've skimmed your config, and I think it can probably work out of the box on the other platforms.

You would still need to configure the external environment, (e.g. installing MSYS2 on Windows,) and address platform-specific issues, (e.g. you need exec-path-from-shell on macOS, and/or adjust default coding systems on Windows). Generally, these problems are easy to solve.

Comment · 3 months ago
That's not a good counterexample.

Formal languages are called 'formal' because they have rigorously defined semantics. The 'undefined' parts, if anything, reveal that most of the expressible sentences have clearly defined semantics, rather than lack of them.

In addition, the semantics of 'undefined' behaviors is not 'non-deterministic' in the literal sense, since it is, well, undefined.

Comment · 4 months ago
Magit introduced me to them in the first place. :-D
Comment · 11 months ago
From a Lacanian perspective: They do it because the configuration loop itself is the Drive. The 'better working environment' is just the Object a (the carrot on the stick), but the true surplus jouissance is the tinkering itself. It's not about efficiency; it's about the thrill of the chase.
Comment · 1 year ago
yes and no. you certainly don't have many pre-defined keybindings, but meow tries to not conflict with normal emacs keybindings so you don't need special ones anyway.
Comment · 1 year ago
Congratulations!

Personally though I've been running the igc branch... ;-)

Comment · 1 year ago
I agree with giving users control, but unfortunately I cannot agree with the move to c-ts-mode. And I cannot disagree more with associating CC mode with "legacy" when it's objectively better than the other alternative, at least currently. I don't think Emacs developers are doing users a favor in this specific case.

CC Mode is extremely capable. Over the years it has developed to such a maturity that almost all needs can be satisfied, and performance has never been a problem for me. It contains very few, if any, bugs, that affect my use.

On the other hand, the tree-sitter major modes are not at al production-ready to be considered as default. For one thing, the whole highlighting can break for complex macros and ifdefs. (I'd be glad to be enlightened whether it's theoretically possible to fix at all -- can you correctly highlight ifdefs without doing semantic analysis with the help of a compiler?) For another, CC mode has a feature called c-guess that can quickly analyze an existing source buffer and generate a format definition which proves extremely valuable. Alas, c-ts-mode has zero support for it.

I had high hopes for tree-sitter. I turned on tree-sitter modes for all my coding when it was out, and now I have zero enabled. They still have a long way to go and I don't want to spend time debugging emacs code at work. :-)

Tree-sitter is not a panacea. Fast parsing alone is not what makes a good major mode.

Comment · 2 years ago
Actually, with emacs 29 it should come out of the box.

Open any python file (emacs has a built-in python-mode), M-x eglot, and you are golden.

Comment · 2 years ago
It's interesting to see African input methods taking inspiration from a Chinese IME, RIME. Would like to know more about this!
Comment · 2 years ago
I think I'm for Turing-completeness. Let me try to give my reasons...

1. No, using Turing-complete scripts does not prevent information extraction and meaningful automation. You can ask the program to dump useful information, e.g. targets, compiler flags, etc. That's what rizsotto/Bear does for Makefile. CMAKE_EXPORT_COMPILE_COMMANDS is another example.

2. I don't really think you can do anything further with declarative build languages, unless it is a really limited one like JSON or XML. Meson (a relatively advanced one in the space) advocates for non-Turing-completeness, but you still cannot, for example, modify meson build files reliably using an external tool other than a text editor.

3. Complex build configuration usually requires non-trivial computation and/or dynamic dependency graph building. Turing-completeness gives you a possibility and you don't need to wait for build tool upgrades.

Comparing Meson to CMake, I find the niceties of Meson are usually not inherently non-TC. That is, you can theoretically reimplement a nicer CMake with all the niceties of Meson, while still being TC.

Comment · 2 years ago
It seems you are very ideology-driven, but no, corporations are not moving production out of China because "China bad". It's just because labor costs in China have risen due to its fast development.
Comment · 2 years ago
The author isn't wrong. Europe is falling behind, and people should not pretend it's a good thing: the current European life style ("more to life than work") depends on excessive interests gained from technological advancements that are not yet replicated elsewhere. The life would be much worse if Europe couldn't keep up.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton