Рубрика: blog

  • Установка разрешения на мониторе через терминал на Ubuntu 18+

    Привет. Я тут запилил простой скрипт для установки кастомного разрешения экрана на Ubuntu.

    Однажды, я столкнулся с такой проблемой. Есть два 100% одинаковых монитора. Оба работают в максимальном разрешениии 1600×900. Оба подключены к родным видео-выходам на материнке. Однако один монитор подключен к D-Sub напрямую, а второй — через переходник HDMI <-> D-Sub. И картинка на втором по умолчанию всегда в 1920×1080, которое монитор героически сжимает в свои 1600×900 (и которое внезапно отсутствует в настройках). В результате на экране мелкое невнятное мыло, но судя по всему, картинка выдаётся в настоящем FullHD.

    Ниже — получившийся скрипт. На самом деле, я уже не один год использовал его упрощённую версию для себя. Просто я причесал его, чтобы выложил в паблик. Всё работает хорошо. Тебе остаётся только выставить положения мониторов в настройках ОС (и там, кстати, появится новый недостающий режим). Скрипт можно использовать также и с одним монитором.

    (далее…)
  • Обработка аргументов в bash-скриптах без getopt и getopts

    Привет. Я в свободное время для рабочих целей пишу один проект, который состоит из кучи bash-скриптов. Есть одна точка входа, которая из cli принимает аргументы. Этот скрипт подключает остальные куски функционала через source. В этих кусках описаны функции, которые должны обрабатывать разные аргументы, нужные только для чего-то конкретного.

    В первой версии проекта я просто явно передавал $1, $2, $N сверху вниз, в другие функции. Это было топорным решением, и оно работало, потому что возможные аргументы и их порядок был известен и прост. Но эстетически это было отвратительно. Чтобы мне было приятно смотреть на код, нужно было сильно усложнить вообще всё, чтобы всё стало намного проще.

    Итак, я должен принимать от пользователя разные аргументы в разные функции, при этом я хочу дать пользователю возможность передать на вход:

    • длинные аргументы без значений:
      ./script.sh --foo --bar
    • длинные аргументы со значениями:
      ./script.sh --foo=bar
    • короткие аргументы без значений:
      ./script.sh -a -b -c
    • короткие аргументы со значениями:
      ./script.sh -a avalue -b bvalue
    • комбинировать короткие любые короткие аргументы в одно слово:
      ./script.sh -abc bvalue
    • всё перечисленное выше — одновременно!
    • порядок аргументов не должен иметь значения
    • иметь доступ к любому из них откуда угодно в любой момент времени.
    (далее…)
  • Прошивка Irbis TZ722

    Прошивка

    TZ722

    Попал ко мне в руки этот бюджетный планшет. Случилась с ним окказия: выключается сразу после загрузки. Заряжается исправно. А куплен был несколько недель как.

    По гарантии пока не понесу, т.к. корпус уже повидал некоторое дерьмо — могут и домой развернуть. Так что попробовать своими силами восстановить — это я завсегда.

    Поэтому решил начать с прошивки. Но вот незадача — нигде её нет. Вообще. Нигде. Нет ни инфы как прошивать, ни прошивки. Под словом нигде следует понимать, в первую очередь, 4pda и официальный сайт. Там есть TZ721 и TZ723, а TZ722 нет ни в каталоге, ни в разделе поддержки (там его и по серийнику не найти).

    Ссылка на файл
  • Instagram API без бюрократии, токенов и вот этого всего

    Не знаю много ли статей на эту тему и насколько это широко известно. Просто сохраняю полезную заметку для себя и тебя.

    Наверное, ты будешь удивлён, но для работы с апи инсты не надо вообще ничего оформлять, иметь аккаунт разработчика и прочее. Надо отправить один лишь обычный GET-запрос, только в конце адреса подставить ?__a=1. Смотри на моём примере.

    Чтобы получить инфу о профиле, используй такой линк:

    Далее
  • Не работает микрофон гарнитуры на Ubuntu

    Суть проблемы: при подключении гарнитуры с TRRS-коннектором звук в наушниках был, но звук с гарнитуры система не получала, т.к. гарнитура вовсе не определялась как устройство ввода, поэтому приходилось зависать во всяких скайпах с телефона через ту же гарнитуру.

    Решение оказалось элементарным.

    Открыть решение
  • Ubuntu Mate на ноутбуке с сенсорным экраном работает некорректно

    Привет.

    В среде MATE есть известный баг, когда тачскрин работает не на один экран, а на весь десктоп. То есть если подключены дополнительные мониторы, то, водя пальцем по тачскрину, ты видишь как курсор бегает по всем подключенным мониторам (по всему общему для всех экранов рабочему пространству).

    Этому багу уже больше двух лет и фиксить его не собираются, потому что есть решение, которое несложно провернуть самому. Обидненько, потому что в других оболочках вроде такой ерунды нет и тач работает исправно сразу.

    (далее…)
  • Где я храню заметки? Ещё немного о базах знаний

    Итак, продолжаю тему заметок, которую я начал в своём канале.

    Поработал близко с двумя сервисами: BoostNote и Notion. Повертел я их, пошупал за всякие места, так, сяк, и теперь готов рассказать новые ощущения.

    But first — есть некоторый нюанс. Хотя я автоматически зачисляю обоим сервисам поддержку markdown в достоинства, всё же есть некоторые замечания — об этом ниже.

    (далее…)
  • Telegram-бот Гастролог — справочник по первой диете (ака стол №1)

    Я уже частично писал об этом боте в своём канале, но здесь я решил раскрыть тему полностью с технической стороны, приведу примеры кода и конфигов.

    На фоне своих ограничений по питанию, пока сижу на больничном и всячески остраняюсь от работы, решил сделать что-то полезное.

    Знакомься, бот Гастролог — @gastrologbot

    Пишешь ему напиток, продукт или блюдо, а он говорит можно его или нельзя в рамках диеты №1.

    (далее…)
  • Простой способ реализовать модульную структуру Laravel-проекта

    Опишу вкратце самый простой способ, с помощью которого я разделил проект пополам. В моём случае это были админка и личный кабинет пользователя.

    Это не потребует подключения новых пакетов, перестройки директорий фреймворка и вот этого всего. Всё сводится к следущему:

    (далее…)
  • IT-сфера внутри Бурятии мертва

    Только один скриншот с HH.ru:

    На мой взгляд, это доказывает, что:

    1. IT-сфера в Бурятии мертва (в чём я убедился ещё когда вёл bur-it.ru, бывший на тот момент тематическим региональным блогом)
    2. продажные твари рулят всем

    Позор, коллеги.