Сравнение SMOK Novo 2 и Voopoo Vinci Pod kit

Привет. Завёлся однажды у меня смок. В целом, как первенец, он меня устроил. Но спустя примерно полгода я решил сменить устройство. Ниже расскажу что к чему, кратко, в сравнении.

Сабж
Перейти к сравнению

Bash: processing arguments in a script when called from the shell

Read in Medium

Hi. In my spare time, I write a project for work purposes, which consists of a bunch of bash scripts. There is one entry point that connects the rest of the functionality via ‘source’. They contain functions that should only process the required arguments directly from the cli.

In early versions of the project, I just explicitly passed $1, $2, $N from top to bottom to other functions. It was a stupid solution, and it worked because the possible arguments and their order were known and simple. But it was disgusting aesthetically. I wanted to enjoy reading code and to unify a lot of things. To do this, the entire code had to be greatly complicated to make everything conceptually much simpler.

So, different functions must accept different arguments from input, and also I want to give to user an ability to pass:

  • long arguments with no values:
    ./script.sh --foo --bar
  • long arguments with values:
    ./script.sh --foo = bar
  • short arguments without values:
    ./script.sh -a -b -c
  • short arguments with values:
    ./script.sh -a avalue -b bvalue
  • combine any short short arguments into one word:
    ./script.sh -abc bvalue
  • all of above ones at the same time!
  • the order of the arguments shouldn’t matter
  • I hould have access to any of them from anywhere at any time.
Читать далее Bash: processing arguments in a script when called from the shell

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

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

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

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

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

Обработка аргументов в 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
  • всё перечисленное выше — одновременно!
  • порядок аргументов не должен иметь значения
  • иметь доступ к любому из них откуда угодно в любой момент времени.
Читать далее Обработка аргументов в bash-скриптах без getopt и getopts

Прошивка Irbis TZ722

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

Прошивка

TZ722

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

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

Ссылка на файл

Instagram API без бюрократии, токенов и вот этого всего

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

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

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

Далее

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

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

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

Открыть решение

Ubuntu Mate на ноутбуке с сенсорным экраном работает некорректно

Привет.

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

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

Читать далее Ubuntu Mate на ноутбуке с сенсорным экраном работает некорректно

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

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

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

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

Читать далее Где я храню заметки? Ещё немного о базах знаний

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

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

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

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

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

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