Эти утилиты собирают все модули и файлы данных в один исполняемый (для данной операционной системы) файл, который может запускаться на любом компьютере без установленного Python'а.
На просторах интернета наткнулся на проект python-on-a-chip,- энтузиасты разрабатывают урезанную виртуальную машину (Virtual Machine, VM) Python с кодовым названием PyMite, которая сможет выполнять код Python на микроконтроллерах без участия какой-либо операционной системы. Читать далее...
Собираю статистику по загрузкам своих приложений из Apple AppStore. Яблочники не так давно выпустили утилиту для загрузки отчётов, да вот беда,- не работает эта утилита через прокси, а у моего сервера другого доступа, кроме как через корпоративный прокси-сервер и нет. Пробовал устанавливать переменные окружения HTTP_PROXY и FTP_PROXY,- не помогает. Читать далее...
Правда, современные стандарты типа E.164 об этом умалчивают. Это я так разбирался со статистикой звонков. Встречал разное, даже в Сье́рра-Лео́не люди звонят, хотя это фрод наверняка. А межпланетных звонков на нашем софтсвиче пока не выявлено.
Пару недель назад попробовал было зарегистрировать себе Dropbox, и с удивлением узнал, что я там уже зарегистрирован очень давно.
Восттановил старый пароль, начал пользоваться. Порадовало наличие клиентов под разные операционные системы (у меня в работе используются и MacOSX, и Android и Windows7), порадовали функции и вообще всё хорошо... пока я не попробовал расшарить html-файл. То есть я подумал,- если сервис позволяет расшаривать файлы, и вообще есть папка Public, в которой все файлы по умолчанию доступны,- почему бы не положить туда простенький сайт без движка, чиcтый HTML+CSS+JavaScript? Ан нет, не работает. Не знаю по каким причинам, но html-файлы или не отдаются вообще (ошибка 404), или отдаются, но путь к файлу совсем не такой, как хочется предполагать.
Т.е. хостинг сайта из DropBox'а сделать не получится.
Много раз сталкивался с ситуацией, когда надо сделать ячейку таблицы, объединяющую все столбцы (например для подзаголовка группы строк или как footer для всей таблицы). Если наперёд знаешь сколько столбцов,- не проблема, есть стандартный атрибут colspan, указываешь количество объединяемых ячеек, например colspan="2", всё работает.
А если страница выводится скриптом и количество столбцов наперёд неизвестно? И нет возможности посчитать в шаблонизаторе? В последний раз такая задача возникла при использовании Django, там шаблоны очень удобные,но с математикой там туго, а писать собственный template tag или filter казалось излишеством. Выкручивался либо изменением шаблона (чтобы такое объединение ячеек вообще не было нужно) либо городил в коде дополнительный подсчёт количества столбцов, пока не надоело. А когда надоело,- полез гуглить.
Оказалось, что не я один "хочу странного", куча народу уже сталкивалась с такой-же проблемой. Пробовали писать colspan="all" или colspan="0", - не во всех браузерах работает. На stackoverflow даже народ упёрся,- и там нашлось решение,- рекомендуют писать colspan="100%".
Попробовал на доступных браузерах,- работает везде.
На забугорных форумах нашёл информацию о том, что в телефоне при наборе *#5702000# включается режим Keyboard Test (ну это проверка клавиатуры по-нашему). Проверил, - действительно запускается. Такой текстово-гравический экранчик с крупными буквами, просит нажимать последовательно F1, F2 и т.д. Каждая кнопка нажимается по 2 раза, после этого переходим к следующей кнопке. Дошёл до кнопки Ok, нажал два раза,- телефон ушёл в ребут. Правильно, ведь на этом забугорном форуме было написано, что для Factory Reset'а надо дважды нажать Ok в режиме тестирования клавиатуры . Вот только как проверить оставшиеся клавиши после Ok? Правильно, второй раз нажимать другую клавишу
Собственно сброс забытого администраторского пароля так и происходит.
Понадобилось сделать небольшую обёртку для полей ввода в HTML, чтобы по умолчанию в пустом поле стоял текст подсказки (ну например, "введите номер телефона"), при входе в поле строка очищалась, при выходе и пустом значении подсказка возвращалась, а если что-то введено,- значение оставалось.
Написал коротенькую функцию на javascript с использованием библиотеки JQuery. На вход подаётся объект JQuery и строка для подсказки, текст подсказки устанавливается в поле и применяется CSS класс "hint" для оформления подсказки.
function jquery_input_focus_unfocus_with_text(jquery_input,text){// bind focus event wrapper
jquery_input.bind('focus', function(){if($(this).val()==text){// remove input styles
$(this).removeClass('hint');
// set empty
$(this).val('');
}});
// bind unfocus event wrapper
jquery_input.bind('focusout', function(){if( ! $(this).val().length>0){// set default text
$(this).val(text);
// set default input styles
$(this).addClass('hint');
}});
// set default valueif(jquery_input.val().length<=0){ jquery_input.val(text); }if(! jquery_input.hasClass('hint')){ jquery_input.addClass('hint')};
};
Тестирую новую железку SIP видеотелефон Yealink-2009 в связке с Мультифоном. Мегафон показал железку сначала на экспокоме, а потом девайс засветился в новостном ролике на канале "Россия 24" про Мультифон, и дальше мелькал ещё несколько раз в разных новостях:
Характеристики и картинки можно посмотреть на сайте Ip.Matika, там же в разделе "Файлы" есть последняя прошивка, инструкция для пользователя и прочие нужные вещи.
Текущая версия прошивки в исполнении Мегафона помимо русификации содержит ещё и кнопку для переключения режима приёма входящих для Мультифона. Переключение работает только для одного аккаунта Мультифон, и этот аккаунт должен быть первым в списке настроенных. Прошивку можно получить, настроив автообновление в веб-интерфейсе (вкладка Upgrade -> Advanced)
Очередной квест про программирование на Python,- помимо потребности прочитать Excel из Python появилась необходимость создать файл Microsoft Excel. Оказалось, что для xlrd (чтение Excel) существует парный пакет xlwt,- для создания файлов. Пакет позволяет создавать файлы с несколькими вкладками (sheet), применять форматирование в ячейках, вставлять формулы и кучу других полезных вещей. Поддержка кодировок на уровне, для русского языка достаточно при инициализации файла (книги, workbook) указать требуемую кодировку:
book = xlwt.Workbook(encoding='cp1251')
Все строки будут прозрачно перекодированы при записи в ячейки, если, конечно, вы пишете на python в UTF-8.