PostgreSQL
coub
express.js
freeware
git
jquery
laravel
links
linux
macos
mysql
node.js
php
powershell
python
ubuntu
vim
virtualbox
анекдот
блог
игры
интересно
стихи
цитаты
SSH KeepAlive (sshd config params)
February 10, 2015
Рвется ssh соединение? Лечится так:
sudo vim /etc/ssh/sshd_config
Теперь тестируем конфиг
sudo /usr/sbin/sshd -t
Ели все в порядке, то ошибок тест не покажет.
Теперь перезапускаем сервис и на этом всё.
sudo service ssh restart
Со стороны клиента удержания коннекта можно добиться добавив строки
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
Yandex.Disk + Thunar своими руками
January 19, 2015
Задача: реализовать функцию копирования в буфер обмена ссылки на опубликованный на Я.Диске файл.
Вообще в природе есть готовые решения, но меня они как-то не впечатлили.
Будем пользоваться
Добавляем новое действие. Вот такой командой пользуемся для публикации выбранного файла, копирования ссылки в буфер и отправки нотиса о завершении процедуры
Для быстрого постинга скриншотов, думаю вполне подойдет Shutter (ставится из репозиториев). Его можно настроить для сохранения скриншотов сразу в папке Я.Диск-а, настроить качество и формат скриншотов. В нем же есть небольшой графический редактор который позволяет кропать изображения, рисовать рамки-стрелки и т.д. Правда чтобы активировать редактор в Shutter нужно поставить ещё кое-что (по состоянию на сегодня это всё ещё требуется, странно что не ставится всё сразу).
Вообще в природе есть готовые решения, но меня они как-то не впечатлили.
Будем пользоваться
- yandex-disk - Собственно сам консольный клиент Yandex.Disk
- xclip - утилитка для копирования всякого в буфер обмена
- notify-send - утилита для отправки оповещений на уровне оконного менеджера (здесь xfce)
Добавляем новое действие. Вот такой командой пользуемся для публикации выбранного файла, копирования ссылки в буфер и отправки нотиса о завершении процедуры
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 можно почитать например тут. Кажется это всё. Закончили упражнение.
Mac os: vim + screen - 256 color support?
January 06, 2015
Проблема: в vim ломается цветовая схема под screen в терминале (у меня стандартный терминал прижился, но похоже в iTerm тоже самое).
Коротко решение - установить screen из brew и убедиться что загружен именно он. Никакие игры с $TERM тут не помогут просто, проблема в самом screen-e.
Коротко решение - установить 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/screenThank's to Phillip Hallstrom After much googling I figured out that the default ‘screen’ in OSX doesn’t support 256 colors. Annoying.
Vim: при вставке кода сбиваются отступы
December 11, 2014
А дело в том что включен автоиндент. Он и пытается "всё исправить". Вариант решения такой может быть
# перед вставкой кода :set paste # после вставки :set nopaste
Laravel: разные окружения на одном хосте / multi env on one host
November 17, 2014
Стандартный механизм настройки окружения описан тут. Простой он как двери в милиции, опирается на ответ 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, а для других папок будет использоваться определение по хосту, то есть оригинальное. Конечно, есть определенная опасность словить не то окружение после переноса проекта третьими гражданами (которые не в курсе таких поворотов сюжета), но оповещение коллег о таких вещах я считаю должно быть на совести разработчиков. Да и поправить если что легко.