The terminal of the future 🔥 Горячее
Современные терминалы ограничены решениями, принятыми ещё в 1980-х, и состоят из четырёх компонентов: эмулятора терминала, псевдотерминала (PTY), оболочки (shell) и запускаемых программ. Автор отмечает, что внутренняя структура терминалов — это "куча", где многие решения невозможно изменить из-за исторического наследия. В качестве примера приводится цитата Джулии Эванс: "Внутренности терминалов — это беспорядок. Большая часть этого именно такая, потому что так кто-то решил в 80-х, и теперь это невозможно изменить".
В качестве альтернативы традиционному терминалу автор предлагает использовать Jupyter Notebook как модель для будущего терминала, предлагающую такие возможности, как высококачественное рендеринг изображений, функцию "перезапустить с начала" и возможность редактирования представлений кода и вывода. Статья описывает четыре этапа создания такого терминала: транзакционную семантику, постоянные сессии, структурированный RPC и интерфейс, похожий на Jupyter.
Комментарии (146)
- Обсуждение охватывает широкий спектр тем: от философских вопросов о том, что такое терминал и каким он должен быть, до конкретных технических деталей, таких как поддержка изображений, буферов и сессий.
- Участники обсуждают, какие функции действительно необходимы, и какие являются излишеством, и как они могли бы быть реализованы без нарушения обратной совместимости.
- Обсуждаются такие темы как встроенная поддержка редактора, возможность встроенной поддержки графики и мультимедиа, и как эти функции могли бы быть реализованы без нарушения существующих стандартов.
- Участники также обсуждают, какие функции могли бы быть реализованы в будущем, и какие из них уже реализованы в других системах, таких как Jupyter и Emacs.
- Обсуждается, какие функции могли бы быть реализованы в будущем, и какие из них уже реализованы в других системах, таких как Jupyter и Emacs.
WebAssembly (WASM) arch support for the Linux kernel 🔥 Горячее
Проект linux-wasm добавляет поддержку WebAssembly (Wasm) в ядро Linux, позволяя выполнять Wasm-модули непосредственно на уровне ядра. Это открывает новые возможности для безопасного выполнения кода с производительностью, близкой к нативной, без необходимости в традиционных виртуальных машинах или контейнерах. Поддержка включает базовую инфраструктуру для загрузки и выполнения Wasm-кода, а также интеграцию с существующими подсистемами ядра.
Проект находится на ранней стадии разработки, но уже демонстрирует потенциал для создания более легковесных и безопасных систем. Wasm-модули могут изолированно работать в пространстве ядра, что снижает накладные расходы по сравнению с традиционными процессами. Это особенно ценно для встраиваемых систем, IoT-устройств и сценариев, где критичны безопасность и производительность. Разработчики могут использовать существующие Wasm-инструменты для создания кода, который будет выполняться непосредственно в ядре Linux.
Комментарии (61)
- Проект демонстрирует высокую производительность Linux в WebAssembly, но содержит критические баги (например, ошибки доступа к памяти, паники ядра).
- Потенциальные применения включают облачные терминалы, научные окружения (Jupyter), тестирование дистрибутивов и образовательные цели, но требует оптимизации размера рантайма (<1 МБ).
- Техническое отличие от аналогов (container2wasm, XRSH) — отсутствие эмуляции CPU, компиляция бинарных файлов напрямую в WASM и использование WebWorker для процессов.
- Основные проблемы: отсутствие поддержки сетевых сокетов, сырых сокетов, JIT-компиляции и ограниченная совместимость с инструментами (например, Node.js).
- Участники отмечают образовательную ценность проекта и его влияние на развитие WebAssembly, но скептически оценивают массовое внедрение из-за текущих ограничений.
JupyterGIS breaks through to the next level
Предоставленный контент не содержит полной статьи о JupyterGIS, а представляет собой навигационную страницу European Space Agency (ESA) с информацией об их инициативе "eo science for society". На странице перечислены различные разделы, включая возможности, платформы, инструменты, сообщества и конкретные инициативы, такие как региональные проекты (Альпы, Атлантика, Балтика, Средиземноморье), программа стипендий "Living Planet" и инициатива "EO AFRICA". Также анонсированы предстоящие мероприятия, включая семинар по планированию научных исследований в Антарктике в ноябре 2025 года и конференцию по изучению океанского углерода из космоса. Для получения полного пересказа статьи о JupyterGIS необходим доступ к её основному содержанию.
Комментарии (28)
- JupyterGIS предлагает интерактивную среду, где можно работать с геоданными в браузере без установки ПО, но при этом остаётся вопрос, где сохраняются изменения и как работает совместное редактирование.
- Пользователи обсуждают, какие именно возможности совместной работы реализованы в JupyterGIS и как они взаимодействуют с такими источниками данных как OpenStreetMap.
- Обсуждается, что JupyterGIS использует OpenLayers в качестве визуального бэкенда и может использовать GPU-ускорение, но при этом неясно, какие именно форматы данных он может обрабатывать и как он взаимодействует с другими инструментами Python-экосистемы.
GNU Octave Meets JupyterLite: Compute Anywhere, Anytime
Команда Jupyter представила Xeus-Octave - новый kernel для JupyterLite, позволяющий запускать GNU Octave прямо в браузере. GNU Octave - бесплатный аналог MATLAB, теперь доступный без установки благодаря компиляции в WebAssembly. Для решения технических вызовов потребовался специальный инструмент на базе LLVM Flang и Emscripten для компиляции Fortran-кода, а также реализация BLAS/LAPACK, где выбор пал на Netlib LAPACK из-за меньших сложностей сборки.
Ключевым препятствием стало обширное использование блоков общих символов Fortran во внутренних библиотеках Octave, таких как odepack. Версия LLVM v20 на момент тестирования не поддерживала общую символьную линковку для WebAssembly, что потребовало дополнительных усилий для преодоления этого ограничения.
Комментарии (39)
- JupyterLite позволяет в браузере запускать ядра C++, Python, R, Lua, JavaScript и др. без серверной части.
- Octave и MATLAB — это два разных инструмента, и хотя Octave стремится к совместимости, он не является «клоном» MATLAB.
- Сообщество подчеркивает, что Octave — это полноценный язык для численных вычислений, а не просто «бесплатная замена MATLAB».
- Пользователи отмечают, что Octave и MATLAB различаются в деталях, но для базовых задач они взаимозаменимы.
- Обсуждение подняло вопрос о том, что Octave может быть полезен как встраиваемая библиотека, но это требует дополнительной работы.
The Debugging Book
"The Debugging Book" — это учебник по автоматическому поиску и устранению дефектов в программном обеспечении. Он охватывает весь цикл: от трассировки и наблюдения за выполнением кода до автоматического ремонта кода. Книга предлагает как теорию, так и практические примеры кода на Python, которые можно запустить прямо в браузере через Jupyter.
Книга предназначена для студентов, преподавателей и разработчиков программного обеспечения. Она охватывает такие темы, как трассировка, отслеживание ошибок, их причины и автоматическое ремесленное восстановление кода. Все примеры кода доступны для запуска и изучения.
Комментарии (7)
- Пользователи обсуждают важность настройки отладки с самого начала проекта, чтобы экономить время в будущем.
- Поднимается вопрос о том, что книга о дебаге может быть о написании отладчиков, а не об их использовании.
- Участники обсуждают, что отладка и разработка требуют разных навыков и мышления.
- Участник жалуется на плохую читаемость текста на сайте в тёмной теме.
- Участник подчеркивает, что отладка и разработка требуют разных навыков и подходов.
For Good First Issue – A repository of social impact and open source projects
Делай вклад в цифровые общественные блага
Помоги проектам, которые борются с климатом, голодом и прочими глобальными задачами. Ниже — готовые к первому PR репозитории.
| Проект | Язык | Направление |
|---|---|---|
| mautic | PHP | маркетинг-автоматизация |
| credebl | TypeScript | децентрализованная идентичность |
| avni-webapp | JavaScript | медицинские данные |
| the-turing-way | TeX | воспроизводимая наука |
| X-Road | Java | обмен данными между госорганами |
| OpenTermsArchive | JavaScript | прозрачность сервисов |
| OpenFn Lightning | Elixir | автоматизация workflow |
| android-fhir | Kotlin | мобильная медицина |
| casa | Ruby | волонтёрство для детей |
| ODK Collect | Kotlin | сбор данных в поле |
| cht-core | JavaScript | цифровое здравоохранение |
| policyengine-app | Jupyter | расчёт последствий политик |
| querido-diario | Python | открытые госгазеты |
| ODK Central | JavaScript | сервер для форм |
| decidim | Ruby | участие граждан |
Фильтр по языку и Целям устойчивого развития (SDG) на сайте.
Комментарии (14)
- Участники приветствуют инициативу списка проектов с «good first issue», но сомневаются в кураторстве: много проектов без активных задач, не все связаны с социальным влиянием.
- Предложено скрывать репозитории с 0 issues и добавлять метрики активности (коммиты, разработчики, возраст), как в Re-Decentralise.
- Новички спрашивают, считать ли правку опечаток «настоящим» вкладом; большинство советует упоминать, но честно указывать уровень участия.
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-графикой и автоматическим озвучиванием видео.
I want everything local – Building my offline AI workspace 🔥 Горячее 💬 Длинная дискуссия
- Локальный стек: Ollama (LLM), assistant-ui (веб-интерфейс), Apple
container(изолированные ВМ), Playwright (браузер), coderunner (MCP-сервер с Jupyter). - Цель: чат, запуск кода и доступ в интернет без облаков и утечек данных.
- Проблемы:
– Модели Ollama пока не поддерживают вызовы инструментов.
– Создание нативного Mac-приложения провалилось:a0.devзаточен под iOS, Electron + NextJS оказались геморроем.
– Applecontainerчасто падает сTrap; помогаетpkill+ перезапуск. - Решения:
– Веб-версияassistant-uiчерезai-sdkс выпадающим списком моделей (локальных и облачных).
– Jupyter в изолированной ВМ, доступен по MCP:http://coderunner.local:8222/mcp.
– Конфиг для Claude Desktop:"coderunner": { "httpUrl": "http://coderunner.local:8222/mcp" }.
Комментарии (274)
- Участники восхищаются локальной, «песочной» архитектурой для приватного AI-воркспейса и инструментом
coderunner, но отмечают, что узкие места — это не только софт, но и «железо»: 80B-модели требуют ≥80 ГБ быстрой RAM, что доступно разве что на RTX 4090 или Strix Halo. - Критичным становится слой знаний: RAG над личными файлами требует вектор-БД, а значит — много диска и оперативки; Docker-обёртка или
docker compose up -dпросится как минимальный способ разворачивания. - Пока локальные модели — скорее «увлекательное хобби» (медленно, глючно, нужен тюнинг), чем рабочий инструмент; облачные API (Cerebras, Groq) дают 1000 ток/с, но подрывают приватность.
- Сообщество просит готовый «всё-в-одном» стек: веб-поиск, голосовой режим, image-gen, лёгкий switch «локально ↔ облако» без потери данных.
- Несколько участников делятся своими решениями: Kasm + Ollama, Open WebUI, MLX-электрон-приложение, Synology-NAS-контейнеры, браузерный LLM без установки.
Representing Python notebooks as dataflow graphs
marimo — новый open-source Python-ноутбук, в котором программа представлена графом потока данных. Это снимает главные боли Jupyter: скрытое состояние, невоспроизводимость, невозможность повторного использования и сложную поддержку.
Почему старый формат не подходит
- Воспроизводимость. Исследования 2019–2020 гг. показали: только 4–24 % ноутбуков на GitHub можно перезапустить без ошибок и получить те же результаты. Причина — скрытое состояние: удаление или переупорядочивание ячеек ломает выводы.
- Интерактивность. В Jupyter интерактивен процесс, но не сами данные: выделение точек на графике не возвращает датафрейм.
- Поддержка и переиспользование. Файл
.ipynb— это JSON-блоб, не валидный Python-код; сложно версионировать в Git и переиспользовать как модуль или пайплайн.
Как marimo решает задачу
- Каждый ноутбук — корректный Python-скрипт и модуль.
- Граф зависимостей ячеек строится статически; изменение одной ячейки автоматически перезапускает только зависимые.
- Реактивность: обновление переменной мгновенно отражается во всех графиках и виджетах.
- Один файл можно экспортировать как приложение или запускать без ядра Jupyter.
Комментарии (27)
- Пользователи хвалят marimo за реактивное исполнение, «песочницу» uv и лёгкий обмен с коллегами.
- Сторонники Jupyter считают, что «restart kernel & run all» решает проблему воспроизводимости, но критики отвечают: это требует дисциплины и не работает при тяжёлых вычислениях.
- Некоторые видят в ноутбуках лишь инструмент разведки и предлагают после исследования переносить код в обычные .py-файлы.
- Участники сходятся, что метаданные зависимостей и чистые DAG-подобные модели вычислений могли бы улучшить ситуацию.