/dev/AlphaSierra
Photo
4row ortholinear keyboard теперь на базе AOSP #2
Закончил работу над rc1. Клавиатура уже умеет все, что мне надо. Из интересного: управление курсором свайпами по пробелу, удаление выбранного куска свайпом по бэкспейсу, словарь с аббревиатурами для вставок шаблонных сообщений, tap-dance. Например, 2 пробела — это точка, 3 — запятая, 4 — вопросительный знак, 5 — восклицательный знак. Добавлена светлая и тёмная gruvbox. Свайп вниз работает как enter, свайп вправо переключает на слой редактирования, свайп влево меняет язык, свайп вверх — шифт/капс лок.
Удивительно, но у меня осталось даже несколько клавиш без дополнительных символов, но я пока не придумал, что еще добавить.
По поводу публикации исходников: не уверен, что кому-то эта клавиатура, кроме меня, интересна в текущем виде. Добавить загрузку кастомных раскладок и тем из файла не проблема, но не уверен, что я хочу заниматься поддержкой и решением проблем пользователей. Но если вдруг кому-то очень интересно, можете связаться со мной.
#4rowOrthoKBD
Закончил работу над rc1. Клавиатура уже умеет все, что мне надо. Из интересного: управление курсором свайпами по пробелу, удаление выбранного куска свайпом по бэкспейсу, словарь с аббревиатурами для вставок шаблонных сообщений, tap-dance. Например, 2 пробела — это точка, 3 — запятая, 4 — вопросительный знак, 5 — восклицательный знак. Добавлена светлая и тёмная gruvbox. Свайп вниз работает как enter, свайп вправо переключает на слой редактирования, свайп влево меняет язык, свайп вверх — шифт/капс лок.
Удивительно, но у меня осталось даже несколько клавиш без дополнительных символов, но я пока не придумал, что еще добавить.
По поводу публикации исходников: не уверен, что кому-то эта клавиатура, кроме меня, интересна в текущем виде. Добавить загрузку кастомных раскладок и тем из файла не проблема, но не уверен, что я хочу заниматься поддержкой и решением проблем пользователей. Но если вдруг кому-то очень интересно, можете связаться со мной.
#4rowOrthoKBD
👾7
/dev/AlphaSierra
Photo
4row ortholinear keyboard теперь на базе AOSP #3
Я удалил поддержку всех языков, кроме английского и русского, и это снизило размер apk-файла с 60 МБ до 10. Если еще пооптимизировать ресурсы, убрать всё, что связано с голосовым вводом и прочими вещами, которые я не использую, думаю, можно выиграть еще пару мегабайт.
В этой клавиатуре никогда не будет интернета ни для каких целей. Она делалась исходя из вопросов приватности. При необходимости все настройки и словари можно экспортировать и перенести на другое устройство.
Из интересного, что я заметил во время работы над проектом: Gemini шлет флаг, что клавиатуре надо переключиться в режим инкогнито, но при этом Gboard игнорирует этот флаг конкретно для Gemini, в других приложениях она переключает в нужный режим, если есть флаг.
В AOSP-клавиатуре вроде как есть реализация swipe-ввода, но при этом библиотека, которая отвечает за распознавание, проприетарная и недоступна, хотя меня оно не интересует вообще.
#4rowOrthoKBD
Я удалил поддержку всех языков, кроме английского и русского, и это снизило размер apk-файла с 60 МБ до 10. Если еще пооптимизировать ресурсы, убрать всё, что связано с голосовым вводом и прочими вещами, которые я не использую, думаю, можно выиграть еще пару мегабайт.
В этой клавиатуре никогда не будет интернета ни для каких целей. Она делалась исходя из вопросов приватности. При необходимости все настройки и словари можно экспортировать и перенести на другое устройство.
Из интересного, что я заметил во время работы над проектом: Gemini шлет флаг, что клавиатуре надо переключиться в режим инкогнито, но при этом Gboard игнорирует этот флаг конкретно для Gemini, в других приложениях она переключает в нужный режим, если есть флаг.
В AOSP-клавиатуре вроде как есть реализация swipe-ввода, но при этом библиотека, которая отвечает за распознавание, проприетарная и недоступна, хотя меня оно не интересует вообще.
#4rowOrthoKBD
👾2
/dev/AlphaSierra
Проект Omsk: гранулярный синтез Основной движок сейчас уже в целом функционирует и я начинаю планировать различные альтернативные движки. Если с аддитивным, FM и wavetable-синтезом всё относительно ясно и есть несколько open-source проектов для их реализации…
Проект Omsk: Собран первый экземпляр
Собрал первый экземпляр. Проверены midi джеки, энкодеры, кнопки, RGB. Пока что залита простенькая прошивка принимающая и отправляющая MIDI команды.
Думаю в скором времени портирую DMK под Омск.
#Omsk
Собрал первый экземпляр. Проверены midi джеки, энкодеры, кнопки, RGB. Пока что залита простенькая прошивка принимающая и отправляющая MIDI команды.
Думаю в скором времени портирую DMK под Омск.
#Omsk
👾12
/dev/AlphaSierra
Zed, Helix, Kakoune, Xi и Lapce В очередной раз решил попробовать новый редактор. Я что-то слышал и, возможно, даже пробовал несколько из этих редакторов раньше, но тогда они были довольно сырыми. Спойлер: несмотря на то, что некоторым из этих редакторов…
micro
Я очень люблю вим, я писал плагины для вима. Но я чертовски не люблю приложения, которыми невозможно пользоваться, пока ты их не допилишь плагинами и конфигами до какого-то адекватного состояния. И вим как раз из таких. Каждый раз запуск вима без конфигов — это борьба между тем, чтобы быстро поправить пару строчек на удаленной машине, и тем, чтобы ближайшие несколько часов потратить на настройку вима. Не так давно в неовим наконец добавили штатный менеджер плагинов, и я надеюсь, что через несколько лет мы сможем избавиться хотя бы от зоопарка менеджеров плагинов. Другая проблема вима — что как только ты поставил все, что тебе нужно, вим заметно начинает проседать по скорости и приходится настраивать ленивый запуск плагинов для каждого типа файла. И даже со всеми этими плагинами и конфигами вим все еще очень плохая ИДЕ, это хороший редактор, но делать из него ИДЕ — значит выкинуть все те плюсы, которые он несет как редактор, и получить очень перегруженный редактор со странными хоткеями и плашкой ИДЕ, прибитой где-то в углу на ржавом гвозде. И тут мы подходим к главной проблеме вима: без постоянной практики хоткеи вима просто забываются, а так называемые вим-моды в других приложениях, как правило, просто фикция, никто не заходит дальше банального назначения стрелочек на HJKL. А еще в неовиме очень много ЛУА, слишком много. Не то чтобы есть какое-то допустимое количество ЛУА, но в неовиме его кратно больше.
И вроде как все это должен решать хеликс, который из коробки похож на адекватный редактор. Проблема в том, что он похож на вим, то есть это не проблема, проблема именно что он похож, но при этом он абсолютно другой и команды в нем другие и строятся по другому принципу, после десятилетий вима мозг просто ломается и не понимает, почему в чем-то, что выглядит как вим, крякает как вим, не работают вимовские команды. Не то чтобы вимовские команды хорошие или логичные, конечно же нет, просто они уже в мышечной памяти как йцукен-раскладка. Представьте, что вы проснулись в мире, где у вас не йцукен, а, скажем, йбукен, вроде одна буква, но привычку ломает очень сильно.
Емакс примерно как вим, надо пилить очень сильно, очень странные бинды, лисп, но при этом оно еще и слишком перегруженное, недаром говорят, что емакс — это не редактор, а операционная система.
Нано в целом примерно с теми же проблемами с юзабилити, только его даже особо перепилить под себя не выйдет.
И вот мы подходим к micro, ради которого писался этот пост. В нем, конечно, есть и луа, и джосон, но при этом он из коробки пытается дать привычный опыт, в нем ctrl-c — это копирование, а ctrl-v — это вставка. Из коробки подсветка синтаксиса. Из минусов можно отметить, что не очень много плагинов и в целом функционал очень минималистичный, но все, что требуется от простого консольного редактора, он умеет. Этот пост по традиции написан в герое этого поста.
Я очень люблю вим, я писал плагины для вима. Но я чертовски не люблю приложения, которыми невозможно пользоваться, пока ты их не допилишь плагинами и конфигами до какого-то адекватного состояния. И вим как раз из таких. Каждый раз запуск вима без конфигов — это борьба между тем, чтобы быстро поправить пару строчек на удаленной машине, и тем, чтобы ближайшие несколько часов потратить на настройку вима. Не так давно в неовим наконец добавили штатный менеджер плагинов, и я надеюсь, что через несколько лет мы сможем избавиться хотя бы от зоопарка менеджеров плагинов. Другая проблема вима — что как только ты поставил все, что тебе нужно, вим заметно начинает проседать по скорости и приходится настраивать ленивый запуск плагинов для каждого типа файла. И даже со всеми этими плагинами и конфигами вим все еще очень плохая ИДЕ, это хороший редактор, но делать из него ИДЕ — значит выкинуть все те плюсы, которые он несет как редактор, и получить очень перегруженный редактор со странными хоткеями и плашкой ИДЕ, прибитой где-то в углу на ржавом гвозде. И тут мы подходим к главной проблеме вима: без постоянной практики хоткеи вима просто забываются, а так называемые вим-моды в других приложениях, как правило, просто фикция, никто не заходит дальше банального назначения стрелочек на HJKL. А еще в неовиме очень много ЛУА, слишком много. Не то чтобы есть какое-то допустимое количество ЛУА, но в неовиме его кратно больше.
И вроде как все это должен решать хеликс, который из коробки похож на адекватный редактор. Проблема в том, что он похож на вим, то есть это не проблема, проблема именно что он похож, но при этом он абсолютно другой и команды в нем другие и строятся по другому принципу, после десятилетий вима мозг просто ломается и не понимает, почему в чем-то, что выглядит как вим, крякает как вим, не работают вимовские команды. Не то чтобы вимовские команды хорошие или логичные, конечно же нет, просто они уже в мышечной памяти как йцукен-раскладка. Представьте, что вы проснулись в мире, где у вас не йцукен, а, скажем, йбукен, вроде одна буква, но привычку ломает очень сильно.
Емакс примерно как вим, надо пилить очень сильно, очень странные бинды, лисп, но при этом оно еще и слишком перегруженное, недаром говорят, что емакс — это не редактор, а операционная система.
Нано в целом примерно с теми же проблемами с юзабилити, только его даже особо перепилить под себя не выйдет.
И вот мы подходим к micro, ради которого писался этот пост. В нем, конечно, есть и луа, и джосон, но при этом он из коробки пытается дать привычный опыт, в нем ctrl-c — это копирование, а ctrl-v — это вставка. Из коробки подсветка синтаксиса. Из минусов можно отметить, что не очень много плагинов и в целом функционал очень минималистичный, но все, что требуется от простого консольного редактора, он умеет. Этот пост по традиции написан в герое этого поста.
GitHub
GitHub - micro-editor/micro: A modern and intuitive terminal-based text editor
A modern and intuitive terminal-based text editor. Contribute to micro-editor/micro development by creating an account on GitHub.
👾7
/dev/AlphaSierra
DMK #8 Выложил загрузчик для Миландра на github. Там есть подробная инструкция, что с ним делать. Также там есть пример Blink, адаптированный под этот загрузчик. И конечно же этот загрузчик уже интегрирован в DMK. Протестировал VIAL и RGB на nRF52840. Остается…
DMK #9 MIDI
В QMK/VIAL есть поддержка MIDI, проблема в том, что она довольно ограниченная: можно слать MIDI-ноты, можно слать десяток MIDI-команд, на этом всё. Даже назначить MIDI CC на энкодер адекватно нельзя. Честно говоря, не уверен, зачем вообще MIDI нужно в таком виде. В DMK же реализовано всё куда более полноценно. Есть MIDI TOGGLE, можно слать абсолютные или относительные значения с помощью энкодера, можно назначить на нажатие посыл MIDI CC с определенным значением, при отпускании будет послан 0. Проблема в том, что всё это настроить с помощью VIAL не получится. Я, конечно, добавил обходной путь в виде кастомных кейкодов, проблема в том, что в VIAL есть ограничение на количество таких кейкодов. Если вам не нужно MIDI, то спешу вас успокоить: MIDI-функционал включается отдельным флагом, вся его документация находится в отдельных файлах, так что, если оно вам не надо, вы его даже не заметите. Также в DMK добавлена поддержка энкодеров. Все 4 энкодера Омска прекрасно работают. Пока что MIDI и энкодеры протестированы на RP2040/RP2350.
#DMK
В QMK/VIAL есть поддержка MIDI, проблема в том, что она довольно ограниченная: можно слать MIDI-ноты, можно слать десяток MIDI-команд, на этом всё. Даже назначить MIDI CC на энкодер адекватно нельзя. Честно говоря, не уверен, зачем вообще MIDI нужно в таком виде. В DMK же реализовано всё куда более полноценно. Есть MIDI TOGGLE, можно слать абсолютные или относительные значения с помощью энкодера, можно назначить на нажатие посыл MIDI CC с определенным значением, при отпускании будет послан 0. Проблема в том, что всё это настроить с помощью VIAL не получится. Я, конечно, добавил обходной путь в виде кастомных кейкодов, проблема в том, что в VIAL есть ограничение на количество таких кейкодов. Если вам не нужно MIDI, то спешу вас успокоить: MIDI-функционал включается отдельным флагом, вся его документация находится в отдельных файлах, так что, если оно вам не надо, вы его даже не заметите. Также в DMK добавлена поддержка энкодеров. Все 4 энкодера Омска прекрасно работают. Пока что MIDI и энкодеры протестированы на RP2040/RP2350.
#DMK
👾3
/dev/AlphaSierra
Проект Omsk: Собран первый экземпляр Собрал первый экземпляр. Проверены midi джеки, энкодеры, кнопки, RGB. Пока что залита простенькая прошивка принимающая и отправляющая MIDI команды. Думаю в скором времени портирую DMK под Омск. #Omsk
Проект Omsk: Прошивки готовы
Сейчас доступно 4 прошивки: DMK, omsk_midi, omsk_wave, omsk_grain. Про возможности DMK написано буквально в предыдущем посте. omsk_midi — это простая демка, превращающая Омск в миди-контроллер. Оставшиеся 2 прошивки уже намного интереснее: omsk_wave — это полноценный многоголосый уэйвтейбл-синтезатор с возможностью роутинга модуляции и фильтров. А omsk_grain — это гранулярный синтезатор с 4 голосами, всё с теми же возможностями по роутингу модуляции и управлению по миди. У обоих прошивок есть возможность управлять любым параметром по миди, есть возможность загружать пресеты в энергонезависимую память.
Предвидя вопросы, сразу скажу, что объединить эти прошивки в одну невозможно. В одной место в ПЗУ тратится на хранение семплов, а в omsk_wave место тратится на хранение LUT-таблиц для фильтров, wavetable и прочих констант. Сейчас прошивки насколько это возможно унифицированы между собой, все общие фрагменты вытащены в библиотеку, но из-за некоторых архитектурных особенностей различается реализация вывода звука, огибающих и модуляторов, поэтому это всё еще довольно разные прошивки. В ближайших планах — сделать веб-конфигуратор, чтобы крутить параметры, выгружать и загружать пресеты из браузера.
Теоретически прошивка собирается и на rp2040, omsk_grain (правда, в два раза меньше количеством семплов, потому что памяти на rp2040 zero в два раза меньше), однако насколько оно работоспособно — вопрос открытый. С прошивкой omsk_wave сложнее. Потому что сейчас она не влезает в память rp2040 zero, и я, честно, не уверен, что с этим можно сделать. Можно считать некоторые параметры на лету вместо того, чтобы смотреть в таблицу, но rp2040 медленнее, чем rp2350, поэтому шансы, что оно будет адекватно работать, довольно призрачные. Можно портировать pra32 прошивку nizkotono, она, конечно, значительно проще, но зато она оптимизирована под рп2040 и без проблем влезает в 2мб.
#Omsk
Сейчас доступно 4 прошивки: DMK, omsk_midi, omsk_wave, omsk_grain. Про возможности DMK написано буквально в предыдущем посте. omsk_midi — это простая демка, превращающая Омск в миди-контроллер. Оставшиеся 2 прошивки уже намного интереснее: omsk_wave — это полноценный многоголосый уэйвтейбл-синтезатор с возможностью роутинга модуляции и фильтров. А omsk_grain — это гранулярный синтезатор с 4 голосами, всё с теми же возможностями по роутингу модуляции и управлению по миди. У обоих прошивок есть возможность управлять любым параметром по миди, есть возможность загружать пресеты в энергонезависимую память.
Предвидя вопросы, сразу скажу, что объединить эти прошивки в одну невозможно. В одной место в ПЗУ тратится на хранение семплов, а в omsk_wave место тратится на хранение LUT-таблиц для фильтров, wavetable и прочих констант. Сейчас прошивки насколько это возможно унифицированы между собой, все общие фрагменты вытащены в библиотеку, но из-за некоторых архитектурных особенностей различается реализация вывода звука, огибающих и модуляторов, поэтому это всё еще довольно разные прошивки. В ближайших планах — сделать веб-конфигуратор, чтобы крутить параметры, выгружать и загружать пресеты из браузера.
Теоретически прошивка собирается и на rp2040, omsk_grain (правда, в два раза меньше количеством семплов, потому что памяти на rp2040 zero в два раза меньше), однако насколько оно работоспособно — вопрос открытый. С прошивкой omsk_wave сложнее. Потому что сейчас она не влезает в память rp2040 zero, и я, честно, не уверен, что с этим можно сделать. Можно считать некоторые параметры на лету вместо того, чтобы смотреть в таблицу, но rp2040 медленнее, чем rp2350, поэтому шансы, что оно будет адекватно работать, довольно призрачные. Можно портировать pra32 прошивку nizkotono, она, конечно, значительно проще, но зато она оптимизирована под рп2040 и без проблем влезает в 2мб.
#Omsk
👾6
Наброски 31: M-Vave FM-1
Компания M-Vave, которая в основном известна бюджетными МИДИ контроллерами выпустила своей первый мини синтезатор. Справедливости ради, в их старших миди контроллерах (SMK-37 Pro) уже был простенький режим синтезатора и вот теперь полноценный синтезатор. В отличии от всего того что делает в таком размере KORG, Rolland и behringer у него стоит полноценный цветной экран, есть нескольцо цветовых решений корпуса, есть bt и все это по цене в 4 раза меньше.
Но самое интересно это то что внутри используется чип JieLi AC791N. У него 2 ядра по 320МГц, 587 кб ОЗУ, есть wifi и bt и даже какая-то документация есть. В теории ничего не мешает сделать свою открытую прошивку для этого чип, а даже если чип залочен, можно сделать плату со своим микроконтроллером и это все еще дешевле других мини синтезаторов. Благодаря большому дисплею можно сделать нормальную навигацию по меню
#Наброски
#FM1
Компания M-Vave, которая в основном известна бюджетными МИДИ контроллерами выпустила своей первый мини синтезатор. Справедливости ради, в их старших миди контроллерах (SMK-37 Pro) уже был простенький режим синтезатора и вот теперь полноценный синтезатор. В отличии от всего того что делает в таком размере KORG, Rolland и behringer у него стоит полноценный цветной экран, есть нескольцо цветовых решений корпуса, есть bt и все это по цене в 4 раза меньше.
Но самое интересно это то что внутри используется чип JieLi AC791N. У него 2 ядра по 320МГц, 587 кб ОЗУ, есть wifi и bt и даже какая-то документация есть. В теории ничего не мешает сделать свою открытую прошивку для этого чип, а даже если чип залочен, можно сделать плату со своим микроконтроллером и это все еще дешевле других мини синтезаторов. Благодаря большому дисплею можно сделать нормальную навигацию по меню
#Наброски
#FM1
👾6
/dev/AlphaSierra
Проект Omsk: Прошивки готовы Сейчас доступно 4 прошивки: DMK, omsk_midi, omsk_wave, omsk_grain. Про возможности DMK написано буквально в предыдущем посте. omsk_midi — это простая демка, превращающая Омск в миди-контроллер. Оставшиеся 2 прошивки уже намного…
Проект Omsk: FM синтез
До недавнего времени я очень скептически относился к FM-синтезу, то есть я понимал, как он работает, но он мне казался очень ограниченным, потому как в отличие от модульного аддитивного синтезатора, в котором, конечно, есть и AM, и FM, и RM модуляции, ограничивать себя только одной модуляцией, еще и всего с 32 патчами, казалось довольно глупо, при том что на выходе звук все равно получается что-то между колокольчиками и струнными.
В защиту FM-синтезаторов, конечно, надо сказать, что вокруг Yamaha DX7 действительно очень большое комьюнити, и если выбирать среди самых влиятельных синтезаторов одну модель (не производителя, а именно модель), DX7 будет на лидирующих позициях. И это заметно даже при работе над синтезатором: есть документация о том, как устроены программы и картриджи DX7, есть прекрасные открытые софтовые эмуляторы, с которыми удобно сравнивать звучание. Не могу сказать, что я проникся FM-синтезом, но точно стал менее скептичным.
Про саму прошивку не знаю что сказать: есть возможность импортировать пресеты по MIDI, можно крутить патчи прямо на синтезаторе, интерфейс аналогичен прошивке с аддитивным синтезом. Добавлен тот же секвенсор, арпеджиатор, и все, что можно было перенести из аддитивной прошивки, было перенесено. Сейчас, по сути, все прошивки максимально приводятся к единой кодовой базе. Впереди еще гигантское количество работы с документацией. Одно дело — написать инструкцию по сборке, другое дело — писать полноценный юзер-гайд по нескольким прошивкам сразу. Работы над корпусом для Омска еще ведутся.
Если вас заинтересовал Омск, вы знаете, что делать
#Omsk
До недавнего времени я очень скептически относился к FM-синтезу, то есть я понимал, как он работает, но он мне казался очень ограниченным, потому как в отличие от модульного аддитивного синтезатора, в котором, конечно, есть и AM, и FM, и RM модуляции, ограничивать себя только одной модуляцией, еще и всего с 32 патчами, казалось довольно глупо, при том что на выходе звук все равно получается что-то между колокольчиками и струнными.
В защиту FM-синтезаторов, конечно, надо сказать, что вокруг Yamaha DX7 действительно очень большое комьюнити, и если выбирать среди самых влиятельных синтезаторов одну модель (не производителя, а именно модель), DX7 будет на лидирующих позициях. И это заметно даже при работе над синтезатором: есть документация о том, как устроены программы и картриджи DX7, есть прекрасные открытые софтовые эмуляторы, с которыми удобно сравнивать звучание. Не могу сказать, что я проникся FM-синтезом, но точно стал менее скептичным.
Про саму прошивку не знаю что сказать: есть возможность импортировать пресеты по MIDI, можно крутить патчи прямо на синтезаторе, интерфейс аналогичен прошивке с аддитивным синтезом. Добавлен тот же секвенсор, арпеджиатор, и все, что можно было перенести из аддитивной прошивки, было перенесено. Сейчас, по сути, все прошивки максимально приводятся к единой кодовой базе. Впереди еще гигантское количество работы с документацией. Одно дело — написать инструкцию по сборке, другое дело — писать полноценный юзер-гайд по нескольким прошивкам сразу. Работы над корпусом для Омска еще ведутся.
Если вас заинтересовал Омск, вы знаете, что делать
#Omsk
👾11
/dev/AlphaSierra
Наброски 31: M-Vave FM-1
Наброски 32: РИСАТЕНО на ПЛИС?
Раз уж никому не нравится идея сделать РИСАТЕНО на 6502, то может быть кого-то заинтересует РИСАТЕНО на ПЛИС в минималистичной обвязке. Сейчас найти бюджетную ПЛИС в каком-нибудь компактном корпусе вроде qfn48 не составляет никакой проблемы, примеры реализации USB тоже имеются, в целом даже ничего не мешает эмулировать atmega 32u4 чтобы на нее потом накатить QMK.
#PNCATEHO
#Наброски
Раз уж никому не нравится идея сделать РИСАТЕНО на 6502, то может быть кого-то заинтересует РИСАТЕНО на ПЛИС в минималистичной обвязке. Сейчас найти бюджетную ПЛИС в каком-нибудь компактном корпусе вроде qfn48 не составляет никакой проблемы, примеры реализации USB тоже имеются, в целом даже ничего не мешает эмулировать atmega 32u4 чтобы на нее потом накатить QMK.
#PNCATEHO
#Наброски
GitHub
GitHub - WangXuan95/FPGA-USB-Device: An FPGA-based USB 1.1 (full-speed) device core to implement USB-serial, USB-camera, USB-audio…
An FPGA-based USB 1.1 (full-speed) device core to implement USB-serial, USB-camera, USB-audio, USB-hid, etc. It requires only 3 FPGA common IOs rather than additional chips. 基于FPGA的USB 1.1 (full-sp...
👾5
macOS tiling window manager
Я понимаю, что такое тайлинг, я его люблю и использую. Мне не очень нравится BSP-концепция, потому что окна меньше половины, ну, может быть, четверти экрана, уже невозможно нормально использовать. Мне ближе концепция niri. Но это не столь принципиально. Наверное, одна из главных проблем тайлинга — это то, что приложения о нем ничего не знают. У каждого первого приложения есть какие-то свои минимальные размеры окна, есть огромное количество плавающих окон, и чтобы это все хоть немного приемлемо выглядело, нужно под все это писать правила.
Изначально я хотел мак именно как UNIX-like OS, которая работает. И во многих аспектах это действительно так и есть, но тайлинга на маке в адекватном виде нет, да и просто управление окнами реализовано из рук вон плохо. Думаю, надо сразу оговориться, что у меня несколько дисплеев и они не расположены в одну цепочку.
Из-за того, что в macOS приложениям не дают прямого контроля над рабочими столами, все тайловые менеджеры вынуждены использовать различные костыли. Кто-то шлет хоткеи для эмуляции действий пользователя, кто-то скрывает окна за пределами видимой зоны монитора, и все это хоть как-то работает, пока используется только один монитор, а как только их становится больше — начинаются проблемы.
Я попробовал огромное количество вариантов (возможно, какие-то забыл упомянуть):
* rift
* aerospace
* flashspace
* amethyst
* nehir
* komorebi
* paneru
* omniwm
* yabai
* glide
В этом списке много действительно замечательных проектов. Но они отказываются адекватно работать в моем сетапе с несколькими мониторами. При этом большинство из них прекрасно работают с одним монитором. Проблема с несколькими мониторами заключается в том, что многие WM не пытаются через костыли использовать рабочие столы macOS, они делают свою реализацию, и при этом при переходе на новый виртуальный рабочий стол другие приложения прячутся за границей видимой области экрана, что и приводит к проблемам в моем сетапе.
Если бы я работал только с одним дисплеем, я бы, конечно, выбрал что-то другое, но единственные адекватные варианты, которые работают в моем сетапе, — это yabai и glide. Они используют нативные рабочие столы macOS. glide не позволяет переносить приложения между рабочими столами. А для полноценного функционирования yabai требуется отключение SIP, чтобы yabai мог добавлять и убирать рабочие столы. А также я не могу задать ограничения на минимальную ширину приложений. Мне также не нравится подход сборки WM из кубиков. Сам по себе yabai не позволяет назначать хоткеи, не выводит в трей номер текущего воркспейса. Но это все равно лучшее, что я пробовал на macOS.
#macOS
Я понимаю, что такое тайлинг, я его люблю и использую. Мне не очень нравится BSP-концепция, потому что окна меньше половины, ну, может быть, четверти экрана, уже невозможно нормально использовать. Мне ближе концепция niri. Но это не столь принципиально. Наверное, одна из главных проблем тайлинга — это то, что приложения о нем ничего не знают. У каждого первого приложения есть какие-то свои минимальные размеры окна, есть огромное количество плавающих окон, и чтобы это все хоть немного приемлемо выглядело, нужно под все это писать правила.
Изначально я хотел мак именно как UNIX-like OS, которая работает. И во многих аспектах это действительно так и есть, но тайлинга на маке в адекватном виде нет, да и просто управление окнами реализовано из рук вон плохо. Думаю, надо сразу оговориться, что у меня несколько дисплеев и они не расположены в одну цепочку.
Из-за того, что в macOS приложениям не дают прямого контроля над рабочими столами, все тайловые менеджеры вынуждены использовать различные костыли. Кто-то шлет хоткеи для эмуляции действий пользователя, кто-то скрывает окна за пределами видимой зоны монитора, и все это хоть как-то работает, пока используется только один монитор, а как только их становится больше — начинаются проблемы.
Я попробовал огромное количество вариантов (возможно, какие-то забыл упомянуть):
* rift
* aerospace
* flashspace
* amethyst
* nehir
* komorebi
* paneru
* omniwm
* yabai
* glide
В этом списке много действительно замечательных проектов. Но они отказываются адекватно работать в моем сетапе с несколькими мониторами. При этом большинство из них прекрасно работают с одним монитором. Проблема с несколькими мониторами заключается в том, что многие WM не пытаются через костыли использовать рабочие столы macOS, они делают свою реализацию, и при этом при переходе на новый виртуальный рабочий стол другие приложения прячутся за границей видимой области экрана, что и приводит к проблемам в моем сетапе.
Если бы я работал только с одним дисплеем, я бы, конечно, выбрал что-то другое, но единственные адекватные варианты, которые работают в моем сетапе, — это yabai и glide. Они используют нативные рабочие столы macOS. glide не позволяет переносить приложения между рабочими столами. А для полноценного функционирования yabai требуется отключение SIP, чтобы yabai мог добавлять и убирать рабочие столы. А также я не могу задать ограничения на минимальную ширину приложений. Мне также не нравится подход сборки WM из кубиков. Сам по себе yabai не позволяет назначать хоткеи, не выводит в трей номер текущего воркспейса. Но это все равно лучшее, что я пробовал на macOS.
#macOS
👾2
/dev/AlphaSierra
4row ortholinear keyboard теперь на базе AOSP #3 Я удалил поддержку всех языков, кроме английского и русского, и это снизило размер apk-файла с 60 МБ до 10. Если еще пооптимизировать ресурсы, убрать всё, что связано с голосовым вводом и прочими вещами,…
4row ortholinear keyboard теперь на базе AOSP (kazuar) #4: релиз
У проекта появилось какое-то понятное имя и иконки. Я не то чтобы горел желанием выкладывать проект, но раз сразу несколько людей заинтересовались, то почему бы и не выложить.
В проекте есть возможность загружать темы и раскладки из файлов (вся документация лежит в репозитории). Но я особо не тестировал эту часть, так что если будут какие-то проблемы собщайте.
Текущее состояние проекта вполне работоспособное, хотя имеются некоторые шероховатости.
github
#4rowOrthoKBD
#kazuar
У проекта появилось какое-то понятное имя и иконки. Я не то чтобы горел желанием выкладывать проект, но раз сразу несколько людей заинтересовались, то почему бы и не выложить.
В проекте есть возможность загружать темы и раскладки из файлов (вся документация лежит в репозитории). Но я особо не тестировал эту часть, так что если будут какие-то проблемы собщайте.
Текущее состояние проекта вполне работоспособное, хотя имеются некоторые шероховатости.
github
#4rowOrthoKBD
#kazuar
👾6
/dev/AlphaSierra
Наброски 32: РИСАТЕНО на ПЛИС? Раз уж никому не нравится идея сделать РИСАТЕНО на 6502, то может быть кого-то заинтересует РИСАТЕНО на ПЛИС в минималистичной обвязке. Сейчас найти бюджетную ПЛИС в каком-нибудь компактном корпусе вроде qfn48 не составляет…
Наброски 33: R36S (S от Synth)
Уже 3 года на рынке есть китайская игровая консоль на Rockchip RK3326 (4х1.5 ГГц) с 1 Гб ОЗУ, и все это за $20. Меня не особо интересует, чего она там эмулирует, мне куда интереснее, что внутри всего этого крутится Linux. В старших версиях еще есть чип Wi-Fi, но, к сожалению, это просто юсб-свисток, распаянный на плате, который сидит на шине USB OTG. BT нет ни в каком виде, то есть подключить сеть и клавиатуру к нему толком не выйдет, а значит, как линукс-машина оно не очень полезно. Однако если посмотреть на это устройство как на синтезатор, все становится сильно интереснее. Безусловно, мощности, чтобы крутить какой-нибудь VITAL, у него не хватит, однако он заметно мощнее любых микроконтроллеров, а его USB OTG можно использовать для подключения MIDI-клавиатуры и, скажем, использовать стики для управления модуляцией, а кнопки — для переключения режимов. Cтеп-секвенсер, семплер, трекер можно использова без клавиатуры, а семплы можно хранить на microSD.
#Наброски
Уже 3 года на рынке есть китайская игровая консоль на Rockchip RK3326 (4х1.5 ГГц) с 1 Гб ОЗУ, и все это за $20. Меня не особо интересует, чего она там эмулирует, мне куда интереснее, что внутри всего этого крутится Linux. В старших версиях еще есть чип Wi-Fi, но, к сожалению, это просто юсб-свисток, распаянный на плате, который сидит на шине USB OTG. BT нет ни в каком виде, то есть подключить сеть и клавиатуру к нему толком не выйдет, а значит, как линукс-машина оно не очень полезно. Однако если посмотреть на это устройство как на синтезатор, все становится сильно интереснее. Безусловно, мощности, чтобы крутить какой-нибудь VITAL, у него не хватит, однако он заметно мощнее любых микроконтроллеров, а его USB OTG можно использовать для подключения MIDI-клавиатуры и, скажем, использовать стики для управления модуляцией, а кнопки — для переключения режимов. Cтеп-секвенсер, семплер, трекер можно использова без клавиатуры, а семплы можно хранить на microSD.
#Наброски
👾8
День когда умерла музыка, год, когда родился джаз
03.02.1959 года борт номер N3794N потерпел крушение в Айове, унеся жизни музыкантов Бадди Холли, Ричи Валенса и Биг Боппера, а также пилота Роджера Питерсона.
Перебирая коллекцию, я обнаружил, что подозрительно много альбомов, которые определили звучание джаза, да и музыки в целом, вышли приблизительно в 1959 году. Например: «Time Out», «Kind Of Blue», «The Shape Of Jazz To Come», «Moanin'», «Things Are Getting Better», «Mingus Ah Um», «Side by Side», «Back to Back», «Giant Steps»... Список еще действительно длинный.
Чтобы хоть как-то проверить гипотезу, я начал пытаться собирать статистику. Нашел несколько относительно известных сайтов, взял их рейтинг лучших пластинок и начал строить статистику: чем выше место, тем больше баллов. По итогу получил большой график, где в целом видно, что я не сильно заблуждался. Если не брать во внимание смерть Бадди Холли, единственное заметное событие, связанное с музыкой, — это появление стереовинила в 1957 году.
03.02.1959 года борт номер N3794N потерпел крушение в Айове, унеся жизни музыкантов Бадди Холли, Ричи Валенса и Биг Боппера, а также пилота Роджера Питерсона.
Перебирая коллекцию, я обнаружил, что подозрительно много альбомов, которые определили звучание джаза, да и музыки в целом, вышли приблизительно в 1959 году. Например: «Time Out», «Kind Of Blue», «The Shape Of Jazz To Come», «Moanin'», «Things Are Getting Better», «Mingus Ah Um», «Side by Side», «Back to Back», «Giant Steps»... Список еще действительно длинный.
Чтобы хоть как-то проверить гипотезу, я начал пытаться собирать статистику. Нашел несколько относительно известных сайтов, взял их рейтинг лучших пластинок и начал строить статистику: чем выше место, тем больше баллов. По итогу получил большой график, где в целом видно, что я не сильно заблуждался. Если не брать во внимание смерть Бадди Холли, единственное заметное событие, связанное с музыкой, — это появление стереовинила в 1957 году.
👾5
/dev/AlphaSierra
Наброски 33: R36S (S от Synth) Уже 3 года на рынке есть китайская игровая консоль на Rockchip RK3326 (4х1.5 ГГц) с 1 Гб ОЗУ, и все это за $20. Меня не особо интересует, чего она там эмулирует, мне куда интереснее, что внутри всего этого крутится Linux. В…
Наброски 34: Клавиатура на стиках
Можно попробовать сделать из этого устройства cyberdeck, используя стики в качестве клавиатуры. Даже если оставить стику 3 направления, это уже 24 кнопки из комбинаций двух стиков. А ведь еще есть 4 задние кнопки и 11 кнопок спереди. Если использовать 8 направлений стиков, то это 81 сочетание, тогда задние кнопки можно использовать как модификаторы. Не думаю, что будет очень быстро или удобно, но опыт, конечно, интересный можно получить.
#Наброски
Можно попробовать сделать из этого устройства cyberdeck, используя стики в качестве клавиатуры. Даже если оставить стику 3 направления, это уже 24 кнопки из комбинаций двух стиков. А ведь еще есть 4 задние кнопки и 11 кнопок спереди. Если использовать 8 направлений стиков, то это 81 сочетание, тогда задние кнопки можно использовать как модификаторы. Не думаю, что будет очень быстро или удобно, но опыт, конечно, интересный можно получить.
#Наброски
👾5
/dev/AlphaSierra
micro Я очень люблю вим, я писал плагины для вима. Но я чертовски не люблю приложения, которыми невозможно пользоваться, пока ты их не допилишь плагинами и конфигами до какого-то адекватного состояния. И вим как раз из таких. Каждый раз запуск вима без конфигов…
micro: плагины
Выложил два своих плагина. Они оба формально являются форками чужих плагинов, но они сильно переработаны как в концепции, так и по реализации.
action позволяет запускать любую консольную команду из fzf-списка, или по хоткею, или при сохранении файла.
opener позволяет выбрать с помощью fzf локальный файл из папки проекта или открыть нужный файл, используя путь. Также есть команда для открытия недавних файлов.
micro-action
micro-opener
Выложил два своих плагина. Они оба формально являются форками чужих плагинов, но они сильно переработаны как в концепции, так и по реализации.
action позволяет запускать любую консольную команду из fzf-списка, или по хоткею, или при сохранении файла.
opener позволяет выбрать с помощью fzf локальный файл из папки проекта или открыть нужный файл, используя путь. Также есть команда для открытия недавних файлов.
micro-action
micro-opener
👾3
che: Анонс
Мне очень нравится TotalCMD, по удобству работы с ним ничто не сравнится. Разве что, может быть, far, обвешанный кучей плагинов. Но проблема в том, что они оба windows only. Все кроссплатформенные ФМ делали люди, никогда не работавшие с файлами, но об этом мы поговорим в следующих постах. Пока что просто анонсирую разработку кроссплатформенного фм-менеджера на базе yazi. Почему именно он? Дело не в том, что мне нравятся терминальные фм или близка концепция yazi, просто мне кажется, что проще отрабатывать концепции и логику на tui и только потом уже думать о gui, а yazi — относительно функциональный фм.
На текущий момент реализована двухпанельность с поддержкой мыши, реализован нормальный multi rename, изменена система переименования, добавлено превью на второй панели, интегрирован плагин превью музыки, реализована система копирования файла (не пути, файла) в буфер обмена штатным образом для всех ОС. Мне бы хотелось при всех своих изменениях сохранить поддержку родных плагинов yazi.
#che
Мне очень нравится TotalCMD, по удобству работы с ним ничто не сравнится. Разве что, может быть, far, обвешанный кучей плагинов. Но проблема в том, что они оба windows only. Все кроссплатформенные ФМ делали люди, никогда не работавшие с файлами, но об этом мы поговорим в следующих постах. Пока что просто анонсирую разработку кроссплатформенного фм-менеджера на базе yazi. Почему именно он? Дело не в том, что мне нравятся терминальные фм или близка концепция yazi, просто мне кажется, что проще отрабатывать концепции и логику на tui и только потом уже думать о gui, а yazi — относительно функциональный фм.
На текущий момент реализована двухпанельность с поддержкой мыши, реализован нормальный multi rename, изменена система переименования, добавлено превью на второй панели, интегрирован плагин превью музыки, реализована система копирования файла (не пути, файла) в буфер обмена штатным образом для всех ОС. Мне бы хотелось при всех своих изменениях сохранить поддержку родных плагинов yazi.
#che
👾12