воскресенье, 18 ноября 2012 г.

Linux, Python и велосипеды: индикатор заряда батареи

Доброго времени суток! На домашнем компьютере я использую xubuntu, на которую поверх поставлен Openbox + LXPanel. К моему сожалению, стандартный индикатор батареи в LXPanel не захотел корректо работать, он лишь отображает — подключено ли питание от сети или нет, а заряд всегда отображается как 100%. Разумеется, я бы без особых проблем нашёл десяток тысячу-другую аналогичных индикаторов заряда батареи, но просто ради развлечения написал свой на Python, маленький скрипт на GTK2. Для запуска нужен, разумеется, — сам интерпретатор Python и PyGTK2. Для Debian и бунточек:
sudo apt-get install python python-gtk2
Скачиваем отсюда архив со Python-скриптом и папкой с иконками батареи, проверим что у скрипта battery_indicator.py есть права на исполнение и запускаем. Всё, индикатор батареи висит в системном трее, далее просто закидываем скрипт в автозапуск.

четверг, 27 сентября 2012 г.

Linux: Bash-скрипт для монтирования удалённых директорий по SSH или FTP (v0.3)

Приветствую читателя! На днях для использования в работе написал небольшой bash-скрипт для монтирования удалённых директорий по протоколу SSH или FTP, чтобы работать с проектом как с локальной директорией. Возможно читателю пригодится.

четверг, 2 августа 2012 г.

Табы или пробелы в коде? А зачем выбирать что-то одно?

Некоторое время я задавался этим вопросом, но всегда так или иначе предпочитал табы, и для меня это было гораздо удобнее и универсальнее, чем пробелы, несмотря на все нюансы. Единого стандарта у пробельных отступов нет, и я часто встречал код отступом в 2, 4 и даже 3 пробела (в зависимости от эстетических предпочтений программиста). Я сразу выкладываю карты на стол: в данной статье я не собираюсь приводить доводы предпочитать что-то одно, совсем нет, напротив, эти два метода сочетаются, и ещё как! И ваш код отнюдь не будет разваливаться если был написан на табах отступом в 2 пробела и открыт в редактора с отступом табов хоть в 10 пробелов! Тут уже можно спокойно варьировать шириной таба под самые извращённые эстетические потребности.

четверг, 28 июня 2012 г.

Node.JS: Вышла новая версия шаблонизатора nJSt — v0.2

Native JavaScript Templaes v0.2, произошли следующие изменения:

  • Теперь парсер возвращает не просто строку, а объект String, который в будущем может пополняться методами и свойствами. На данный момент содержится свойство status, которое может содержать строку "success" или "error", в зависимости от удачного или неудачного парсинга.

    Внимание! При некоторых условиях могут возникнуть проблемы с обратной совместимостью, например: когда результат парсера возвращается в response HTTP-сервера. Для того, чтобы избежать проблем, следует добавлять к результату парсера метод .toString(), который преобразует его в обычную строку;
     
  • Добавлена возможность создания множества экземпляров шаблонизатора, и у каждого могут быть свои уникальные настройки. Объект модуля шаблонизатора — это конструктор, но и этот же самый конструктор работает и как экземпляр самого себя, содержит те же методы и собственные настройки, что обеспечивает обратную совместимость (см. пример под номером №3);
     
  • Теперь nJSt присутствует и в NPM:
    npm install njst
     
  • Некоторые другие изменения, не влияющие на API: шаблонизатор разбит на модули, код лучше задокументирован с стиле JSDoc и прочие исправления.
     
В будущем ещё предстоят изменения. Например планируется всё-таки добавить конструкции <% ... %> %{...} в замену конструкциям с символами решётки: <# ... #> #{...}, — но конструкции с символами решётки по прежнему будут поддерживаться ради сохранения обратной совместимости.

https://github.com/unclechu/njst