Интеграция Chat GPT в ваше рабочее пространство, три полезные программы
Сегодня я расскажу о трех приложениях, позволяющих интегрировать Chat GPT в Mac OS, VS Code и Терминал
Первым приложением будет Raycast, это аналог Spotlight для вашей Mac OS. Это приложение с широкими возможностями и множеством плагинов, например Jira, Notion, Obsidian, Google Translator и множеством других расширений, которые можно бесплатно установить из встроенного магазина, а так же расширения можно писать самому.
Raycast имеет плагин Chat GPT, позволяющий интегрировать этого помощника прямо в ваш новый Spotlight с полными возможностями GPT. Все, что вам нужно - установить его через home brew и иметь API токен, который можно купить например за 75 рублей в интернете, если вы из России
Второе приложение - AI Shell, позволяющее писать команды в терминал своими словами. Приложение преобразует их в скрипт, который выполняется в терминале, а так же AI Shell имеет встроенный чат. Гайд по установке есть в Readme репозитория
Третье приложение - расширение для VS Code CodeGPT, данное расширение позволяет автоматически писать тесты, комментарии, искать и исправлять ошибки, а так же свободно общаться с GPT в чате внутри редактора кода
Пошаговый туториал по настройке есть на Youtube:
Linux Командная строка: Лучшие практики
Книга "Linux Командная строка: Лучшие практики" (автор - Дэниел Джей Барретт) — это исчерпывающее руководство по использованию командной строки в операционной системе Linux, которое предлагает читателю лучшие практики и советы по эффективному использованию данного инструмента.
Автор начинает книгу с объяснения преимуществ командной строки и предлагает основы работы с ней. Он рассматривает различные команды Linux, их параметры и опции, а также обучает читателя писать свои собственные скрипты команд.
Далее в книге автор обсуждает важные аспекты работы с файлами и директориями в командной строке. Он объясняет, как создавать, перемещать, копировать и удалять файлы и директории, а также детально рассматривает команду "find" и ее использование для поиска файлов на системе.
Книга также содержит главу, посвященную редактированию текста в командной строке. Автор предлагает примеры использования различных текстовых редакторов, таких как nano и vim, а также объясняет основы редактирования текстовых файлов без помощи графического интерфейса.
Далее автор продолжает глубже изучать командную строку, рассматривая более сложные темы, такие как управление процессами, настройка сети, управление пакетами и многое другое. Он также предоставляет ряд полезных советов и трюков для повышения производительности и эффективности работы в командной строке.
Основная цель книги "Linux Командная строка: Лучшие практики" состоит в том, чтобы обучить пользователей Linux использовать командную строку наиболее эффективным образом. Она адресована как начинающим, так и опытным пользователям и предлагает подробные инструкции и упражнения по освоению всех аспектов работы с командной строкой.
В целом, эта книга является незаменимым ресурсом для всех, кто хочет стать опытным пользователем Linux и использовать командную строку всей ее мощи. Она предлагает практическую информацию, примеры, советы и лучшие практики для использования командной строки в своей повседневной работе.
Книгу можно скачать в ТГ канале https://t.me/bitebusters/32
Как подготовить машину к долгой поездке
Взять с собой побольше вкусняшек, запасное колесо и знак аварийной остановки. А что сделать еще — посмотрите в нашем чек-листе. Бонусом — маршруты для отдыха, которые можно проехать даже в плохую погоду.
Регулярное выражение
Как выбрать "АБВ" (вместе с пробелами если они есть) используя только одно регулярное выражение, запуская ее отдельно по строкам:
"АБВ". Если будет строка "гггАБВ" или "АБВггг" или "гггАБВггг", то строка не должна выбираться.
"ггг АБВ"
"АБВ ггг"
"ггг АБВ ггг"
В 1м только сама строка без пробелов и без любых других символов. Т.е. если вокруг АБВ есть другие символы кроме пробелов то ее выбирать не надо.
В 2м пробел спереди.
в 3м пробел сзади.
в 4м пробел с обеих сторон.
Реверс-инжиниринг нестандартной ps/2 клавиатуры
Автор: dlinyj
Оригинальный материал
Дополнительные фото и видео в источнике материала.
Терминал VT520 c клавиатурой LK46W-A2
После моего предыдущего поста с подключением советской клавиатуры к современному ПК, я как-то заразился оригинальными клавиатурами от DEC, и уж больно хотелось их испытать в деле. И на удивление, на досках удалось найти даже клавиатуру LK201, однако для меня показалась не очень уж интересной. А вот клавиатуру Wyse 85 со свичами Cherry MX нашёл намного более стильной и крутой. Однако смущал вопрос, как же её использовать с современным железом, удобно ли будет такое расположение клавиш?
И тут мне на глаза попадается объявление с ещё одной терминальной клавиатурой LK46W-A2 которую можно подключить к обычному компьютеру по стандартному интерфейсу PS/2, но с количеством клавиш и расположением, как у LK201 с небольшими дополнениями. После того как ознакомился с информацией, принял волевое решение купить кота в мешке и попробовать эту клавиатуру с обычным ПК, а также понять, что же делают все остальные «нестандартные клавиши». Этакий реверс-инжиниринг клавиатуры.
❯ Распаковка и отмывка
Итак, спустя пару недель мне пришла посылка с этой удивительной клавиатурой. Терминал найти невозможно, а вот клавиатуру – пожалуйста.
Клавиатура LK46W-A2 собственной персоной
Удивительно хорошая сохранность, белый пластик, что редкость для таких старых устройств. Немного потёртая из-за неправильного хранения, и отсутствует одна выдвижная ножка. Наклейка сзади гласит, что это за клавиатура.
Наклейка модели
С большим трудом удалось установить, что использовалась с моделями терминалов DEC VT520 (см КДПВ). Терминал не найти, а клаву – вот, пожалуйста.
Вид снизу
Предварительное включение показало, что клавиатура рабочая, но требует водных процедур. Поэтому принял решение её разобрать. Само устройство разбирается не так просто: требуется отогнуть большое количество пластиковых защёлок, благо на корпусе изделия есть специальные технологические отверстия для отвёртки. После нескольких пассов две половинки клавиатуры разделились.
Внутри стандартная плёночная клавиатура, с резиновыми «давилками».
Что приятно удивило, что все длинные клавиши имеют металлические поддерживающие клипсы от перекоса. И все места трения смазаны густой смазкой.
Металлические клипсы
Плёнка клавиатуры прижимается к контроллеру специальной резинкой, вмонтированною в корпус клавиатуры.
Резинка для прижима контактов
Контроллер – обычная капля, 4 стандартных контакта для ps/2: Data, Clock, +5, GND.
Контроллер
После разборки, корпус клавиатуры ждала процедура купания. Не стал фотографировать, как я мою клавиатуру в ванной с мылом. Грязи вышло достаточно много.
Когда омовение прошло, прежде чем окончательно закрыть клавиатуру в корпусе, сделал тестирование работоспособности всех клавиш на резинке.
Тестирование перед закрытием
Не забываю смазать все движущие части, и окончательно собираю клавиатуру.
❯ Поиск потерянных клавиш
Если взглянуть на фотографию, и сравнить две клавиатуры, то можно заметить, что, во-первых, клавиш намного больше, а во-вторых, непонятно что эти клавиши делают. Сравните, для примера, расположение клавиш вокруг кнопки «Z».
В чём прикол?
На самом деле вас немного разыгрываю, нижняя клавиатура имеет сербскую латинскую раскладку, у которой «Y» и «Z» поменяны местами:
Если тут есть сербы, объясните мне, что за спецсимволы нанесены на клавиши и где они используются?
Главный вопрос, который меня волнует: как понять какая клавиша за что отвечает?
Изначально пытался найти хоть какую-то внятную документацию по теме, но в результате пришлось действовать методом научного тыка. Для этого пошёл на сайт en.key-test.ru и начал нажимать все клавиши, перебирая их последовательно. В результате получилась такая картинка:
Вы видите нажатую левую кнопку мыши? Это тоже реакция на нажатие одной кнопки, и, как можно заметить, практически все клавиши присутствуют на этой клавиатуре. PrtScr у меня под линуксом просто вызывало создание скриншота и не перехватывалось этим сайтом, то есть и она тоже работает.
Для своего удобства на клавиатуре расположил бумажки, с подписями, где и чего находится. Вопросами обозначены те клавиши, на которые реакции никакой не было.
На самом деле Right Ctrl
Итак, что же тут интересного:
Клавиши F13, F14, Help, Do, F17, левый Compose Character – не определены. Назначение и функциональность пока неясны.
Клавиша ESC расположена, где находится тильда "~" на обычной клавиатуре, а тильда рядом с клавишей «Z».
Функциональные клавиши типа Home, End, PageUp, PageDown, Isert и т.д. находятся в других местах, но достаточно логично. Не стал их подписывать, потому что и так можно догадаться (например, Re-move = Del, Prev = PageUp). Часть функциональных клавиш расположена на клавишах F18-F20.
Цифровой блок достаточно стандартен, кроме одной клавиши – это клавиша «минуса», она даёт странный код: "±". Да, символ «плюс-минус», который можно набрать прямо с клавиатуры, с одной клавиши (Linux Mint).
❯ Пробуем получить скан-код клавиши
Согласно стандарту, клавиатура при нажатии передаёт скан-код нажатия клавиши и скан-код «отжатия» клавиши.
Примеры скан-кодов стандартной клавиатуры
Как можно заметить, что добавление новых клавиш клавиатуры осуществляется с помощью код расширения 0xE0, и, можно предположить, что необычные клавиши этого устройства тоже будут идти через дополнительный код.
Для начала попробовал получить скан-коды неизвестных клавиш через утилиту showkey. Для этого нужно полноправно завладеть устройством ввода, без иксов. Поэтому переключаюсь на консоль комбинацией клавиш ctrl-alt-F1 и ввожу:
showkey -scancodes
И начинаю радостно жать на неизвестные клавиши, но удивительно: ничего не происходит! Те клавиши, которые мне удалось перехватить, дают корректный скан-код, а вот «тайные» — «молчат». То есть либо эти клавиши вообще не работают, либо фильтруются на уровне драйвера ядра.
Начал думаю, что же мне проще: подключить логический анализатор, либо найти другой способ получения скан-кодов нажатых клавиш? И тут я вспомнил, что у меня есть тестовая машина с DOS.
❯ Получаю скан-коды под ДОС
Синей пеленой экран заполнил чистый DOS
Мышь…
Стала вдруг квадратной, потеряла форму мышь…
Я разбил окно,
девяностопятое мастдайное окно,
И поставил DOS, и тогда увидел:
Это счастье, — вот оно.
Итак, для того чтобы получать скан-коды клавиш, нужно иметь какую-то программу, которая бы читала их из BIOS. Контроллер клавиатуры позволяет читать коды набранных клавиш из порта 0x60, осталось только это всё аккуратно написать. Для того чтобы понять, о чём я говорю, вы можете посмотреть пример на ассемблере.
Поскольку я человек ленивый, знаю, что всё давно придумано за нас, решил погуглить. У меня как раз в системе есть qbasic, значит, можно сходу найти пример приложения для него. И беглым гуглением, после нескольких тестов нашёл приложение, которое наиболее полно меня устраивает.
Не буду описывать весь код, главное, что оно читает скан-коды из порта, и в удобоваримом для меня виде выводит на экран. Вот, пример чтения кода из порта.
После того как протестировал в Dosbox, пришла пора проверить на реальном железе.
Тестовая машина с ДОС
Для своего удобства делал фотографии с именованием «неизвестной» клавиши и её кодом. Так получилось, что после запуска приложения, из буфера читается «мусорный код». Его я прикрывал бумажкой, важно, что ниже. Вот, например, нажатие левой клавиши «Compose Character».
Как я и предполагал, все они идут через код расширения 0xE0. То есть, код клавиши получается: 0xE00F. Вторая пара байт 0xE08F – это код отпускания этой клавиши (на это действие тоже есть отдельный код).
Ну и по аналогии, остальные клавиши.
Из забавного, что в ДОС даже есть какая-то скромная попытка обрабатывать нажатия на клавиши, например, реагирует на них, запуская копирование (хотя это ошибка).
Ложное срабатывание
В общем, ДОС хоть и стар, но оказывается местами даже очень полезен.
❯ А что там с документацией?
Явно найти документацию на клавиатуру модели LK46W-A2 мне не удалось. Но, когда я искал документацию на стандарт ps/2, то наткнулся на сайт Keyboard scancodes, в котором есть раздел, посвящённый клавиатурам LK411 и LK450. Нашёл это уже после прохождения всех моих мытарств, но они лишь подтвердили результаты моих экспериментов:
То есть, фактически мне это удалось подтвердить эмпирическим путём, хотя у меня немного другая модель клавиатуры.
❯ Выводы
Сравнение Wise 85 и LK46W-A2
Наверное, буду лукавить, если скажу, что текст набран именно на этой клавиатуре. Клавиши мне показались очень тугими. Но попробовал работать с ней, и достаточно быстро привык к такому вот нестандартному расположению клавиш, даже нахожу их весьма удобным и комфортным. Особенно стрелочная часть. Даже не испытывал проблем с набором текста и запуском программ. Поначалу ищешь ESC не там, где он есть. А вот расположение тильды я нахожу очень удобным.
Единственный вопрос, который остался за кадром: почему Linux фильтровал нажатия этих клавиш? Возможно ли поправить dts-файл так, чтобы ядро корректно отрабатывала нажатия этих клавиш? Добавить ими дополнительную, необходимую для комфортной работы функциональность? В общем, вопросов пока больше, чем ответов. Если опытные драйверисты есть, буду рад обсудить этот момент.
Из личного опыта такое расположение нахожу весьма удобным, и резюмируя, могу сказать что клоны клавиатур lk201, в том числе советский клон может быть использован для набора текста. Разве что потребуется программирование некоторых клавиш под свои нужды, и придётся отказаться от правого Alt и Ctrl.
Полезные ссылки:
P.S. Если вам интересно моё творчество, вы можете следить за мной ещё в телеграмме.
Подпишись на наш блог, чтобы не пропустить новые интересные посты!
Свитч gigabyte
Доброго времени суток.
Давным давно купил на аукционе свитч gugabyte gn-gsv2401M. Сейчас прям вот понадобился очень, и он работает даже в виде просто свитча, но не могу попасть в веб-морду или через com порт - не знаю пароля.
Резет не помогает. Знаю точно что логин не меняли и он admin, пароль в манах указан 123, но увы.
Возможно можно скинуть джамперами? Или микросхему надо на программаторе прошить?
Пробовал перепрошивать через Tera Term, но загрузка прекращается почти сразу и виснет. Какие варианты есть? Прошу помощи.
Фото прилагаю.
Продолжение поста «Как ограничить зарядку аккумулятора (установить порог заряда) для ноутбуков ASUS на Linux»
Нашёл более удобный способ:
скачиваем BAT файл https://github.com/tshakalekholoane/bat/releases/
копируем его в папку /usr/local/bin/
в этой папке открываем терминал
вводим команду chmod +x ./bat
далее команду bat --help
Нас интересуют три команды в самом низу:
bat threshold, sudo bat threshold 80, sudo bat persist
Последовательно их выполняем.
Вместо значения "threshold 80" можно установить "threshold 60", таким образом аккумулятор будет заряжаться до 60% .
Проверено на deb и rpm дистрибутивах (Kubuntu и Alt linux).
Ссылки на источники:
https://askubuntu.com/questions/1006778/set-battery-threshol...