Typst: A Possible LaTeX Replacement 🔥 Горячее 💬 Длинная дискуссия
Typst — это новая система вёрстки документов, написанная на Rust и позиционируемая как современная альтернатива LaTeX. Она сохраняет высокое качество вывода, особенно для технических и научных материалов с формулами, таблицами и иллюстрациями, но предлагает более простой синтаксис разметки, быстрое компилирование и удобную кастомизацию. Проект развивается с 2019 года, уже насчитывает сотни контрибьюторов и постепенно получает признание в академической среде.
Ключевые преимущества Typst включают мгновенную работу со шрифтами, интерактивный режим редактирования с автоматической перекомпиляцией и поддержку современных форматов вывода. В отличие от LaTeX, он не требует гигантской установки, проще в освоении и выдаёт понятные ошибки. Хотя замена экосистемы пакетов LaTeX остаётся вызовом, Typst демонстрирует практическую ценность для тех, кто ищет лёгкий и эффективный инструмент для вёрстки.
Комментарии (338)
- Пользователи отмечают значительное преимущество Typst перед LaTeX в скорости компиляции, удобстве синтаксиса и понятности диагностических сообщений.
- Многие перешли на Typst для генерации документов в продакшн-средах (инвойсы, отчёты, книги) благодаря его простоте интеграции с данными (JSON) и программируемости.
- Подчёркивается проблема принятия Typst в научном сообществе из-за доминирования LaTeX-шаблонов журналов и конференций, а также отсутствия полной поддержки инструментов вроде Zotero.
- Некоторые пользователи выражают скептицизм по поводу замены LaTeX для сложных математических формул и опасения по поводу долгосрочного развития и обратной совместимости Typst.
- Typst часто используется как замена Markdown для простых документов и заметок благодаря интуитивному формату и мгновенному предпросмотру.
Комментарии (9)
- Предложены альтернативные проекты (alphaxiv.org, emergentmind.com) и рекомендации по использованию моделей ИИ (Gemini 2.5 Flash).
- Высказаны предложения по улучшению: парсить исходный код LaTeX для точности формул, добавить поддержку Markdown/LaTeX в выводе.
- Обнаружена техническая проблема с обработкой ArXiv ID, содержащих прямой слэш.
- Запрос на добавление короткого демо-ролика и функции выделения конкретных фрагментов текста в ответах.
- Выражена положительная оценка проекта, особенно за возможность ссылаться на конкретные страницы PDF.
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 как мостик; кто хочет шарить календарь с не-технической половиной — ищут синхронизацию.
Show HN: Hacker News em dash user leaderboard pre-ChatGPT 🔥 Горячее 💬 Длинная дискуссия
—
Комментарии (247)
- Авторы обсудили лидерборд пользователей HN по количеству «—» в комментариях и быстро перешли к анализу BigQuery-данных, долям и «— на комментарий».
- Подняли тему, что после 2022 г. всплеск может быть связан с ChatGPT, но сомневаются: автозамены macOS/iOS, MS Word и LaTeX "---" давно делают «—» доступным.
- Спорили, стоит ли считать «--», «–» или "---", и предлагали дополнительные метрики: рост после релиза LLM, только «\w—\w», «— на символ» и т. д.
- Некоторые гордились попаданием в список, другие редактируют «—» из текста, опасаясь «охоты на ведьм» за признаками ИИ.
Manim: Animation engine for explanatory math videos 🔥 Горячее
manim — движок анимации от 3Blue1Brown для создания пояснительных математических видео.
Python-библиотека превращает LaTeX-формулы и геометрические объекты в плавные сцены, которые можно рендерить в Full HD или 4K.
Ключевые возможности
- Объектно-ориентированный API: создаёте
Mobject-ы (Math-Objects) и анимируете их методами.animate,.play,.transform. - Встроенные шаблоны: графы, векторы, интегралы, матрицы, 3D-сцены.
- LaTeX-рендеринг: компилирует формулы в реальном времени.
- GPU-ускорение (OpenGL) для сложных сцен.
- CLI и Jupyter: запускайте
manim -pql scene.pyили интерактивно в ноутбуке.
Установка
pip install manim
# или
conda install -c conda-forge manim
Минимальный пример
from manim import *
class HelloMath(Scene):
def construct(self):
eq = MathTex(r"\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}")
self.play(Write(eq))
self.wait()
Ссылки
Комментарии (65)
- Современные LLM отлично генерируют код Manim, экономя время при создании математических видео.
- Пользователи хвалят красоту и понятность роликов 3Blue1Brown и сами делали успешные презентации.
- Актуальная версия библиотеки — community-форк ManimCommunity/manim.
- Ищут аналоги Manim для общих инфографик и моушен-графики (MotionCanvas.io, After Effects и др.).
- Некоторые жалуются на старые проблемы: kwargs-итис и отсутствие типов.
- Есть эксперименты с интерактивной 3D-графикой и автоматическим озвучиванием видео.
How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos 🔥 Горячее 💬 Длинная дискуссия
CodeRabbit: от PR до RCE и доступа к 1 млн репозиториев
CodeRabbit — самое популярное AI-приложение на GitHub Marketplace (1 млн репозиториев, 5 млн PR). При установке он анализирует каждый PR и оставляет AI-комментарии.
Найденные уязвимости
-
RCE через Markdown-рендеринг
- Внутри контейнеров запускается
markdown-itс плагиномmarkdown-it-katex. - Плагин использует
child_process.execбез фильтрации LaTeX-ввода. - Внедрённый в PR
$\input{/etc/passwd}$запускает произвольные команды.
- Внутри контейнеров запускается
-
Утечка токенов
- Внутри контейнеров доступны переменные окружения:
GITHUB_TOKEN,CODERABBIT_API_KEY,DATABASE_URL. - Чтение
/proc/self/environи~/.netrcпозволило получить токены GitHub, JWT-секреты и строку подключения к PostgreSQL.
- Внутри контейнеров доступны переменные окружения:
-
Доступ к 1 млн репозиториев
- Установленный GitHub-App имеет scope
contents:writeво всех подключённых репозиториях. - С помощью украденного токена можно клонировать/писать в приватные репы, создавать PR, коммиты и релизы.
- Установленный GitHub-App имеет scope
Цепочка атаки
- Создаём PR с вредным LaTeX.
- Получаем RCE в контейнере CodeRabbit.
- Считываем секреты.
- Используем токен GitHub для полного доступа к репозиториям.
Меры защиты
- Переход на изолированные sandbox-среды.
- Отключение опасных LaTeX-функций.
- Минимизация scope GitHub-токенов.
Комментарии (217)
- Исследователи нашли RCE в CodeRabbit: Rubocop запускался в проде без песочницы, позволяя выполнять любой код и получить ключи GitHub-приложения.
- Уязвимость дала доступ на запись к ~1 млн репозиториев; компания утверждает, что «данных клиентов не скомпрометировано», но аудита нет.
- Пользователи критикуют отсутствие прозрачности, грубые ошибки в управлении секретами (ключ в ENV) и чрезмерные права GitHub-приложений.
- Главный вывод: анализаторы кода должны запускаться в изолированных средах без доступа к чувствительным переменным, иначе подобные инциденты неизбежны.
I Prefer RST to Markdown (2024)
- Markdown = лёгкая обёртка HTML, rST = промежуточное дерево документа.
- В Markdown картинка:
→ прямое преобразование в<img>. - В rST:
.. image:: img.jpg :alt: alt→ регистрируется обработчик, возвращает объект-узел, который потом рендерится нужным бэкендом. - rST расширяем: добавил
.. figure::, подключил обработчик — готово. - Можно трансформировать дерево до вывода: перенос решений упражнений в конец книги, генерация ссылок, разные стили для HTML, PDF, EPUB.
- Пример:
.. exercise:: Fizzbuzzи.. solution::собираются в одном месте, но при сборке перемещаются вsolutionlist, связываются ссылками, в EPUB открываются всплывающими сносками, в LaTeX — через answers.
Комментарии (81)
- RST мощнее и расширяемее, но синтаксис вызывает отторжение и сложен для новичков.
- Markdown читается и пишется проще, поэтому стал де-факто стандартом, но не хватает возможностей для больших документов.
- MyST, Asciidoc, Djot и Typst предлагают компромисс между простотой и функциональностью, но пока уступают Markdown в распространённости инструментов.
- Парсеры RST доступны в основном на Python, а у Markdown — «каждый реализует свой диалект».
- Для книг и сложной документации RST + Sphinx выигрывают за счёт автогенерации HTML/PDF/EPUB, глоссариев и индексов.