precompute

Joined 5 years ago

Karma
1,022
Submissions
739
Member since
Apr 10
hi at precompute period net
View on Hacker News

Recent submissions

Comment · 11 days ago
It uses the LLM favourite left border decoration. Pass.
Comment · 23 days ago
This is fixable if you introduce another abstraction layer: a small split kb :)

0/$ doesn't matter when they're both one layer down.

Comment · 23 days ago
You're right. Using vanilla emacs as an IDE means configuring evil, eglot and window management. You can use doom/spacemacs but they hinder future customizability because you'll be fighting against your config and doom's upstream changes.

Conjure looks great but IMO it's not a 1:1 substitute for tight coupling between editor functionality and internal tooling. If neovim gets 80% of the way to a productive coding setup then emacs helps hone that last 20%.

Comment · 23 days ago
I wrote the following in response to a comment that was deleted before I could post my reply.

> Do you have any examples of these Emacs shortcuts that simplify your life?

> I tried using Emacs with Evil but I was just using it as a somewhat laggier Vim.

Learning how to use prefix arguments and writing interactive functions have been very useful. Whenever I want functionality that's just a little different than what Emacs provides, I can always write a function and bind it.

Emacs also comes with regional undo/redo and has great undo tree visualization plugins.

Another feature I've come to appreciate recently is the built-in per-frame and per-window tabs. I moved from using separate frames to using tabs. Tabs inside tabs lets you visit many files at once while keeping visual clutter to a minimum. (In Emacs parlance, a "frame" is the window your WM handles, and a "window" is a visible child of that frame)

Also, outline-minor-mode is really nice for annotating files with headings. You can define custom regexp and sidestep collaboration restrictions and quirky formatting.

The calc is super-useful.

file-local variables are useful. directory-local variables are incredible, they set up custom environments for all folders at the same level / below them. Imagine doing a (let) but over a directory structure.

Vim has default C-p completion. Emacs has hippy-expand, which IMO is better. Some glue around hippie-expand can also make it work with a drop-down completion interface like corfu.

Some examples:

In tab-bar-mode the tab nav functions don't wrap around. So I wrote a small wrapper around the tab nav functions. It's about 10 lines of elisp and handles forward, backward and tab creation. For neovim this would've been much more difficult. In emacs it involves basic functions: interactive, let and cond.

I have a small package that opens new scratch buffers and inherits the major-mode of the buffer it was invoked from. Very useful to write temporary code. One shortcut and it always works.

I have a function that opens all dired selected files in a new tab/frame. Great for organization. Basically you open dired, mark files and run the commands, and they're open in a new tab, and all marks are unmarked. So you can very quickly structure a project for work.

Another function that moves forward/backward to the next logical file. Saves me a trip to find-file / dired.

I have a monorepo that I code in and it has different folders for different languages / folders. Because it's a monorepo, file completion shows ALL files in the monorepo. And running a LSP server also starts at the monorepo root, which is not ideal. With directory-local variables, I can set a custom file (like .gitignore) to denote a repo root. So emacs (and LSP servers via Eglot) will consider the presence of that file the repo root and make it work like an independent repo. ((nil . ((project-vc-extra-root-markers . (".gitignore")))))

(I've been using Emacs longer than I used vim, so my experience is skewed. I also used it as a laggy vim (Doom Emacs) for the first few years, and then moved to a custom config, which helped me really understand what was happening under the hood)

Perhaps there is a vim plugin for each one of these; but I certainly wouldn't be able to do ALL of these by myself in vim! Also because many of these are built-in emacs functions, they're guaranteed to be supported for a very long time.

Comment · 23 days ago
You should try using evil again. I use it full-time and 90% of my non-web-browsing work is in Emacs (the other 9% is in the terminal). It's very stable and IMO more full-featured than plain vim. In time you'll pick up some native emacs shortcuts to simplify your life but you'll still have modal editing everywhere. Best of both worlds.
Comment · 23 days ago
> Then, I simply grow tired of staring at the same thing every day.

Use different mixed-pitch fonts for different directories. Use a different header/modeline.

Emacs is a necessity for me. I can't function without it. Moving functionality off emacs to the web browser or another clunky UI application is a straight downgrade.

Comment · 1 month ago
> My company was recently acquired. My company was currently going through a platform modernization. The company that acquired us is also going through a platform modernization. They acquired us specifically to use our new platform. Our platform isn't even fully built yet. I'm doing 100% of the coding. I'm tasked with finishing the platform, migrating all my companies existing customers to the new platform, migrating the new company's existing customers to new platform all while continuing to sell to new customers. The company is pushing AI-first EVERYTHING. I'm not allowed to hire. The new company had 20+ people working on their platform. I'm now expected to do it with 5. I had to fight for those 5. They thought I should be able to do it with 1 engineer. They are cutting people 30% annually over the next 2 years. 200+ employees to ~60-70. And they are asking me if I'll be ready in Q1 or Q2 next year. Our product person gave AI the legacy code bases to generate a report of all features and gaps. I supposed to go through an HTML file that is easily 100+ pages long and a spreadsheet with 30 tabs and hundreds of rows each. I pushed back that it's not fit for human consumption and let's start with high level gaps and they're acting like I'm not a team player or something. It's ridiculous.

This is crazy. LLM usage has somehow convinced people that it's $999 for not just knowing where to place one nail, but for knowing where to place an almost infinite number of them. Disingenuous marketing by the big players does not help either.

Comment · 1 month ago
it's painful to read.
Comment · 1 month ago
Zune'd
Comment · 2 months ago
My Zune 30's still kicking! Ipods aren't.
Comment · 2 months ago
Nice, a model for google-fu.
Comment · 3 months ago
Uniting children with the machine god, what could ever go wrong?
Comment · 4 months ago
Yes! Nintype is incredible and is the only reason I refuse to upgrade my phone.
Comment · 4 months ago
Impressive. It loads so quickly! What was this made with?
Comment · 6 months ago
Awesome.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton