Python 3.0

Не знаю когда выйдет «Пайтон» версии 3 (roadmap я не смотрел), но что в нём нового мне хочется знать уже сейчас. Из всех изменений для меня наиболее непонятное замена конструкции print на функцию с тем же названием. Видимо для того, чтобы можно было её перекрыть?

Это изменение для меня лично неудобно. В дальнейшем придётся держать в голове на какой версии я пишу — 2.5 или 3.0 (в 2.6 эту функцию можно импортировать из модуля __future__). В Python 2.5 конструкция print () выведет пустой тупл (tuple), а в Python 3.0 — пустую строку. Соотвественно, print (’a’, ’b’) в 2.5 означает печать тупла со значениями ’a’ и ’b’, а в 3.0 — вывод двух строковых параметров.

Все остальные изменения одобряю со страшной силой (хотя зачем нужно было рушить синтаксис исключений мне тоже неведомо, чтобы не пересекались указания нескольких обрабатываемых исключений и переменные, куда они помещаются?).

13 комментариев

Поиск «утечек» в Python

У home_virtualis нашёл интересную статью о поиске «утечек» в Python на практике: «Exception #08: Поиск „утечек“ памяти в python-программе». Будет интересно всем тем, у кого в программе на Python неоправданно накапливаются ресурсы с каждой итерацией.

Кстати, с конечным выводом статьи я бы поспорил:

Память не «утекает» в python просто так. Если в программе есть рост используемых ресурсов, то практически всегда это обозначает плохую архитектуру с необоснованно долгим сроком жизни каких либо объектов.

Что называть «Пайтоном»? Если «голый» интерпретатор, то «текущих» популярных интерпретаторов сейчас, наверное, нет. Но язык без модулей мало кому нужен. Как только подключаются внешние (скомпилированные) модули, вот тут начинаются утечки и падения. Например, у меня «Пайтон» упал уже несколько раз при попытке использования µTidylib. Один раз — при попытке открыть несуществующий файл.

Мне кажется, что стабильность интерпретатора определяется ещё и стабильностью его популярных расширений. Хоть разработчики к ним отношения могут и не иметь, но без них язык не решает популярные задачи, ради которых его и изучают.

14 комментариев

Chrome: не к добру

Интересно, через какое время сообщество обнаружит about:network в «Хроме», научится включать «I/O Tracking», увидит там, что каждый день «Хром» качает что-то некислое с «Гугла» и поднимет панику?

И сколько умных людей сходит в поисковик и выяснит, что это подгрузка чёрных и белых списков фишинговых и вредоносных сайтов (Safe Browsing API)?

Речь идёт об URL вида «http://static.cache.l.google.com/safebrowsing/» и других со словом «safe», браузер сначала получает данные о том, что ему нужно получить, а потом потихоньку скачивает необходимые данные. Кстати, Google Safe Browsing используется и в FireFox3.

9 комментариев

IE8beta2: ACID3

Как-то все забыли про ACID3. Проверил им Internet Explorer 8 beta 2 и Chrome (специально для этого скачал!). Итак, по сравнению с ближайшими конкурентами:

Opera 9.60beta1 — 85% FireFox 3.1 beta1 — 85% Chrome 0.2 beta — 79% WebKit r36309 — падает на 26% Internet Explorer 8 beta 2 — 21%

14 комментариев

Ошибка в валидации поля: виноват PHP

function validateDigit(e) {
    var re = /[0-9x0Dx08]/i;
    var code;
    if (!e || !e.which) {
        if (window.event) {
            code = event.keyCode;
        }
    }
    else code = e.which;
    if(!code) return;

    if (!re.test(String.fromCharCode(code))) return false;
}

Что бывает от невнимательности (скрипт с сайта управления ГИБДД МВД от РТ): пропали слеши и в поле ввода вводятся буквы «d» и «x». А всё от stripslashes.

3 комментария

Chrome: война клоническая началась

Хорошо, я выскажусь о «Хроме», тем более многие ждут. К «Хрому» я абсолютно равнодушен, вплоть до того, что даже его не поставил и не удосужился у кого-то посмотреть. Я лишь пролистал скриншоты на «Хабре» и просмотрел многочисленные статьи о сравнениях его с другими браузерами. Этот браузер меня интересует не больше, чем «Amaya» или «Arachne».

34 комментария

Как избавляться от прилипал-торговцев на улице

Фразу из небольшого рассказа с форума Алекса Экслера надо заучить:

В меня как-то такой орел вцепился на улице, «мы дарим вам замечательный шведский светодиодный фонарь»… Я изрядно развлекся. Фонарь взял, сказал спасибо, я принимаю подарок, сунул его в сумку и пошел.

Он несется рядом, «но подождите, подарок в том, что он продается в три раза дешевле, чем в магазинах, я не успел рассказать вам все условия, предлагаемые нашей фирмой…» А я спокойно и радостно ему объясняю: «Договор дарения — реальная сделка, заключенная в момент ее исполнения. Вне зависимости от суммы, этот договор может быть заключен в устной форме, поскольку исполняется в момент заключения. Ваша фирма в Вашем лице сделал мне оферту, я ее акцептовал и принял подарок. Право собственности на передаваемую по договору вещь, если о ином не договаривались, или иное не предусмотрено законом, переходит в момент фактической передачи вещи. Т. е. фонарик — уже моя собственность, мне больше ничего не надо от его фирмы и от него лично. Я очень благодарен. Ни о каких условиях договора не могло и речи идти, посколькудоговор дарения не может быть заключен под условием, о чем прямо указано в гражданском кодексе. Если он считает, что я незаконно отнял у него вещь, мы можем зайти по дороге в милицию, и он составит там заявление с указанием всех подробностей происшествия. Если милиция ничем ему не поможет, то его фирма сможет обратиться в суд с иском ко мне об истребовании фонарика…» и т.д

После 15 минут такого общения, когда мы дошли до моего офиса, я увидел, что парень ужу чуть не плачет. Стоимость-то с него точно бы удержали… Пожалел, отдал фонарь, порадовался счастью на его лице.

14 комментариев

Комиксы: заяц ПЦ и его воображаемые друзья

ПЦ! (24.06КиБ)

Продолжаю делиться комиксами, которые я люблю. У Линор Горалик есть отличнейший комикс «Заяц Пц и его воображаемые друзья: Щ, Ф, грелка и свиная отбивная с горошком». Рекомендую.

6 комментариев

Microsoft взялась серьёзно за браузер: IE8

Microsoft серьёзно взялась за стандартизацию своего браузера. В блоге IE появилась статья, где рассказывается о дальнейших шагах по преобразованию браузера. Например, все расширения CSS будут теперь начинаться с префикса («-ms-»), как того требуют стандарты. Причём речь идёт не о нововведениях (IE7 уже поддерживает свойство «-ms-interpolation-mode» с префиксом), а о существующих свойствах. К примеру, «zoom» будет теперь называтся «-ms-zoom».

Хорошая новость: фильтры будут! только теперь они будут называться «-ms-filter» и выглядеть как обычное свойство, взятое в кавычки. Т. е. для указания прозрачности (загибайте пальцы) мы будем использовать: opacity (CSS3), -moz-opacity (старые FF), -khtml-opacity (старые Konqueror), filter (IE ниже 8) и -ms-filter (IE8 и выше).

Для сайтов, которые переделать невозможно (из-за объёма или запущенности), остаётся возможность использовать Compatibility View (режим обратной совместимости).

4 комментария

PHP: compliler_halt_offset

Малоизвестная возможность PHP, появившаяся с версии 5.1 — аналог секции DOC из Perl. Позволяет создать специальную текстовую секцию в конце файла скрипта, откуда можно будет читать данные, например, туда можно поместить страницу помощи к программе или какие-то метаданные.

Секция начинается вызовом специальной конструкции __halt_compiler(), всё, что дальше этой строки интерпретатор не считывает и не выполняет. Смещение, по которому начинаются данные за конструкцией, доступно через константу __COMPILER_HALT_OFFSET__. Почему нельзя было сделать константу, указывающую на файловый ресурс (по аналогии с STDERR) для меня загадка.

Использовать можно, например, так:

echo file_get_contents(__FILE__, null, null, __COMPILER_HALT_OFFSET__);

// the end of the script execution
__halt_compiler();Hello, world!

На печать программа выведет строку «Hello, world!».

4 комментария

Python

В последние три дня прочитал кучу документации по Python (язык программирования). Уже без труда пишу и читаю что-то подобное (Ваня, зацени):

[r'% r',][~0] % {(): '''^''' uR'|' in 2**2*__name__[::-8//(lambda _:~_)(3 or 2)]*2}<2>3j,(`3`) is ([])

Кто-нибудь скажет, не запуская,чему это будет равно?

14 комментариев

iPhone: ура! и МТС!

Оказывается уже в пятницу (у меня дома нет интернета, пишу из «Кофе Хауза») МТС объявила о подписании соглашения с Apple по поводу продажи iPhone:

Москва, РФ — ОАО «Мобильные ТелеСистемы» (NYSE: MBT), крупнейший оператор сотовой связи в России и странах СНГ, сегодня сообщил о подписании соглашения с американской Apple Inc. о продажах iPhone в России.

Продажи iPhone в России начнутся уже в этом году.

Я уже начал беспокоиться, что придётся куда-то подключаться, если я выберу в качестве следующего телефона iPhone.

3 комментария

iPhone 3G: официальные заявления

«Билайн», похоже, первым официально заявил о подписании контракта с Apple на поставку iPhone 3G. В их PDF-отчёте от 28-го августа написано:

VimpelCom announced today it has signed an agreement with Apple to bring iPhone 3G to Russia expected later this year.

Вчера то же самое сказал нам «Мегафон»:

ОАО «МегаФон», первый общероссийский оператор мобильной связи, сегодня официально объявил о подписании соглашения с американской Apple Inc. о продажах телефонов iPhone 3G в России.

Продажи iPhone в России начнутся уже в этом году Что же МТС молчит? По неофициальной информации продавать второй iPhone с контрактом будут три оператора GSM, включая «МТС», но я уже волнуюсь. Переподключаться я не буду.

12 комментариев

Гаджеты: новый телефон

Свою Nokia N73 я собираюсь в этом году отправить на свалку истории. В итоге, я очень недоволен этим телефоном. Из-за мелочей в интерфейсе и из-за медленной, после установки необходимых приложений, работы.

Думаю пока что выбрать. Из претендетов — iPhone 3G, который скоро появится у трёх операторов в Москве, HTC Touch Pro и Samsung SGH-i900 WiTuю

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

25 комментариев

Робот «Асимо»

На видео — робот «Асимо» фирмы «Хонда», последняя модель. Снято на автовыставке, которая проходила на МВЦ в этом году. Видео я не монтировал, кое-где придётся проматывать.

Добавлено позднее: в связи со смертью сервиса «Яндекс.Видео» ролик более не доступен.

12 комментариев

Автовыставка на МВЦ

Сходили на автовыстовку на МВЦ, посмотрели на новое изделие от «Лады» (смотрится неплохо) и их новый концепт «Лада 4x4» (смотрится ужасно), посидели в Mini Cooper, пересмотрели кучу других машин, видели нового робота «Хонды», последнюю модель, я видео снял.

Только вот выложить его никуда не могу: с youtube, например, его удалили. Кто что ещё посоветует?

Из минусов: простудился до состояния «лучше убейте» и дома нет интернета.

10 комментариев

1D-теннис

Моя первая игрушка в 1D! Теннис!

Теннис в 1D (1.42КиБ)

19 комментариев

Вся правда о «Калгоне»-2

Итак. Я всем пообещал в прошлый раз, что разберу сломавшуюся стиралку на съёмной квартире и выясню сколько накипи образовалось на нагревательном элементе, заодно посмотрю что там из неё сыпалось и из-за чего она сломалась. За два часа я её аккуратно разобрал и сделал несколько фотографий. Заодно наконец-то удалось её выбросить, слишком уж она тяжёлая.

Чудо называется Elenberg WM-3610M, стиралке, судя по маркировке на элементах внутри, три года — выпущена в 2005-м. Напомню — Elenberg российская фирма, бренд сети «Эльдорадо».

Машинка, снята верхняя крышка (50.39КиБ)

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

Машина, демонтировано всё, кроме барабана (35.12КиБ)

На этом этапе уже полностью видно барабан и место где елозил груз. Один из металлических винтов, которыми дополнительно скреплёны склееные половинки корпуса барабана, стёрт наполовину.

Нагревальный элемент (43.74КиБ)

То, ради чего я потратил два часа: нагревательный элемент. За три года покрылся накипью, на мой взгляд незначительно, но раз в пять лет, видимо, накипь всё же надо чистить. Как видно на барабане снаружи даже следа накипи нет, в отличии от машинки из ролика «Калгона».

Есть ещё фото нагревательного элемента, снятого на профессиональную камеру, прикреплю попозже, когда получу его.

13 комментариев

Чудо Djanga

Изучаю Djangо. Сочинилась песенка про:

Чудо Django — вьювок хоровод Чудо Django — тестом покрыт код Чудо Django — весело живём Чудо Django — песенку поём

Чудо-о́стов, чудо-о́стов, Жить на нём легко и просто, Жить на нём легко и просто, Чудо Django! Приложений миллионы, Жуй модели, ешь шаблоны, Жуй модели, ешь шаблоны, Чудо Django!

14 комментариев