How I am deeply integrating Emacs
Joshua Blais глубоко интегрирует Emacs в свою рабочую среду, используя его для практически всех задач, кроме работы с видео. Он выбрал Hyprland в качестве оконного менеджера, отмечая его простоту настройки и отсутствие лагов в Wayland-режиме, в отличие от GNOME, где приходилось запускать Emacs в X11. Его цель — создать бесшовную среду, где мысли мгновенно превращаются в действия.
Автор рассматривал EXWM как оконный менеджер, но отказался от идеи из-за однопоточности Emacs (риск зависания всей системы) и привязки к X11, в то время как развитие Linux движется к Wayland. Для ускорения workflows он создал кастомный лаунчер на Go, который ускорил его работу в 10 раз. Текущая настройка включает vterm в качестве терминала по умолчанию, универсальный лаунчер, org mode для заметок, менеджер паролей, почту, чтение лент и музыку — всё внутри Emacs.
Комментарии (146)
- Спор о влиянии инструментов на творчество: одни утверждают, что свобода от инструментов раскрывает потенциал профессионалов, другие считают это заблуждением, подчеркивая важность качества инструментов.
- Критика дистрибутивов типа Doom Emacs и Spacemacs: пользователи отмечают их полезность для новичков, но указывают на ограничения при глубокой кастомизации и конфликт с личными предпочтениями.
- Технические ограничения Emacs: обсуждение проблем с EXWM (конфликт клавиш, однопоточность) и TRAMP для удаленной разработки, а также сравнение с современными редакторами вроде Helix.
- Философия кастомизации: Emacs ценится за возможность полной настройки через Elisp, но это требует времени и усилий, что отпугивает некоторых пользователей.
- Альтернативы и будущее: предложения о создании единого универсального редактора, критика текущей модели с множеством "окон в окнах" и поиск баланса между простотой и гибкостью.
Why your social.org files can have millions of lines without performance issues
Org Social решает проблему производительности при работе с большими файлами лент через трехслойный подход. Традиционный метод загрузки всех лент последовательно приводит к потере пропускной способности и блокировке интерфейса, так как приходится скачивать до 300KB данных для обработки 1500 постов, когда пользователю нужны лишь 10 последних. Новая система использует одновременную обработку до 20 лент в очереди с автоматическим восстановлением при ошибках.
Второй слой - HTTP Range-запросы, позволяющие загружать только нужные части файлов вместо полной загрузки. Система сначала определяет заголовок и размер файла, затем скачивает только свежие посты. Для платформ без поддержки Range (Cloudflare, Codeberg) предусмотрен автоматический переход к полной загрузке. Третий слой - алгоритм, который находит нужные посты, минимизируя объем данных. В результате вместо 27KB загружается всего 3KB, что значительно повышает производительность.
Комментарии (8)
- @dietr1ch критикует использование HTTP range requests для выборочного доступа к данным, предлагая вместо этого использовать файловую систему для эффективной выборки документов.
- @ChrisArchitect предоставляет контекст, указывая, что Org-social — это децентрализованная социальная сеть, работающая на базе Org Mode.
- @mjmas исправляет опечатку, заменяя "Lines" на "Millions of Lines".
- @pshirshov задает вопрос о популярности проекта.
- @dang благодарит за исправление.
Babel is why I keep blogging with Emacs
Автор испытывает двойственные чувства к своему блогинговому процессу в Emacs. С одной стороны, он завидует простым статическим генераторам сайтов, которые можно написать за пару тысяч строк кода и полностью контролировать. С другой, он продолжает использовать Org mode со встроенной публикацией, несмотря на её сложность и непрозрачность — экспортный код Org составляет свыше 20 000 строк, что делает его глубокое понимание практически невозможным.
Ключевая причина, по которой он не переходит на простой кастомный движок — это Babel, мощная система Org для выполнения кода прямо во время экспорта. Она позволяет запускать блоки кода на множестве языков, вставлять результаты (включая таблицы и изображения) в статью и использовать сессии для переиспользования данных. Это незаменимо для одновременной работы с данными, графиками и текстом, особенно в R.
Таким образом, несмотря на желание упростить процесс, необходимость в функциональности Babel перевешивает — её реализация с нуля заняла бы месяцы, что неприемлемо при ограниченном времени. Автор смиряется с сложностью Emacs, ценя его уникальные возможности.
Комментарии (71)
- Участники обсуждают использование Emacs и Org-mode для ведения блогов, включая выполнение кода через Babel и экспорт в различные форматы.
- Многие перешли на статические генераторы сайтов (Hugo, Zola, Pelican, Astro) из-за простоты или ограничений Org-mode, но некоторые интегрируют его через ox-hugo.
- Поднимаются вопросы о недостатках привязки разметки к редактору, преимуществах чистого Markdown и альтернативах вроде Pandoc или Quarto.
- Некоторые предпочитают минималистичные подходы: публикация сырых текстовых файлов или использование собственных скриптов для загрузки на S3.
- Отмечаются сложности с поддержкой формул, интерактивностью и зависимостями в различных инструментах.
I used standard Emacs extension-points to extend org-mode
Emacs: сдвиг парадигмы
Прочитав гайд по расширению Emacs, я выхватил главное: редактор не просто позволяет кастомизацию, а требует её. Он отдаёт в руки функции-ядерные боеголовки вроде advice-add и ждёт, что ты разберёшь его на запчасти и соберёшь обратно, как нужно тебе.
Пример: автосортировка списка прочитанного в Org-режиме по году. Вручную вызывать org-sort-entries надоело.
- Оборачиваем команду в функцию, которую можно вызвать из кода:
(defun org-sort-run ()
(when (and (derived-mode-p 'org-mode) org-sort-option)
(org-sort-entries nil ?r nil nil org-sort-option nil)))
- Вешаем на хук сохранения:
(add-hook 'before-save-hook #'org-sort-run)
Готово, но это «ещё один скрипт». Хочется, чтобы критерий сортировки жил в самом файле.
Добавляем в заголовок:
#+SORT: year
Листаем исходники Org, ищем, как парсятся in-buffer-настройки (+STARTUP → org-startup-options → org-set-regexps-and-options), копируем кусок, вставляем своё ключевое слово SORT, читаем значение, передаём в org-sort-run.
Итого: без форка Org, без плагина, всего 15 строк элиспа, мы навязали режиму поведение, о котором его авторы не думали. Вот она, эмаксовская свобода.
Комментарии (26)
- Участники обсуждают Emacs как мощный, но трудоёмкий инструмент, который «отдаётся» только при долгосрочном использовании и постоянной доработке.
- Сходятся во мнении: чем дольше им пользуешься, тем выше окупаемость вложенного времени, поскольку каждая доработка накапливается и ускоряет работу с текстом, файлами и внешними системами.
- Некоторые признают, что «делают всё не так» — пишут корявый elisp, лишь бы работало, и со временем это «патинируется» в устойчивую конфигурацию.
- Упоминают конкретные хаки: сохранение раскладки окон, быстрый переход к предыдущим точкам редактирования, интерактивная доработка кода в чате с Claude.
- Часть пользователей всё же считает кривую обучения слишком крутой: годами не хватает IDE-фич, поэтому Emacs остаётся лишь для org-mode и периодических попыток «всё-таки пересесть».
- Старая шутка звучит как аксиома: «Emacs учится всю жизнь — чем раньше начнёшь, тем дольше займёт».
Using Emacs Org-Mode With Databases: A getting-started guide
- Репо: шаблон для хранения и анализа данных в Org-mode
- Коммиты: 8, веток: 1, тегов: 0
- Файл: README.org
Комментарии (20)
- Пользователи делятся лайфхаками: org-babel + TRAMP = SQL-запросы на удалённых серверах прямо из Emacs.
- «Бедный SQL-workbench»: писать запросы в .org, вывод писать в /tmp/query-result.org, смотреть результат в соседнем буфере.
- Секьюрити: пароли прячем в ~/.pgpass или PGPASSFILE, чтобы не светить их в org-файле.
- Org-mode превращает студенческие шаблоны в красивые PDF (LaTeX), преподаватели думают, что ты TeX-гений.
- Кто пришёл из Vim — советуют Spacemacs как мостик; кто хочет шарить календарь с не-технической половиной — ищут синхронизацию.
Journaling using Nix, Vim and coreutils
- Журнал на Nix, Vim, coreutils, dateutils; вдохновлён Bullet Journal.
- Структура: каталог
journal/2023/→ 12 файлов01…12. - Календарь:
:read !cal -mв начале месяца. - Недельные записи:
week 1 · apply leaves × dload boarding pass > reply to dan - Символы:
·todo,×done,-заметка,oсобытие,>перенесено. - Сортировка:
gqipпосле:set formatprg=sort\ -Vгруппирует и поднимает «todo».
Комментарии (54)
- Участники спорят, нужен ли Nix для простой системы ведения дневника: кто-то считает его избыточным, кто-то ценит детерминированные окружения и воспроизводимость.
- Показаны альтернативы: email-аккаунт-«бутылка», Org-mode, Org-journal, vimwiki, аудиозаметки и даже pen-and-paper.
- Обсуждаются тонкости календаря:
ncal -w/ncal -wbдля номеров недель и ISO-8601. - Некоторые считают Nix «религией» и игрушкой для тех, кто гонится за трендами; другие используют NixOS или гибридные решения.
- Итог: метод прост, но выбор инструментов (Nix, Org, email, голос) зависит от личных приоритетов и готовности заморачиваться.
I tried every todo app and ended up with a .txt file 🔥 Горячее 💬 Длинная дискуссия
Я перепробовал все менеджеры задач и вернулся к todo.txt.
Бесконечный поиск
Notion, Todoist, Things 3, Trello, OmniFocus… Я даже писал своё приложение, но не закончил. Каждый раз уходил часы на настройку, а потом забрасывал. Синхрония ломалась, цены росли, компании закрывались. В итоге тратил больше времени на саму систему, чем на дела.
Точка кипения
Когда телефон сел, я выжал на стикере:
- дописать отчёт
- позвонить маме
- зал
- продукты
Сделал всё без тегов и приоритетов. Просто список.
Моя система: один файл
Каждый вечер открываю todo.txt, переношу задачи на завтра, ставлю время перед запланированными. Подпункты — заметки. Выполнил? Удалил или дописал результат. Через пару дней начинаю новую дату, старые блоки превращаются в журнал.
2025-08-11
10am ревью PR
- проверить авторизацию
написать пост про todo
2pm встреча команды
- спринт-планирование
- проблема деплоя
...
Почему работает
- Всегда под рукой: файл на рабочем столе, открывается горячей клавишей.
- Мгновенно: без загрузок и подписок.
- Быстро: добавить задачу — 2 секунды.
- Поиск:
Cmd+Fищет всё. - Вечность: текстовый файл переживёт любые обновления и закрытия сервисов.
- Честность: либо сделал, либо нет.
Секрет
Продуктивность — это:
- Вынести мысли из головы.
- Смотреть список.
- Делать.
Всё остальное — прокрастинация в красивой обёртке.
Комментарии (715)
- Люди ищут «жизненного коуча», а не приложение; простой .txt-файл работает, потому что ежедневно заставляет самому расставлять приоритеты.
- Многие возвращаются к бумаге, sticky notes или минималистичным форматам (todo.txt, org-mode, Obsidian, Apple Notes) после разочарования в сложных SaaS.
- Ключевые плюсы «текста»: полный контроль, git-версионирование, отсутствие подписок и заморочек с синхронизацией.
- Минусы: неудобно на телефоне, сложно с напоминаниями, повторяющимися задачами и большими объёмами.
- Итог: выбирайте инструмент, который не мешает, и будьте готовы перепрыгнуть на следующий, когда жизнь изменится.