PostgreSQL
coub
express.js
freeware
git
jquery
laravel
links
linux
macos
mysql
node.js
php
powershell
python
ubuntu
vim
virtualbox
анекдот
блог
игры
интересно
стихи
цитаты
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, а для других папок будет использоваться определение по хосту, то есть оригинальное. Конечно, есть определенная опасность словить не то окружение после переноса проекта третьими гражданами (которые не в курсе таких поворотов сюжета), но оповещение коллег о таких вещах я считаю должно быть на совести разработчиков. Да и поправить если что легко.
Что нового в Laravel 5?
November 13, 2014