im simple message default title
PostgreSQL coub css express.js freeware git jquery laravel links linux macos mysql node.js php python task1 ubuntu vim virtualbox анекдот игры интересно музыка стихи цитаты

Рвется ssh соединение? Лечится так:
sudo vim /etc/ssh/sshd_config
# добавляем строки
ClientAliveInterval 30
ClientAliveCountMax 2
Здесь написано что раз в 30 секунд будет отправлен "пустой" пакет для того чтобы удерживать живым соединение.
Теперь тестируем конфиг
sudo /usr/sbin/sshd -t
Ели все в порядке, то ошибок тест не покажет.
Теперь перезапускаем сервис и на этом всё.
sudo service ssh restart

Со стороны клиента удержания коннекта можно добиться добавив строки
Host *
ServerAliveInterval 45
В файл конфигурации ~/.ssh/config
linux ubuntu

Задача: реализовать функцию копирования в буфер обмена ссылки на опубликованный на Я.Диске файл.
Вообще в природе есть готовые решения, но меня они как-то не впечатлили.
Будем пользоваться
  1. yandex-disk - Собственно сам консольный клиент Yandex.Disk
  2. xclip - утилитка для копирования всякого в буфер обмена
  3. notify-send - утилита для отправки оповещений на уровне оконного менеджера (здесь xfce)
Ставим клиент Я.Диск-а, ставим xclip из репозитория. Дальше открываем Thunar -> Edit -> Configure custom actions..
Добавляем новое действие. Вот такой командой пользуемся для публикации выбранного файла, копирования ссылки в буфер и отправки нотиса о завершении процедуры
mm=`yandex-disk publish %f`;echo -n $mm | xclip -sel clip;notify-send $mm
Выглядеть новая команда будет примерно так (иконку можно взять тут).


Для быстрого постинга скриншотов, думаю вполне подойдет Shutter (ставится из репозиториев). Его можно настроить для сохранения скриншотов сразу в папке Я.Диск-а, настроить качество и формат скриншотов. В нем же есть небольшой графический редактор который позволяет кропать изображения, рисовать рамки-стрелки и т.д. Правда чтобы активировать редактор в Shutter нужно поставить ещё кое-что (по состоянию на сегодня это всё ещё требуется, странно что не ставится всё сразу).
sudo apt-get install libgoo-canvas-perl gnome-web-photo
Как установить Shutter дефолтным инструментом в XFCE можно почитать например тут. Кажется это всё. Закончили упражнение.
linux ubuntu

Проблема: в vim ломается цветовая схема под screen в терминале (у меня стандартный терминал прижился, но похоже в iTerm тоже самое).
Коротко решение - установить screen из brew и убедиться что загружен именно он. Никакие игры с $TERM тут не помогут просто, проблема в самом screen-e.
### default mac os (10.10) screen
$ /usr/bin/screen -v
Screen version 4.00.03 (FAU) 23-Oct-06
### brew screen
$ /usr/local/bin/screen -v
Screen version 4.02.01 (GNU) 28-Apr-14
### default screen have to be
$ which screen
/usr/local/bin/screen
Thank's to Phillip Hallstrom After much googling I figured out that the default ‘screen’ in OSX doesn’t support 256 colors. Annoying.
macos vim

А дело в том что включен автоиндент. Он и пытается "всё исправить". Вариант решения такой может быть
# перед вставкой кода
:set paste
# после вставки
:set nopaste
vim

Стандартный механизм настройки окружения описан тут. Простой он как двери в милиции, опирается на ответ gethostname() и выглядит вот так
$env = $app->detectEnvironment([
  'env-one-name' => array('hostname1.local'),
  'env-two-name' => array('hostname2')
]);
Все удобно, понятно. Одно "но" заключается в том, что на одном хосте при таких условиях два окружения не потестируешь. Решение я предлагаю такое
$env = $app->detectEnvironment(function(){

  // by path
  if (stristr(__DIR__, 'demo-env-folder-name')) {
    return 'demo';
  }

  // by hostname
  $hostname = gethostname();

  switch ($hostname) {
    case "hostname1.local":
      return 'env-one-name';
    break;

    case "hostname2":
      return 'env-two-name';
    break;

    default:
      return 'production';
    break;
  }
});
Таким образом будем в текущем пути искать название папки для выбранного окружения, то есть для папки /the/path/to/project/demo-env-folder-name будет включено окружение demo, а для других папок будет использоваться определение по хосту, то есть оригинальное. Конечно, есть определенная опасность словить не то окружение после переноса проекта третьими гражданами (которые не в курсе таких поворотов сюжета), но оповещение коллег о таких вещах я считаю должно быть на совести разработчиков. Да и поправить если что легко.
laravel

HO-HO-HO!! L10 is here.
dance-dance #3
update new 01.10.2023