tsypa on x64
вторник, 17 мая 2016 г.
воскресенье, 20 декабря 2015 г.
вывод vcs информации в zsh prompt
Захотелось добавить немного радости в рутину кодинга, а именно, чтобы в подсказке шелла
(вы ведь в курсе что есть только один годный шелл и имя ему zsh?) было видно в какой ветке git или hg я сейчас стою. И я даже совсем не удивился, когда узнал что извращаться не нужно, и под это дело имеется уже готовый zsh-модуль под названием vcs_info.
Чтобы всю эту красоту завести надо в ~/.zshrc добавить следующие строки
autoload -Uz vcs_info
zstyle ':vcs_info:*' actionformats '%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f'
zstyle ':vcs_info:*' formats '%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{5}]%f'
precmd () { vcs_info }
PS1='%F{5}[%F{2}%n@%m%F{5}%F{3}:%F{2}%3~%F{5}]%F{3}${vcs_info_msg_0_}%f%# '
(вы ведь в курсе что есть только один годный шелл и имя ему zsh?) было видно в какой ветке git или hg я сейчас стою. И я даже совсем не удивился, когда узнал что извращаться не нужно, и под это дело имеется уже готовый zsh-модуль под названием vcs_info.
Чтобы всю эту красоту завести надо в ~/.zshrc добавить следующие строки
autoload -Uz vcs_info
zstyle ':vcs_info:*' actionformats '%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f'
zstyle ':vcs_info:*' formats '%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{5}]%f'
precmd () { vcs_info }
PS1='%F{5}[%F{2}%n@%m%F{5}%F{3}:%F{2}%3~%F{5}]%F{3}${vcs_info_msg_0_}%f%# '
тонкости настройки можно узнать пройдя по следующей ссылке.
вторник, 1 декабря 2015 г.
New npms
Two new npms from me
anticaptcha and sms-reg
The first is anti-captha.com API warpper (fork from recognition)
and second is SMS-REG.com API 2.0
anticaptcha and sms-reg
The first is anti-captha.com API warpper (fork from recognition)
and second is SMS-REG.com API 2.0
суббота, 7 ноября 2015 г.
ES6, how to avoid stack overflow in toJSON method implementation
class C {
construcror() {
this.id = 0;
}
toJSON() {
// this causes stack overflow
return JSON.stringify(this);
}
}
Object.assign helps you
// this is right :)
toJSON() {
return JSON.stringify(Object.assign({}, this));
}
construcror() {
this.id = 0;
}
toJSON() {
// this causes stack overflow
return JSON.stringify(this);
}
}
Object.assign helps you
// this is right :)
toJSON() {
return JSON.stringify(Object.assign({}, this));
}
суббота, 17 октября 2015 г.
nodeJS рекурсивный поиск свойств объекта по имени свойства
мощь ES6 + lodash в действии
let _ = require('lodash');
let search = (o, k) => _.has(o, k) ? [o] : _.flatten(_.map(o, (v) =>_.isObject(v) ? search(v, k) : []));
let _ = require('lodash');
let search = (o, k) => _.has(o, k) ? [o] : _.flatten(_.map(o, (v) =>_.isObject(v) ? search(v, k) : []));
понедельник, 5 октября 2015 г.
Установка агрументов командной строки для phantomjs в selenium-webriver (iojs)
let webdriver = require('selenium-webdriver'),
By = require('selenium-webdriver').By,
until = require('selenium-webdriver').until;
let ph = require('selenium-webdriver/phantomjs');
// global stop variable
let gStop = false;
let cliArgs = [
'--load-images=no' // <-- catch you
];
let capabilities = new webdriver.Capabilities().
set('phantomjs.cli.args', cliArgs);
let driver = new ph.Driver(capabilities);
температура воздуха в tmux
Погода у меня везде: в браузере, на таскбаре, в emacs.
Вот в tmux ее до сегодняшнего дня не было.
Для начала выведем в строку статуса температуру
1) устанавливаем curl и jq
aptitude -y install curl jq
2) создаем скрипт openweathermap.sh который получает температуру и записывает ее в файл
#!/bin/sh
curl -s "http://api.openweathermap.org/data/2.5/weather?id=548605" | jq '.main.temp' | awk '{printf "%.02f", $0-273.15}'> ~/.weather
где id это id населенного пункта
3) запускаем скрипт например раз в 15 минут
crontab -e
15 * * * * $HOME/scripts/openweathermap.sh
4) в ~/.tmux.conf добавляем строку
set -g status-right '#[fg=green]][ #[fg=black]#(hostname -s) %H:%M %d-%b-%y #(< ~/.weather)'
при желании можно добавить влажность скорость ветра направление и любые параметры,
которые отдает api openweathermap.org
Подписаться на:
Сообщения (Atom)