Архив

Архив автора

Компиляторы Python

28 Ноябрь 2011


Для сборки кода на python в исполняемый файл можно воспользоваться одним из комиляторов:

Эти утилиты собирают все модули и файлы данных в один исполняемый (для данной операционной системы) файл, который может запускаться на любом компьютере без установленного Python'а.

Рамблер-Контакты

24 Ноябрь 2011

Рамблер-Контакты (окна программы)Пропустил новость, что в июле 2011 года появился новый IM-клиент "Рамблер-Контакты". Поддерживает протоколы Jabber, MMP (Mail.ru Agent), GoogleTalk, ICQ, умеет подключаться к FaceBook, вКонтакте, Яндекс.Онлайн и QIP. Сейчас (в ноябре 2011) всё ещё в статусе бета, оно и понятно,- при установке ругается на отсутствие прав, показывает какие-то каракули, однако устанавливается. После установки пытается запуститься и падает с грохотом. Ручной запуск удаётся,- однако,- для входа требуется логин на Рамблере, дальше не пошёл. Дизайн явно навеян макосью, но достаточно приятный, по крайней мере не такой кривой, как у мультифона.

Дождёмся стабильной версии?

, ,

МультиФон-Бизнес

23 Ноябрь 2011

МегаФон запустил коробочное решение программной АТС, подключенной к МультиФону, под названием МультиФон-Бизнес. Появился почему-то только в поволжском регионе, хотя решение из себя представляет причёсанный рашпилем Asterisk в виде дистрибутива Debian Linux'а c Аsterisk'ом, FreePBX и веб-интерфейсом для настройки. Из коробки умеет создавать внутреннюю нумерацию, подключать МультиФон-аккаунт в качестве внешнего транка, просматривать статистику и прочее разное. Осталось понять,- кому это надо? Вроде все, кто хотел, свои * уже настроили?

Python в микроконтроллере: p14p

23 Ноябрь 2011

На просторах интернета наткнулся на проект python-on-a-chip,- энтузиасты разрабатывают урезанную виртуальную машину (Virtual Machine, VM) Python с кодовым названием PyMite, которая сможет выполнять код Python на микроконтроллерах без участия какой-либо операционной системы. Читать далее...

,

СМИ: Слишком Много Информации

18 Ноябрь 2011

Прежде чем разрабатывать систему защиты системы, убедись, что система не работает против тебя. Очень часто, система авторизации возвращает слишком много информации в случае неуспешного логина. Например, в абстрактной системе (веб-сайт, или FTP-сервер или SIP-софтсвич) пытается авторизоваться злоумышленник, используя случайный логин vasya.pupkin и пароль 123456. Система ищет в списке пользователя vasya.pupkin и пытается сверить хеш пароля (вы же не храните пароли в базе данных открытом виде, правда?). Система быстро убеждается в том, что пользователя с таким именем не существует и отправляет ответ, что-то вроде “Invalid Username”(Неправильное имя пользователя) или “Username Does Not Exist”(Пользователь не найден). Вот Вам прекрасный пример принципа СМИ,- слишком много информации.

Почему? Читать далее...

, ,

Промежуточные итоги

17 Ноябрь 2011

Смотрю статистику в Google Analitycs,- оказывается пропустил маленькое, но гордое событие: суточная посещаемость на сайте доросла до отметки 100+. В основном поисковый трафик, но есть и около 10% ссылочного трафика. Народ ищет разное, в основном про МультиФон, но есть и эcтеты, которых интересует обжим (распиновка) E1. В лидерах ключевых слов поискового трафика, как ни странно, не МультиФон, а PyScripter,- неплохой редактор (почти IDE ;-) для языка Python. Однако, для рефакторинга PyScripter не очень подходит, в последнее время начал иногда использовать IDE Eclipse с установленным PyDev. Если бы не лишний вес, пользовался бы эклипсом, хотя с рефакторингом там тоже не всегда всё хорошо. Но зато eclipse c PyDev понимает проекты для Django.

, ,

Apple Autoingestion.class и прокси

19 Октябрь 2011

Собираю статистику по загрузкам своих приложений из Apple AppStore. Яблочники не так давно выпустили утилиту для загрузки отчётов, да вот беда,- не работает эта утилита через прокси, а у моего сервера другого доступа, кроме как через корпоративный прокси-сервер и нет. Пробовал устанавливать переменные окружения HTTP_PROXY и FTP_PROXY,- не помогает.
Читать далее...

, ,

Универсальный конструктор класса для PHP4-PHP5

10 Август 2011

Редко приходится работать с PHP, но всё-же иногда приходится. Чуть не сошёл с ума в попытке найти ошибку в чужом коде. На тестовой системе всё летало, а на боевой,- пустая страница. Закономерно оказалось, что версии PHP на тестовом и боевом серверах разные, а в коде используются классы с объявленными конструкторами в стиле PHP5. PHP4 про то, что нужно вызывать метод __construct() в качестве конструктора ничего не знает, пришлось уговаривать ;-)

В самом общем случае вариант универсального конструктора класса (для 4-й и 5-й версии PHP) выглядит вот так:

 
<?php
class Foo{
  # конструктор для всех версий
  function __construct($arg){
    # сделать что-нибудь при создании объекта
  }
 
  # конструктор для PHP < 5.0
  function Foo($arg){
    # сюда мы попадаем по умолчанию в ранних версиях PHP
    if(version_compare(PHP_VERSION,"5.0.0","<")){
      # вызываем конструктор
      $this->__construct($arg);
      # регистрируем деструктор
      register_shutdown_function(array($this,"__destruct"));
    }
  }
 
  # деструктор для всех версий
  function __destruct(){
    # сделать что-нибудь перед уничтожением объекта
  }
}
?>
 

, ,

Как позвонить на Марс

Внезапно выяснилось, что международная нумерация на +0 зарезервирована для абонентов на Луне, Венере и Марсе.

Правда, современные стандарты типа E.164 об этом умалчивают. Это я так разбирался со статистикой звонков. Встречал разное, даже в Сье́рра-Лео́не люди звонят, хотя это фрод наверняка. А межпланетных звонков на нашем софтсвиче пока не выявлено.

,

Ctrl-S и vi

У системных администраторов и программистов бывают плохие привычки. Одна из таких привычек,- работать попеременно в разных редакторах, например в редакторе mc и vi в консоли, да ещё и в Notepad++, к примеру. Сам по себе факт работы в разных редакторах ни плох, ни хорош, но вот следствия бывают не очень приятными. Например, привычные сочетания клавиш под разными системами могут приводить к разной реакции. Одно из таких комбинаций CTRL+S. Во множестве десктопных редакторов, в особенности в Windows, такое сочетание зарезервировано для сохранения текущего документа, в редакторе mc это-же сочетание триггерит подсветку кода.
А вот при работе по ssh в терминальном окне Putty это сочетание клавиш приводит к зависанию сессии. Множество раз мне казалось, что сессия зависла и приходилось попросту подключаться заново к серверу, пока я не решил разобраться.

Оказалось, что на самом деле CTRL+S включает режим XOFF, в котором терминал принимает нажатия клавиш, но не выводит в ответ ничего. Визуально кажется, что сессия умерла, но это не так. А если есть режим XOFF, то есть режим XON. Режим XON включается обратно при помощи CTRL+Q.

Вот так-то.

, , , , ,