> Why would you continue to subscribe to a bullshit company that does this?
They said they subscribed which could mean that they have since unsubscribed. I think they’re texting them because they want them back as a customer - it makes no sense to pester your currently paying customers.
> Some of the packages are included, all of them have to be turned on and configured
I see where you're coming from, but I think this is a bit exaggerated as well.
For some concrete examples:
- Git: Emacs does have a built-in `vc-mode`, which can be used without any prior configuration by pressing `C-x v`. Or you can go to `Tools > Version Control` in the menu bar (if you haven't disabled it). Many people prefer to install Magit, but the built-in package is actually quite decent (the UX is a bit similar).
- You brought up LSP. Emacs now has a built-in `eglot` mode which connects to LSP servers, and is pre-configured to work with many of the open-source ones. You can turn it on by pressing `M-x eglot`, or go to `Tools > Language Server Support (Eglot)` in the menu bar. Many people prefer to install LSP-mode, but I think many people have also migrated to Eglot after it landed officially in Emacs.
> Every Emacs config starts by turning on the same minor modes hooked to prog major modes for simple stuff like bracket matching and line numbers. Every config sets the same early-init.el params to stop emacs from being slow.
I agree with you that the defaults should be modernized. For example, I think most people would appreciate if the defaults were updated to e.g. use one of the `modus` themes, automatically switch to a dark theme if the OS has it enabled, and enable a fuzzy-finder like fido-vertical-mode without configuration. All of these capabilities are already bundled with Emacs, just not turned on by default. I'd also advocate for disabling the blinking cursor and the bell - who wants that?
Just as a counter-example though, I don't have any of the specific settings you mentioned enabled:
- I dislike line numbers (they look weird if you work with soft-wrapped prose and they take up space)
- I don't like bracket matching (they don't work well with modal editing).
- I don't use the early-init garbage collector optimizations (Emacs anyway starts in a second as I use few packages, and leave it open all day so it doesn't matter).
> terminals whose keyboards lacked the keys vim users use to navigate in modal editing, and there's no reason for it anymore.
Vim keybindings really are more comfortable if you struggle with RSI. I’ve had such issues despite having used Caps Lock as Ctrl for years, and despite pressing it with my ring finger instead of pinkie. In my case, I have big hands and often have to work from small laptop keyboards for my job, which likely makes it worse.
The 3 times I’ve tried to go all-in on Emacs keybindings, I’ve after 1-2 months developed pain in my left forearm that then took months to heal. I developed some similar pains when I tried to use Sublime Text keybindings as well, but it was worse with Emacs. I blame this on excessive chording.
Except these excursions into other keybinding sets, I’ve used mainly Vim keybindings for nearly two decades now. I never had arm pains using Vim or Evil.
All this is to say: “There is no reason for it anymore” is too dismissive. The original reason Bill Joy wrote Vi the way he did was those constraints, but it has benefits today for other reasons.
For that example: Any reason the server doesn’t just have an SSH server? Then you can use `git clone` in the “usual way”, using SSH certificate authentication.
> If you are running servers passing passwords as command line arguments in that device, they have all that.
I make a point out of never doing that. It’s way too easy to accidentally expose things. For instance, doing a live demo with an audience, and using Ctrl-R out of muscle memory? Suddenly you flashed your password in front of everyone.
Generally, I’d recommend using a tool like Unix `pass` or your default OS keyring to store your secrets, then you can run `command1 --password=$(command2)` to feed a password from one command to another. If I really have to type something sensitive, I prefix the whole shell command with a space, which in many shells can be configured to mean that it doesn’t enter history. If you do so by accident, the shell history file can be edited in vim.
I don’t know Pyjion, but I have used Numba for real work. It’s a great package and can lead to massive speed-ups.
However, last time I used it, it (1) didn’t work with many third-party libraries (e.g. SciPy was important for me), and (2) didn’t work with object-oriented code (all your @njit code had to be wrapped in functions without classes). Those two has limited for which projects I could adopt Numba in practice, despite loving it in the cases it worked.
I don’t know what limitations the built-in Python JIT has, but hopefully it might be a more general JIT that works for all Python code.
> You'd really have to be a complete data engineering newbie to not understand it I think?
I do occasionally use Pandas in my day job, but I honestly think very few programmers that could have use for a data frame library would describe themselves as a “data engineer” at all.
In my case, for example, I’m just a physicist - I don’t work with machine learning, big data, or in the software industry at all. I just use Pandas + Seaborn to process the results of numerical simulations and physical experiments similarly to how someone else might use Excel. Works great.
Above that it says “DataFrames for a new era” hidden in their graphics. I believe it’s a competitor to the Python library “Pandas”, which makes it easy to do complex transformations on tabular data in Python.
But I would also like to know from APL aficionados whether it is a “write-only” power tool akin to a “Perl for math”, or if it’s also easy to read other people’s APL code once you get used to the most common symbols in APL.
I switched to Ubuntu back in 2008, and have used it on and off since then. When it first arrived, it was IMO significantly better than Debian for end users:
Debian was notoriously out of date. Debian Stable mostly contained packages that were several years out of date, and even Debian Testing often didn't have e.g. recent drivers and browser versions in its repo. Debian Unstable, on the other hand, was too unstable due to being rolling release. My subjective experience was that things like getting MP3 codecs to work or nVidia drivers installed was also a huge hassle. Ubuntu was based on Debian, but ensured that the latest versions of all these things either just worked, or could be easily enabled.
Secondly, I remember Debian as being largely a "do it yourself" option, not so different from what an Arch user today might be after. You used a curses-based installer, selected what packages to install manually, customized everything from the terminal, and so on. Ubuntu offered a cohesive desktop experience - it gave you a pre-configured Gnome desktop with all apps and drivers an everyday user might need, and slapped on a (subjectively) aesthetic and coherent theme. The installer itself was also a friendly GUI that even non-techie friends could use. If you wanted to install it, you didn't even need to know how to flash an ISO, you just put your address on the Ubuntu website and they literally mailed you a CD containing the installer - and nearly anyone could install Linux using it.
I think "peak Ubuntu" was around 2012, after that they became too large and things started going downhill. They split the Gnome user base by creating Unity instead of contributing to Gnome Shell, they split the post-X11 development by pushing Mir instead of contributing to Wayland (I think related to the failed "Ubuntu Phone"), they added Amazon ads (with privacy concerns) in the default desktop experience, then they started pushing Snaps, etc. It's been largely downhill since then, but they had already become the "default Linux distribution" targeted by companies like e.g. Steam, so they kept chugging along.
Personally, I still think Ubuntu works quite well if you want something Debian-like that is release-based (not rolling release) but updated more frequently. But I in that case prefer using Ubuntu Server edition and installing my own packages via apt, that way you get all the Ubuntu compatibility of running a mainstream distro, but you avoid most of the clutter in the default distribution. There's many forks like PopOS and Mint that can be used instead though if you want something that continues in the original spirit of Ubuntu.
I actually like the concept of foot pedals or thumb cluster keyboards, which sound like two of the most ergonomic ways to use modifier keys.
The main issue is that due to my work I have to regularly work on a laptop, and anything that deviates too much from a standard keyboard will cause too much friction as I switch back and forth. It would have been easier to go all in on custom hardware if I worked at one desk all day.
I used to do exactly the same. But then I developed RSI in my left forearm, which I blame on overusing it for all modifier keys (including CapsLock as my only Ctrl and only using left shift).
Afterwards, I used a Karabiner Elements script to completely block myself from pressing a left-hand modifier and left-hand letter key simultaneously, forcing myself to learn proper two-hand typing of modifiers. My arm feels better now, and I’ve actually finally appreciating having a Caps Lock key precisely due to the struggle you describe - I’m convinced that two-hand chording is healthier than pressing multiple keys simultaneously with one hand, but at the same time typing e.g. TODO out is then unbearable without a real caps lock key.
Yes. You can think of it as: If you’re surrounded by an equal amount of mass in every direction (because you’re at the center of a set of spherical mass shells), then the gravitational force in every direction will cancel out.
This is a valid point. I’m a big fan of Python the language myself, but packaging and distribution is quite the mess.
I honestly wish we at least got first-class support for adding say “import numpy-1.31” to the code, such that you could safely install multiple versions of a package in parallel in the global PYTHONPATH without issues.
I used to take some notes on paper (if it needed math and diagrams, or for meetings that require eye contact), and some notes on a computer (programming or pure text). My iPad replaced the paper but not the computer.
They said they subscribed which could mean that they have since unsubscribed. I think they’re texting them because they want them back as a customer - it makes no sense to pester your currently paying customers.