#browsers #mobile #ai #llm #nlp #desktop #crossplatform
Открыл для себя новый браузер Arc
Умеет искать по запросу, также присутствуют вкладки и ad blocker
При первом открытии — сразу же спрашивает о чем запрос
Затем предлагает искать стандартно или с помощью AI-режима
К сожалению, проприетарный
Для девелоперских запросов подсвечивает общие идеи и названия библиотек
Жду когда сделают опенсорсную альтернативу
https://arc.net/
Работает в том числе и на десктопе
Открыл для себя новый браузер Arc
Умеет искать по запросу, также присутствуют вкладки и ad blocker
При первом открытии — сразу же спрашивает о чем запрос
Затем предлагает искать стандартно или с помощью AI-режима
К сожалению, проприетарный
Для девелоперских запросов подсвечивает общие идеи и названия библиотек
Жду когда сделают опенсорсную альтернативу
https://arc.net/
Работает в том числе и на десктопе
❤1
#ide #opensource #atom #pulsar #github
Pulsar 🚀 ⚛️
Нашел поддерживаемый коммьюнити форк Atom-а, IDE сделанной GitHub, когда VS Code ещё не был популярен и когда Microsoft, купив GitHub не закрыла Atom
Лендинг: https://pulsar-edit.dev/
Репозиторий: https://github.com/pulsar-edit
Pulsar 🚀 ⚛️
Нашел поддерживаемый коммьюнити форк Atom-а, IDE сделанной GitHub, когда VS Code ещё не был популярен и когда Microsoft, купив GitHub не закрыла Atom
Лендинг: https://pulsar-edit.dev/
Репозиторий: https://github.com/pulsar-edit
#music #tty #terminal #yandexmusic #opensource
Yandex Music в вашем терминале :3
Инструкция:
На этом этапе у Вас спросит токен, топаем сюды
И жамкаем на кнопку со скриншота либо топаем сюды
После попадете на
Наслаждайтесь, на кнопку l - лайкать, стрелками переключаться, пример конфига в закрепе комментов
GitHub Repository: https://github.com/DECE2183/yamusic-tui
Yandex Music в вашем терминале :3
Инструкция:
brew install go
go install github.com/dece2183/yamusic-tui@latest
cd ~/go/pkg/
./yamusic-tui
На этом этапе у Вас спросит токен, топаем сюды
https://yandex.cloud/ru/docs/iam/concepts/authorization/oauth-tokenИ жамкаем на кнопку со скриншота либо топаем сюды
https://oauth.yandex.ru/authorize?response_type=token&client_id=1a6990aa636648e9b2ef855fa7bec2fbПосле попадете на
https://oauth.yandex.ru/verification_code и по середине экрана будет Ваш токенНаслаждайтесь, на кнопку l - лайкать, стрелками переключаться, пример конфига в закрепе комментов
GitHub Repository: https://github.com/DECE2183/yamusic-tui
❤🔥2🔥1
#opensource #tty #terminal #monitoring
Полезный тулинг-лист для управления системой из-под терминала (всё как всегда, долой стандартный gui поверх х-ов или wayland)
1) Самое простое это питонвский bpytop (на скриншоте 1)
Работает как ресурс мониторинг а-ля
https://github.com/aristocratos/bpytop
2) Ушедший с поддержки Edex UI (на скриншоте 2)
Тула настолько монстр что получила премию на OSS Award
Что в коробке?
- Эмуль терминала + всякие приколы поверх
- Отображение ресурсов (CPU, RAM, swap, processes) и network (GeoIP, active connections, transfer rates) monitoring.
- Поддержка сенсорных экранов
- Файловый менеджер
- Кастомные темы
- Звук
https://github.com/GitSquared/edex-ui
В том числе легко пробрасывается vim и прочее (скриншот 3)
Установка обоих в комментах в закрепе
Полезный тулинг-лист для управления системой из-под терминала (всё как всегда, долой стандартный gui поверх х-ов или wayland)
1) Самое простое это питонвский bpytop (на скриншоте 1)
Работает как ресурс мониторинг а-ля
top -Hhttps://github.com/aristocratos/bpytop
2) Ушедший с поддержки Edex UI (на скриншоте 2)
Тула настолько монстр что получила премию на OSS Award
Что в коробке?
- Эмуль терминала + всякие приколы поверх
curses (старый способ рисовать окна в консоли, на смену ему придет `ncurses`)- Отображение ресурсов (CPU, RAM, swap, processes) и network (GeoIP, active connections, transfer rates) monitoring.
- Поддержка сенсорных экранов
- Файловый менеджер
- Кастомные темы
- Звук
https://github.com/GitSquared/edex-ui
В том числе легко пробрасывается vim и прочее (скриншот 3)
Установка обоих в комментах в закрепе
❤1
#proprietary #ide #cursorai #development
По сути очередной клон OSS, но в этот раз предлагает прикольный usability.
Что под капотом?
- VS Code (видать OSS, потому что не все extensions ставятся)
- Прослойка к своим моделям для Tab fill, Chat with codebase и так далее
- Прослойка к публичным Open AI моделям и прочим сервисам
Экспертное мнение:
Стоит ли оно того?
Определенно, да, видимо придется переосмыслить свой подход к разработке и посмотреть насколько это забустит, ведь можно в кодовой базе держать не только код, но и всякие работы для написания статей, стартапов и так далее, ведь .md - тоже код.
Под катом в комментах:
- Как экспортировать ваши vs code extensions
- Скрины изнутри с примерами что происходит и зачем
Pricing: Есть бесплатная версия, есть подписка 20$ / баксов
Official website: https://www.cursor.com/
YouTube: https://www.youtube.com/watch?v=23in9xpt-FE
По сути очередной клон OSS, но в этот раз предлагает прикольный usability.
Что под капотом?
- VS Code (видать OSS, потому что не все extensions ставятся)
- Прослойка к своим моделям для Tab fill, Chat with codebase и так далее
- Прослойка к публичным Open AI моделям и прочим сервисам
Экспертное мнение:
Стоит ли оно того?
Определенно, да, видимо придется переосмыслить свой подход к разработке и посмотреть насколько это забустит, ведь можно в кодовой базе держать не только код, но и всякие работы для написания статей, стартапов и так далее, ведь .md - тоже код.
Под катом в комментах:
- Как экспортировать ваши vs code extensions
- Скрины изнутри с примерами что происходит и зачем
Pricing: Есть бесплатная версия, есть подписка 20$ / баксов
Official website: https://www.cursor.com/
YouTube: https://www.youtube.com/watch?v=23in9xpt-FE
#zettelkasten #knowledgebase #logseq
Один немецкий статист прошлого столетия оптимизировал свою систему ведения заметок таким образом, что в итоге за жизнь написал примерно 70-80 книг и около 900 научных статей.
Весь прикол в том, что он писал заметки особым образом и использовал строгую концепцию по их ведению.
По-факту, эта история называется сейчас как "Второй мозг"
Идея проста, Ваше сознание должно быть максимально разгружено от активных задач, идей и дел.
Помните байку про "Подумал о чём-то? Запиши, а то забудешь!"?
Ну так вот, многие из нас ведут заметки или записи хрен пойми как. Кто-то в Notion, кто-то в Google Docs, кто-то в Notes, кто-то по-умнее и скачал Obsidian, кто-то еще умнее и поставил Logseq.
В целом, систем-то очень много. Вопрос как в них писать эти самые заметки?
Поехали по порядку.
Зачем?
Создание Zettelkasten в Logseq – отличный способ организовать знания. Это мощный метод, который поможет связать идеи, создать структурированную сеть знаний и упрощать поиск информации.
Основные принципы Zettelkasten:
- Связывайте заметки: Каждая заметка должна быть связана с другими заметками через контекст или тематику.
- Уникальные идентификаторы: Можно использовать временные метки (например, 202412181230) или просто имена, связанные с содержанием.
- Минимальная структура: Создавайте заметки с одной ключевой идеей, чтобы избежать перегрузки информации.
Структура работы:
- Используйте Daily Notes как рабочий инструмент:
1) Каждый день фиксируйте идеи, задачи, мысли.
2) Выделяйте важные части для превращения их в отдельные страницы/узлы.
- Создание страниц (atomic notes):
1) Ключевая идея = одна страница. Например, вместо "Заметки по книге" сделайте страницы вроде: Как внедрить привычки или Роль мотивации в обучении.
2) Оформляйте короткие заметки и связывайте их через [[ссылки]].
- Хештеги:
1) Хештеги полезны для широких категорий (например, #психология, #проект_А).
2) Не заменяйте связи ссылками – это разные механизмы. Хештег создаёт контекст, а ссылка – глубокую связь.
- Ссылки между заметками:
1) В новых заметках ищите, к чему они могут относиться.
2) Например, если заметка связана с уже существующей идеей, добавьте ссылку на неё.
Как работать с TODO в Zettelkasten:
- Не перегружайте TODO-список:
1) Если задач много, создайте страницу вроде #TODO или Задачи, и перемещайте туда все задачи из Daily Notes.
2) Уточняйте действия: вместо
- Проверяйте задачи ежедневно:
В конце дня просматривайте TODO и переносите невыполненные задачи вперёд. В Logseq для этого даже плагин есть.
Рекомендации по оптимизации:
- Используйте "Би-линки" (Backlinks):
В конце заметки добавляйте ссылки на страницы, где эта идея упоминается. Например:
- Создавайте индексы:
Сделайте страницу "Индекс", где вручную соберите ссылки на ключевые темы и группы заметок.
- Автоматизируйте хештеги и TODO:
Используйте запросы (queries) Logseq, чтобы видеть все задачи, связанные с проектами или тегами.
- Рефакторинг заметок:
Регулярно пересматривайте старые заметки, добавляйте связи, уточняйте идеи.
Соб-сна шаблон для заметок:
Сделайте свой второй мозг :3
Один немецкий статист прошлого столетия оптимизировал свою систему ведения заметок таким образом, что в итоге за жизнь написал примерно 70-80 книг и около 900 научных статей.
Весь прикол в том, что он писал заметки особым образом и использовал строгую концепцию по их ведению.
По-факту, эта история называется сейчас как "Второй мозг"
Идея проста, Ваше сознание должно быть максимально разгружено от активных задач, идей и дел.
Помните байку про "Подумал о чём-то? Запиши, а то забудешь!"?
Ну так вот, многие из нас ведут заметки или записи хрен пойми как. Кто-то в Notion, кто-то в Google Docs, кто-то в Notes, кто-то по-умнее и скачал Obsidian, кто-то еще умнее и поставил Logseq.
В целом, систем-то очень много. Вопрос как в них писать эти самые заметки?
Поехали по порядку.
Зачем?
Создание Zettelkasten в Logseq – отличный способ организовать знания. Это мощный метод, который поможет связать идеи, создать структурированную сеть знаний и упрощать поиск информации.
Основные принципы Zettelkasten:
- Связывайте заметки: Каждая заметка должна быть связана с другими заметками через контекст или тематику.
- Уникальные идентификаторы: Можно использовать временные метки (например, 202412181230) или просто имена, связанные с содержанием.
- Минимальная структура: Создавайте заметки с одной ключевой идеей, чтобы избежать перегрузки информации.
Структура работы:
- Используйте Daily Notes как рабочий инструмент:
1) Каждый день фиксируйте идеи, задачи, мысли.
2) Выделяйте важные части для превращения их в отдельные страницы/узлы.
- Создание страниц (atomic notes):
1) Ключевая идея = одна страница. Например, вместо "Заметки по книге" сделайте страницы вроде: Как внедрить привычки или Роль мотивации в обучении.
2) Оформляйте короткие заметки и связывайте их через [[ссылки]].
- Хештеги:
1) Хештеги полезны для широких категорий (например, #психология, #проект_А).
2) Не заменяйте связи ссылками – это разные механизмы. Хештег создаёт контекст, а ссылка – глубокую связь.
- Ссылки между заметками:
1) В новых заметках ищите, к чему они могут относиться.
2) Например, если заметка связана с уже существующей идеей, добавьте ссылку на неё.
Как работать с TODO в Zettelkasten:
- Не перегружайте TODO-список:
1) Если задач много, создайте страницу вроде #TODO или Задачи, и перемещайте туда все задачи из Daily Notes.
2) Уточняйте действия: вместо
Сделать отчет – Подготовить слайды для отчета (дедлайн 20.12).- Проверяйте задачи ежедневно:
В конце дня просматривайте TODO и переносите невыполненные задачи вперёд. В Logseq для этого даже плагин есть.
Рекомендации по оптимизации:
- Используйте "Би-линки" (Backlinks):
В конце заметки добавляйте ссылки на страницы, где эта идея упоминается. Например:
См. также: [[Привычки]].- Создавайте индексы:
Сделайте страницу "Индекс", где вручную соберите ссылки на ключевые темы и группы заметок.
- Автоматизируйте хештеги и TODO:
Используйте запросы (queries) Logseq, чтобы видеть все задачи, связанные с проектами или тегами.
- Рефакторинг заметок:
Регулярно пересматривайте старые заметки, добавляйте связи, уточняйте идеи.
Соб-сна шаблон для заметок:
# Заметка: [[Название заметки]]
## Ключевая идея
Здесь кратко описывается основная мысль.
## Связи
- Связано с: [[Другая заметка]], [[Идея Х]].
- Категория: #тема.
## Развитие идеи
Здесь можно уточнить детали, добавить аргументы, примеры и цитаты.
Сделайте свой второй мозг :3
👍1
Forwarded from HolyJS — канал конференции
#видеозаписи
Слова «Функциональное программирование» и «JavaScript» нечасто оказываются рядом. Но тем интереснее об этом послушать!
В первый #ТяжелыйПонедельник года открываем запись для всех, кто готов расширить кругозор.
YouTube | VK Видео
Скачать презентацию с сайта HolyJS
Слова «Функциональное программирование» и «JavaScript» нечасто оказываются рядом. Но тем интереснее об этом послушать!
В первый #ТяжелыйПонедельник года открываем запись для всех, кто готов расширить кругозор.
YouTube | VK Видео
Скачать презентацию с сайта HolyJS
🔥5
Forwarded from thg (Marat Zimnurov)
#softskills #management #исскуствообщениявсети #книги #искусствообщения #тимлидинг
Часто наблюдаю потребность людей решить всё через чат (речь не про "зуммеров", что боятся поговорить 1:1, а вообще в целом нежелание посещать встречи для проговаривания)
Но такие переписки превращаются в long-read-ы, которые человек, как агентная модель может держать контекст на 20к токенов. Попробуйте вспомнить два-три треда на 100+ сообщений, в которых вы активно что-то обсуждали, и сразу же сказать какие там на выходе AI сложились?
Логика в том, что асинхронное общение работает, когда у вас нет дедлайнов вообще.
Так, например, устроены #random или Reddit или форумы, на которых не требуется получить "мгновенный ответ".
В личных чатах, к примеру, нет "сроков" чаще всего, поэтому там все треды/топики идут без привязки к теме. Мало, кто в личных сообщениях следует логике #тема сообщения, а к примеру чрезмерная формализация превращается в wiki, и чаще всего в бизнесовый.
По сути, все ваши "онлайн/оффлайн встречи" – это закрепление контрактов. Воспринимайте их так.
Например, вы можете обсудить фильм в личной переписке
Например, вы можете спланировать поход на фильм в личной переписке
Однако, как только вы (кто-то из вас) понимаете, что похоже за пару сообщений вопрос решить невозможно – нужна синхронная встреча (или грубо говоря это асинхронная встреча с минимальный delay).
То есть, нужно за раз согласовать "контракт" на просмотр кино. Это может быть встреча на 15 / 30 / 45 / 60 минут, всё что угодно.
Это может быть элемент Agenda на встречу, если initial вопрос составляет 5-10 минут для "контракта", а цена организации встречи занимает кратно больше, тогда ведётся collection под Agenda.
Вопрос – как понять когда?
В целом, рекомендую пользоваться следующим паттерном/приёмом/мозговой установкой:
1) Если тред набирает 5-10 сообщений, а проблема не решена → созвон на 15-20 минут
2) Если в рамках созвона контекст не удаётся собрать и решить проблему → созвон на полчаса/час под запись с уже собранным контекстом и вопросами
3) Если в рамках созвона уже с контекстом не удаётся договориться → начинается эскалация, в случае если одна система не адаптируется под другую
4) Дальше подключается фасилитатор, если и у него не выходит → эскалация продолжается
Обычно всё заканчивается на третьем шаге, работает как швейцарский нож
По тому, что зачем "записывать" встречу:
- Многие могут с вами начать спор прямо в тексте, если таких текстовых встреч ведётся тысячи параллельно, гарантия "не найти" сообщение крайне высока, а ещё текст не передаёт эмоции, "зумеры", вон, дефолтный ":)" перенесли в пассивную агрессию, в следствии, под запись под публикацию люди обычно ведут себя сдержаннее и готовятся к встрече, а если не готовы, часто идут на компроммисы, это элемент психологии в том числе темного эмпата, которая полезна для рабочего пространства.
- Многие встречи обычно проводятся "высокоуровнево" с выделением основных нарративов.
AI из встречи: "Мы идём в кино на хоррор, в выходной"
AI из переписки: "Мы идём на мультик про бетмена, в субботу в 14:00, билеты купил, ты должен 42 рубля"
Причём второй AI легко появляется при наличии первого. Так как первый и был "открытием контекста" или "топика"
По тому, что почитать на похожий нарратив как точку входа:
- Дейл Карнеги – Как выработать уверенность в себе и влиять на людей, выступая публично
- Дейл Карнеги – Как располагать к себе людей
- Дейл Карнеги – Секрет общения с людьми
- Максим Батырев – 45 татуировок менеджера
- Николай Мрочковский - Экстремальный тайм-менеджмент
- Роб Коул - Блистательный Agile
- Джон Харгрейв - Mind hacking. Как перенастроить мозг за 21 день
- Сунь Цзы - Искусство войны
- Лао Цзы - Книга пути и достоинства
Часто наблюдаю потребность людей решить всё через чат (речь не про "зуммеров", что боятся поговорить 1:1, а вообще в целом нежелание посещать встречи для проговаривания)
Но такие переписки превращаются в long-read-ы, которые человек, как агентная модель может держать контекст на 20к токенов. Попробуйте вспомнить два-три треда на 100+ сообщений, в которых вы активно что-то обсуждали, и сразу же сказать какие там на выходе AI сложились?
Логика в том, что асинхронное общение работает, когда у вас нет дедлайнов вообще.
Так, например, устроены #random или Reddit или форумы, на которых не требуется получить "мгновенный ответ".
В личных чатах, к примеру, нет "сроков" чаще всего, поэтому там все треды/топики идут без привязки к теме. Мало, кто в личных сообщениях следует логике #тема сообщения, а к примеру чрезмерная формализация превращается в wiki, и чаще всего в бизнесовый.
По сути, все ваши "онлайн/оффлайн встречи" – это закрепление контрактов. Воспринимайте их так.
Например, вы можете обсудить фильм в личной переписке
Например, вы можете спланировать поход на фильм в личной переписке
Однако, как только вы (кто-то из вас) понимаете, что похоже за пару сообщений вопрос решить невозможно – нужна синхронная встреча (или грубо говоря это асинхронная встреча с минимальный delay).
То есть, нужно за раз согласовать "контракт" на просмотр кино. Это может быть встреча на 15 / 30 / 45 / 60 минут, всё что угодно.
Это может быть элемент Agenda на встречу, если initial вопрос составляет 5-10 минут для "контракта", а цена организации встречи занимает кратно больше, тогда ведётся collection под Agenda.
Вопрос – как понять когда?
В целом, рекомендую пользоваться следующим паттерном/приёмом/мозговой установкой:
1) Если тред набирает 5-10 сообщений, а проблема не решена → созвон на 15-20 минут
2) Если в рамках созвона контекст не удаётся собрать и решить проблему → созвон на полчаса/час под запись с уже собранным контекстом и вопросами
3) Если в рамках созвона уже с контекстом не удаётся договориться → начинается эскалация, в случае если одна система не адаптируется под другую
4) Дальше подключается фасилитатор, если и у него не выходит → эскалация продолжается
Обычно всё заканчивается на третьем шаге, работает как швейцарский нож
По тому, что зачем "записывать" встречу:
- Многие могут с вами начать спор прямо в тексте, если таких текстовых встреч ведётся тысячи параллельно, гарантия "не найти" сообщение крайне высока, а ещё текст не передаёт эмоции, "зумеры", вон, дефолтный ":)" перенесли в пассивную агрессию, в следствии, под запись под публикацию люди обычно ведут себя сдержаннее и готовятся к встрече, а если не готовы, часто идут на компроммисы, это элемент психологии в том числе темного эмпата, которая полезна для рабочего пространства.
- Многие встречи обычно проводятся "высокоуровнево" с выделением основных нарративов.
AI из встречи: "Мы идём в кино на хоррор, в выходной"
AI из переписки: "Мы идём на мультик про бетмена, в субботу в 14:00, билеты купил, ты должен 42 рубля"
Причём второй AI легко появляется при наличии первого. Так как первый и был "открытием контекста" или "топика"
По тому, что почитать на похожий нарратив как точку входа:
- Дейл Карнеги – Как выработать уверенность в себе и влиять на людей, выступая публично
- Дейл Карнеги – Как располагать к себе людей
- Дейл Карнеги – Секрет общения с людьми
- Максим Батырев – 45 татуировок менеджера
- Николай Мрочковский - Экстремальный тайм-менеджмент
- Роб Коул - Блистательный Agile
- Джон Харгрейв - Mind hacking. Как перенастроить мозг за 21 день
- Сунь Цзы - Искусство войны
- Лао Цзы - Книга пути и достоинства
🔥2
Digitable: Channel
#proprietary #ide #cursorai #development По сути очередной клон OSS, но в этот раз предлагает прикольный usability. Что под капотом? - VS Code (видать OSS, потому что не все extensions ставятся) - Прослойка к своим моделям для Tab fill, Chat with codebase…
This media is not supported in your browser
VIEW IN TELEGRAM
#opensource #ideplugins #llm #ai #aiagent #development
Очередной опен-сорсный AI плагин для IDE чтобы агенты сами за вас всё делали, а вы отдыхали
Альтернативой для Cursor AI является continue.dev, который точно так же выглядит, но просто Extension
А вот уже альтернативой к continue.dev будет cline
Такой же агент, но он уже параллелит свою работу - объясняет и сразу же редачит код
Из забавных плюсов - доступ к браузеру (на гифке есть пример)
Offtop: Осталось только найти 1.5 TB VRAM чтобы запустить DeepSeek V3 self-hosted и можно отключаться от интернетов гг
Ссылки:
- Cline: https://github.com/cline/cline
- Continue DEV: https://github.com/continuedev/continue
Очередной опен-сорсный AI плагин для IDE чтобы агенты сами за вас всё делали, а вы отдыхали
Альтернативой для Cursor AI является continue.dev, который точно так же выглядит, но просто Extension
А вот уже альтернативой к continue.dev будет cline
Такой же агент, но он уже параллелит свою работу - объясняет и сразу же редачит код
Из забавных плюсов - доступ к браузеру (на гифке есть пример)
Offtop: Осталось только найти 1.5 TB VRAM чтобы запустить DeepSeek V3 self-hosted и можно отключаться от интернетов гг
Ссылки:
- Cline: https://github.com/cline/cline
- Continue DEV: https://github.com/continuedev/continue
🔥1💯1
#memes #ai #books #deepseek #aicluster #facts
P.S:
В целом, это одна из тех книг, что может заставить Вас смеяться или глубоко задуматься. Заодно узнаете побольше про 42.
P.P.S:
DeepSeek V3 671B в исходном виде примерно требует 1.5TB VRAM для запуска self-hosted. По текущим ценникам, это примерно 500к баксов или up to 50 млн рублей.
P.P.P.S:
Можно запустить кластер из всех домашних девайсов + каких-нибудь одноплатников с парой видеокарт и DeepSeek V3 в сжатом 8B-40B может работать более чем, ссылка на утиль – https://github.com/exo-explore/exo
P.S:
В целом, это одна из тех книг, что может заставить Вас смеяться или глубоко задуматься. Заодно узнаете побольше про 42.
P.P.S:
DeepSeek V3 671B в исходном виде примерно требует 1.5TB VRAM для запуска self-hosted. По текущим ценникам, это примерно 500к баксов или up to 50 млн рублей.
P.P.P.S:
Можно запустить кластер из всех домашних девайсов + каких-нибудь одноплатников с парой видеокарт и DeepSeek V3 в сжатом 8B-40B может работать более чем, ссылка на утиль – https://github.com/exo-explore/exo
Сделал свой chrome extension, чтобы повысить вашу скорость чтения гг
Биологический хак для чтения кода: Bionic Reader для программистов
#browser #extension #opensource #speedread #bionicreader #bionicreading #programming #productivity #reading
TL;DR для занятых
- Расширение для Chrome, которое делает чтение кода и документации быстрее
- Поддерживает русский и английский языки с гибкими настройками
- Адаптивное выделение для длинных слов
- Open source, без трекеров
## Проблема
Каждый программист сталкивается с этим ежедневно:
- Тонны документации
- Километры чужого кода
- Бесконечные PR на ревью
- Статьи на Хабре по диагонали
- Технические спецификации
Мозг устает от постоянного парсинга текста. Особенно когда автор не заморочился с форматированием и структурой.
Как работает наш мозг при чтении
1. Сначала учимся читать по буквам
2. Потом по слогам
3. Дальше целыми словами
4. Продвинутые читают фразами ("дорогие дамы и господа" = один блок)
Но даже опытные читатели спотыкаются на плохо структурированном тексте. Мозгу нужны точки фиксации.
Решение: Bionic Reading с адаптивным выделением
Основная идея проста:
- Выделяем начало каждого слова жирным
- Мозг цепляется за эти "якоря"
- Достраивает остальное автоматически
- Скорость чтения увеличивается
Дополнительно:
- Для длинных слов используется адаптивное выделение
- Процент выделения зависит от длины слова
- Гибкие настройки для каждого языка
Почему моя версия
1. Работает с русским языком:
- Гибкие настройки длины выделения (2-12 символов)
- Учет особенностей языка
- Адаптивное выделение для длинных слов
2. Чистый код в функциональном стиле:
- Композиция функций через pipe
- Чистые функции
- Явное управление состоянием
- Тесты с >80% покрытием
3. Для разработчиков:
- TypeScript с строгой типизацией
- Автоматический деплой через GitHub Actions
- Semantic versioning
- Легко добавить новый язык
4. Никакого bloatware:
- В коде нет телеметрии
- Нет рекламы
- Нет freemium-ограничений
- Минимум permissions
Технические детали
Как использовать
1. Установить расширение
2. Настроить длину выделения для каждого языка
3. Profit! Теперь начало каждого слова выделено с учетом его длины
Особенно полезно для:
- Чтения документации
- Ревью кода
- Технических статей
- Спецификаций
- Любых длинных текстов
Полезные ссылки
- [Оригинальный Bionic Reading](https://bionic-reading.com/)
- [Научное обоснование](https://www.oxfordlearning.com/what-is-bionic-reading-and-why-should-you-use-it/)
- [Reddit тред с обсуждением](https://www.reddit.com/r/coolguides/comments/ut3x75/bionic_reading_does_this_help_you/)
Репозиторий: https://github.com/the-homeless-god/chrome-bionic-reader/
Страница в магазине: https://chromewebstore.google.com/detail/chrome-bionic-reader-%D0%B1%D0%B8%D0%BE%D0%BD/bofckkbophijgakfoeihfmnjfphcabhi?authuser=0&hl=ru
Биологический хак для чтения кода: Bionic Reader для программистов
#browser #extension #opensource #speedread #bionicreader #bionicreading #programming #productivity #reading
TL;DR для занятых
- Расширение для Chrome, которое делает чтение кода и документации быстрее
- Поддерживает русский и английский языки с гибкими настройками
- Адаптивное выделение для длинных слов
- Open source, без трекеров
## Проблема
Каждый программист сталкивается с этим ежедневно:
- Тонны документации
- Километры чужого кода
- Бесконечные PR на ревью
- Статьи на Хабре по диагонали
- Технические спецификации
Мозг устает от постоянного парсинга текста. Особенно когда автор не заморочился с форматированием и структурой.
Как работает наш мозг при чтении
1. Сначала учимся читать по буквам
2. Потом по слогам
3. Дальше целыми словами
4. Продвинутые читают фразами ("дорогие дамы и господа" = один блок)
Но даже опытные читатели спотыкаются на плохо структурированном тексте. Мозгу нужны точки фиксации.
Решение: Bionic Reading с адаптивным выделением
Основная идея проста:
- Выделяем начало каждого слова жирным
- Мозг цепляется за эти "якоря"
- Достраивает остальное автоматически
- Скорость чтения увеличивается
Дополнительно:
- Для длинных слов используется адаптивное выделение
- Процент выделения зависит от длины слова
- Гибкие настройки для каждого языка
Почему моя версия
1. Работает с русским языком:
- Гибкие настройки длины выделения (2-12 символов)
- Учет особенностей языка
- Адаптивное выделение для длинных слов
2. Чистый код в функциональном стиле:
- Композиция функций через pipe
- Чистые функции
- Явное управление состоянием
- Тесты с >80% покрытием
3. Для разработчиков:
- TypeScript с строгой типизацией
- Автоматический деплой через GitHub Actions
- Semantic versioning
- Легко добавить новый язык
4. Никакого bloatware:
- В коде нет телеметрии
- Нет рекламы
- Нет freemium-ограничений
- Минимум permissions
Технические детали
// Конфигурация для языков
{
languages: {
ru: {
pattern: /[а-яА-ЯёЁ]/,
boldLength: 3,
minBoldLength: 2,
maxBoldLength: 12
},
en: {
pattern: /[a-zA-Z]/,
boldLength: 2,
minBoldLength: 1,
maxBoldLength: 12
}
},
constants: {
longWordThreshold: 6,
boldPercentage: 0.3,
minBoldPercentage: 0.2,
maxBoldPercentage: 0.5
}
}
// Основная логика с адаптивным выделением
const calculateBoldLength = (word: string, language: string): number => {
if (word.length > config.constants.longWordThreshold) {
const percentLength = Math.ceil(word.length * config.constants.boldPercentage);
const minLength = Math.max(
Math.ceil(word.length * config.constants.minBoldPercentage),
config.languages[language].minBoldLength
);
const maxLength = Math.min(
Math.ceil(word.length * config.constants.maxBoldPercentage),
config.languages[language].maxBoldLength
);
return Math.min(Math.max(percentLength, minLength), maxLength);
}
return config.languages[language].boldLength;
};
Как использовать
1. Установить расширение
2. Настроить длину выделения для каждого языка
3. Profit! Теперь начало каждого слова выделено с учетом его длины
Особенно полезно для:
- Чтения документации
- Ревью кода
- Технических статей
- Спецификаций
- Любых длинных текстов
Полезные ссылки
- [Оригинальный Bionic Reading](https://bionic-reading.com/)
- [Научное обоснование](https://www.oxfordlearning.com/what-is-bionic-reading-and-why-should-you-use-it/)
- [Reddit тред с обсуждением](https://www.reddit.com/r/coolguides/comments/ut3x75/bionic_reading_does_this_help_you/)
Репозиторий: https://github.com/the-homeless-god/chrome-bionic-reader/
Страница в магазине: https://chromewebstore.google.com/detail/chrome-bionic-reader-%D0%B1%D0%B8%D0%BE%D0%BD/bofckkbophijgakfoeihfmnjfphcabhi?authuser=0&hl=ru
🔥2
Немножко доделал плагин авто-линковки для локальной базы данных / системы ведения заметок Logseq (а-ля Obsidian только open source)
#logseq #plugin #opensource #productivity #notes #i18n #russian #chinese #japanese #korean #weekenddevelopment #nightdevelopment
Что это и зачем?
Плагин который исходя из ваших предыдущих заметок позволяет создавать некоторый back-link как в Википедии
Чу поделав?
- Добавил мультиязыки
- Начал экспериментировать с NLP, плюс убрал case sensitive и так далее
GitHub: https://github.com/the-homeless-god/logseq-automatic-linker-international
https://logseq.com/
И в магазине расширений LogSeq также доступен по ключу logseq-automatic-linker-international
Всё началось с того, что я активно использовал Logseq для ведения заметок на русском языке. Плагин Automatic Linker отлично работал с английским, но с русским текстом возникали проблемы:
- Ссылки не создавались для русских слов
- Путаница с регистром букв
- Проблемы с пробелами в названиях
- Я заметил, что пользователи из Китая, Японии и Кореи сталкивались с похожими проблемами. Решил это исправить! (у челика там issue висит, а оригинальное репо мертво)
Добавил тестов и пошел переписывать
1) Добавил поддержку следующих языков:
- Русский 🇷🇺
- Китайский 🇨🇳
- Японский 🇯🇵
- Корейский 🇰🇷
- Немецкий 🇩🇪
2) Улучшил обработку:
- Unicode символов
- Смешанного текста
- Специальных символов
- Пробелов в разных языках
Основной вызов был в правильной обработке Unicode. Вот ключевой фрагмент кода:
Также починил пачку багов и ускорил загрузку
#logseq #plugin #opensource #productivity #notes #i18n #russian #chinese #japanese #korean #weekenddevelopment #nightdevelopment
Что это и зачем?
Плагин который исходя из ваших предыдущих заметок позволяет создавать некоторый back-link как в Википедии
Чу поделав?
- Добавил мультиязыки
- Начал экспериментировать с NLP, плюс убрал case sensitive и так далее
GitHub: https://github.com/the-homeless-god/logseq-automatic-linker-international
https://logseq.com/
И в магазине расширений LogSeq также доступен по ключу logseq-automatic-linker-international
Всё началось с того, что я активно использовал Logseq для ведения заметок на русском языке. Плагин Automatic Linker отлично работал с английским, но с русским текстом возникали проблемы:
- Ссылки не создавались для русских слов
- Путаница с регистром букв
- Проблемы с пробелами в названиях
- Я заметил, что пользователи из Китая, Японии и Кореи сталкивались с похожими проблемами. Решил это исправить! (у челика там issue висит, а оригинальное репо мертво)
Добавил тестов и пошел переписывать
1) Добавил поддержку следующих языков:
- Русский 🇷🇺
- Китайский 🇨🇳
- Японский 🇯🇵
- Корейский 🇰🇷
- Немецкий 🇩🇪
2) Улучшил обработку:
- Unicode символов
- Смешанного текста
- Специальных символов
- Пробелов в разных языках
Основной вызов был в правильной обработке Unicode. Вот ключевой фрагмент кода:
const parseForRegex = (s: string) => {
s = s.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&");
// Поддержка пробелов во всех языках
s = s.replace(/\s+/g, "[\\s\\u0020\\u00A0]+");
return s;
};
Также починил пачку багов и ускорил загрузку
🔥1
Forwarded from thg (Marat Zimnurov)
#speaker #conference #it #development #opensource
Пока я тут приболел, готовясь к отпуску, мой доклад заанонсирован на сайте CodeFest
Анонс доклада: https://15.codefest.ru/lecture/2893
Конфа будет в Новосибирске, с 31 мая по 1 июня
Обещают 3000+ участников.
Буду рассказывать там про монструозные отказоуйстоичивые файловые системы в веб 3.0, будет весело, подробнее в анонсе опять же https://15.codefest.ru/lecture/2893
Тг конфы: https://t.me/cdfst
Сайт конфы: https://15.codefest.ru/
Всех обнял-приподнял, schone Wochenende
Пока я тут приболел, готовясь к отпуску, мой доклад заанонсирован на сайте CodeFest
Анонс доклада: https://15.codefest.ru/lecture/2893
Конфа будет в Новосибирске, с 31 мая по 1 июня
Обещают 3000+ участников.
Буду рассказывать там про монструозные отказоуйстоичивые файловые системы в веб 3.0, будет весело, подробнее в анонсе опять же https://15.codefest.ru/lecture/2893
Тг конфы: https://t.me/cdfst
Сайт конфы: https://15.codefest.ru/
Всех обнял-приподнял, schone Wochenende
CodeFest 15 / 31 мая-1 июня 2025
Эволюция файловых систем: от Web2 к Web3 — построение отказоустойчивых децентрализованных хранилищ данных
Web3. Марат Зимнуров, Авито
🔥1
Forwarded from thg (Marat Zimnurov)
#speaker #conference #it #development #opensource
Пока я тут приболел, готовясь к майским, мой доклад заанонсирован на сайте Музея криптографии
Анонс: https://cryptography-museum.ru/events/konferencija-kriptografija-v-blokchejnah
Конфа будет 18 мая в Москве, ВДНХ
Буду рассказывать про то, как можно шифровать данные в вычислениях с помощью ген алгоритмов и фп
Там еще много всего про веб3 будет
Сайт музея: https://cryptography-museum.ru/events
Тг DeFrens: https://t.me/defrensorg
Пока я тут приболел, готовясь к майским, мой доклад заанонсирован на сайте Музея криптографии
Анонс: https://cryptography-museum.ru/events/konferencija-kriptografija-v-blokchejnah
Конфа будет 18 мая в Москве, ВДНХ
Буду рассказывать про то, как можно шифровать данные в вычислениях с помощью ген алгоритмов и фп
Там еще много всего про веб3 будет
Сайт музея: https://cryptography-museum.ru/events
Тг DeFrens: https://t.me/defrensorg
Музей Криптографии
Первый в России Музей Криптографии — о прошлом, настоящем и будущем криптографии и коммуникации
🔥1