Recent submissions

Comment · 2 years ago
> 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.

Comment · 2 years ago
> 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).

Comment · 2 years ago
> Emacs is now nothing more than a glorified Org editor

I must admit that if it wasn’t for Org, I as a long-time Vim user wouldn’t be using Emacs :)

Comment · 2 years ago
> 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.

Comment · 2 years ago
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.
Comment · 2 years ago
> 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.

Comment · 2 years ago
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.

Comment · 2 years ago
> 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.

Comment · 2 years ago
Congratulations on a major release!

Genuine question: Would you recommend learning Tcl/Tk from scratch in 2024, and in that case for what use cases?

Comment · 2 years ago
Yeah, I believe Pandas was inspired by similar functionality in R.
Comment · 2 years ago
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.
Comment · 2 years ago
Based on e.g. [this classic](https://youtu.be/a9xAKttWgP4?si=oMQQVbIziq60Cd1F), it seems people are fluent and productive in APL in a way I doubt anyone can become in Brainfuck.

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.

Comment · 2 years ago
> Debian's … installer … seems quite apt

I see what you did there

Comment · 2 years ago
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.

Comment · 2 years ago
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.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton