Блог Обо мне Храню Читаю Ем 99  

страница № 148



Web Standards Days

27 и 28 ноября (может и на выходные останусь, как срастётся) еду в Минск на «Web Standards Days».
03.11 00:33
03.11 00:33


IE и rgba

Век живи, век учись. Оказывается, в Internet Explorer есть возможность, через фильтры, указывать rgba-цвет:
.element{
	/*color = black, opacity = 0.6 */
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000,endColorstr=#99000000); /*AARRGGBB*/
	zoom: 1
}
Большая часть фильтров понимает цвет в формате argb (первая компонента — прозрачность).

темы: webdev, ie, css
01.11 13:21
01.11 13:21


Сколько памяти съела программа на Python?

Некоторое время назад мне хотелось выяснить, сколько съедает памяти программа на Python и чем эта память занята. Тогда я не смог быстро найти решение и обошёлся без него, а вчера, совершенно случайно, наткнулся на целых два.

Приведу их у себя полностью, чтобы потом можно было быстро найти.

Следующий код (используется модуль Heapy):
from guppy import hpy
h = hpy()
print h.heap()
выведет вот такую, достаточно информативную, табличку:
Partition of a set of 132527 objects. Total size = 8301532 bytes.
Index  Count   %     Size   % Cumulative  % Kind (class / dict of class)
0  35144  27  2140412  26   2140412  26 str
1  38397  29  1309020  16   3449432  42 tuple
2    530   0   739856   9   4189288  50 dict (no owner)
Другое решение — использовать Dowser, его интересная особенность — можно наблюдать за работающим кодом через веб-браузер.
# memdebug.py

import cherrypy
import dowser

def start(port):
    cherrypy.tree.mount(dowser.Root())
    cherrypy.config.update({
        'environment': 'embedded',
        'server.socket_port': port
    })
    cherrypy.server.quickstart()
    cherrypy.engine.start(blocking=False)
Подключаем в программу memdebug и вызываем memdebug.start.

Там же упоминается модуль PySizer, но его автор забросил работу и рекомендует использовать Heapy.

темы: python
01.11 11:50
01.11 11:50


Штанга: стоп, машина

Решил одуматься и остановить погоню за весом. Сейчас я без выпученных глаз и льющейся крови из ушей могу взять 100,5 кг, но это вряд ли можно назвать рабочим весом. Остановлюсь. Решил тренировать выносливость, увеличивать число подъёмов, а не вес, потренирую суставы, кости и сердце.

Сегодня три раза за день играл в «лесенку», последний раз выглядит вот так (с минимальными паузами): 68×6, 98×2, 88×2, 78×2, 68x6, 68×6, удерживание 68 кг — 40 секунд, удерживание 68 кг — 40 секунд, 68×6, 68×6.

темы: benchpress
30.10 20:12
30.10 20:12


Какой Минск

Смотрел билеты в Минск на 27-е ноября на сайте авиакомпании «ЮТэйр». И давно его нет?
Минск? Нет такого? (13.25KB)

29.10 00:18
29.10 00:18


Batch-запуск

Пока писал книгу, часто приходилось пропускать по нескольку сотен, а то и тысяч картинок через различные программы-оптимизаторы. Хорошо, когда эти программы имеют пакетный режим, а если нет? Выход, в общем-то простой — подумать какую последовательность кнопок надо жать в программе, чтобы оптимизировать всю папку с файлами и как-то запрограммировать нажатие.

Я пользовался для этой цели Windows Script Host, описывал что нужно жать на языке JScript. Вот, например, обрабатываются 492 изображения программой «A Smaller GIF 1.22»:
with (WScript.CreateObject("WScript.Shell")) {
    AppActivate("A Smaller GIF 1.22")

    for (var command, j = 0; j<492; j++) {
        WScript.sleep(100)

        for (command = '^O+{TAB}{DOWN}{UP}', i = 0; i<j; i++) {
            command += '{DOWN}'
        }

        SendKeys(command+'{ENTER}^S')
        WScript.sleep(100)
        SendKeys('{ENTER}')
    }
}
Всё понятно, по-моему, почти по-английски написано. О том как отсылать приложению специфические комбинации (например, Ctrl+Alt+Backspace) можно прочитать в на сайте MSDN.

темы: javascript, wsh
27.10 18:39
27.10 18:39


Когда летим?

Transaero (30.13KB)
Экран выбора дня вылета и класса обслуживания сайта авиакомпании «Трансаэро», угадаете с первого раза в какой день вылет? Вы уверены?
27.10 11:15
27.10 11:15


Подводная река

Подводная река (39.91KB)
Красиво — фотография Анатолия Белощина, сделана под водой, в Мексике, на глубине 28 метров, «река», над которой видно дайвера — это течёт сероводород (обязательно посмотрите оригинал).
26.10 14:59
26.10 14:59


iPhone и снимки с GPS

iPhone, который, не спрашивая, записывает в снимок информацию с GPS, чувствую, доставит ещё немало лулзов в интернетах. Одна тётечка, сфоткавшись обнажённой, уже спалилась — координаты есть, дом на Google Maps видно, тем более, что он частный. И это только начало.

темы: iphone
26.10 14:19
26.10 14:19


«Консультант» и IE

Вчера на «Хабре» люди в очередной раз подняли тему сайта «Консультанта» и Internet Explorer — первый, своей интересной частью, работает только на втором. Как я и ожидал, код завязан на особенности Internet Explorer, браузер богатый на возможности, на сайте использовано их немало. Впрочем, всё, если вдуматься, переводится и на более стандартные рельсы.

У меня давно руки чесались разобраться поподробнее как устроены userjs в «Опере» и посмотреть на отличия реализации XSLT-процессинга в IE и остальных браузерах. Userjs в «Опере» устроены исключительно удобно (даже предусмотрели патчи к выполняемому коду), а с XSLT в IE нестандартно, зато много проще.

По результатам появился userjs, который позволяет увидеть две первые страницы базы «Консультанта» в «Опере», если кому-нибудь хочется, допилите его дальше, я это делал исключительно из интереса научиться полезному, сама база мне без надобности.

Текст userjs помещаю под кат.

Кстати, «Опере» нужно не забыть сказать, чтобы она маскировалась под Internet Explorer (правая клавиша мыши, «Настройки сайта», закладка «Сеть»).

Обращаюсь к тем, кто читает RSS и трансляцию, текст userjs по ссылке на исходный пост.

темы: webdev, javascript
26.10 11:21
26.10 11:21


Lexx

Гори в аду, попсовый доктор Хаус! Осуществляю мечту детства — смотрю полностью «Lexx». Уже посмотрел 13 серий, сериал такой же сумасшедший, каким я его помню с детства.

Сумасшедший, но, в общем-то, туповатый, как и все сериалы: герои влипают в различные ситуации по одним и тем же причинам, ничему не учатся. Если бы они хотя бы не выбрасывали оружие, то влипали куда бы реже. Но зато герои, миры, декорации,.. у авторов абсолютно травокурная фантазия.
24.10 22:14
24.10 22:14


Инч би бэк

Выношу в отдельный пост комментарий хорошо иллюстрирующий мою точку зрения на перевод единиц в книгах на близкую читателю систему мер:

Читаю сейчас «Террор» Дена Симмонса. Про полярников 19-го века, вмерзших в лед на три года за полярным кругом.

800 страниц дюймов, футов, пинт, галлонов, лье, миль и еще уж даже и не помню каких единиц длины, площади, массы и объема. И они там на каждой странице. Это просто разрыв мозга.

При этом, обычно, очень хочется понять:

—убегать от медведя три полных мили — это далеко или нет?
—прыжок с тороса, высотой 12 футов — это опасно или нет?
—по четверти пинты грога в день — это много или нет?
—меньше старого фунта еды на троих — это сколько?
—спать до двух склянок — это до скольки?
— на пару углов левее — это куда?

Перевод всего этого в уме в метрическую систему ну очень сильно тормозит чтение. А некоторые единицы вообще без справочника непонятны. При этом никакой «игры слов» основанной на цифрах, типа «дюймовочки», там нет. Один только геморрой.

23.10 22:05
23.10 22:05


Сжатие исходящего трафика в браузере

Артель BrowserPlus выпустила плагин к браузеру («Опера», как обычно, не поддерживается, Linux — тоже), который позволяет использовать в браузере TAR и алгоритм сжатия LZMA.

TAR позволяет собрать несколько файлов в один, LZMA — упаковать их. Таким образом, файлы (или другие данные) на сервер можно отсылать уже упакованными. Ценно для заливки больших хорошо сжимаемых (например, текстовых) файлов.

Вообще говоря, работа с TAR и LZMA не единственное, что плагин позволяет делать, там очень много интересных возможностей, лучше посмотреть на сайте производителя. Тенденция, вообще-то, странная, на мой взгляд — выпускать разношестные плагины для браузеров (Google Gears, BrowserPlus) вместо того, чтобы пытаться договориться с W3C о внедрении каких-то возможностей в браузеры.

Я был бы рад увидеть браузерное хранилище от Google во всех браузерах, вместо зоопарка, который мы сейчас имеем, тем более, что этот зоопарк по возможностям сильно не дотягивает до того, что придумали в Google (по правде говоря, я был бы рад увидеть что-то ещё более мощное и интегрированное, чем Google Gears, но, видимо, возможности плагина просто ограничены — не всё можно реализовать как плагин).

темы: webdev
23.10 00:33
23.10 00:33


Устал

На этой неделе новый вес брать не буду: всю первую половину проболел, вторую — не высыпаюсь, сегодня, как варёный. Куда уж там брать новый вес. Ещё работа вымотала, вроде ничего особенного, но бьюсь третью неделю над той же задачей: как не меняя код (только шаблоны) сделать ЧПУ в Testlink. Приходится много пробовать и откатываться назад, такое всегда выматывает. Ничего, победа будет за мной.

темы: benchpress
22.10 23:50
22.10 23:50


Windows Powershell

Вчера ночью смотрел на Windows Powershell. Красивый, мощный, удобный язык командной строки («песню о пиве» я уже написал). Очень понравился, изучается очень быстро, позволяет многое. Основная идея — конвееры, по которым ходят не строки (как в Linux/Unix), а объекты. То есть вы можете получить список процессов, отфильтровать их не как текстовые строки, а как набор объектов — по свойствам, дальше, ну, к пример, отсортировать по какому-то свойству и выгрузить в XML.

Очень хорошо называются командлеты, например, «Get-Process», правда, сразу понятно что делает эта команда. Причём, у команд есть алиасы, которые порадуют любителей Unix: можно написать «Get-Help Get-Process» или «man ps». Где «man» — алиас для «Get-Help», «ps» — алиас для «Get-Process».

Язык слаботипизированный, но можно и жёстко задавать тип (например, в параметрах функций), если хочется.

Кардинально решена проблема с безопасностью (язык мощный, сразу спровоцирует написание вирусов) — файлы этого языка (расширение — .ps1) не запускаются, а открываются в блокноте. Запуск команд возможен или из оболочки руками или довольно нетривиальными способами (простой юзер не справится).

темы: windows
22.10 14:33
22.10 14:33



страница № 148

Евгений Степанищев (imbolk@gmail.com)
t=0.028