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

страница № 152



Курите, снижайте конкуренцию!

В ДНК рака легких генетики насчитали 23 тысячи ошибок - в значительной степени спровоцированных воздействием табачного дыма.

Из этого ученые сделали вывод, что у среднего курильщика на каждые 15 выкуренных сигарет приходится по одному нарушению генетического кода.
Статья в BBC Russian «Ученые расшифровали генетический код раковых клеток».
27.12 14:48
27.12 14:48


Yahoo! и nofollow

Оказывается, поисковая машина «Yahoo!» тоже поддерживает rel="nofollow". Кстати, у них в руководстве ошибка:

For instance, websites with public comment areas can apply a "nofollow" attribute to publicly entered links to help fight comment spam.

Applying the rel="nofollow" Attribute:

Example: <a href="http://spammer.example.com/">buy now

changes to: <a href="http://spammer.example.com/ rel=nofollow">buy now
Ай-яй-яй. Хотя в таком виде ссылка тоже «help fight comment spam», это уж точно.

А ещё «Yahoo!» выставляет странный заголовок: «X-LLF-Mime-Type: true», знать бы зачем.
27.12 03:22
27.12 03:22


Ой-йо

Что-то какой-то тяжёлый конец года выпал, последние два месяца. Не могу, устал, каждую неделю какие-то события, которые выбивают меня из колеи. Может уйти в отпуск перед Новым Годом уйти? Тут всего ничего осталось, но кто знает что ещё за три рабочих дня может произойти? А то сегодня я уже кончился.
25.12 22:17
25.12 22:17


CSS hack для Firefox 3.5

В комментариях на «Хабре» попросили придумать CSS-хак для FireFox 3.5. Пожалуйста:
<style type="text/css">
x:-moz-any-link:nth-child(0), body { background: red; } /* FF 3.5+ */
</style>
Проверил в Firefox 2.0.0.19, Firefox 3.0.3 и в Firefox 3.5.5.

темы: webdev, css, firefox
25.12 19:54
25.12 19:54


Ура, подживает!

Сегодня попробовал (с разминкой) толкнуть 88, оценить будет ли болеть трицепс. Ура! Не болел абсолютно. Толкнул 6 или 7 раз, значит форма почти не потеряна. Пока больше брать не буду, пусть подживает дальше.

темы: benchpress
25.12 17:36
25.12 17:36


CSS hack для Opera 10.50, 10.xx, не 10.50

«Опера» 10.50 стала поддерживать border-radius и много других интересных вещей, в этой связи встал вопрос — как отличить 10.50 от более ранних версий в CSS?

Например, у меня на сайте скруглённые уголки для «Оперы», начиная с версии 9.50 делаются при помощи SVG, 10.50 вполне могла бы нарисовать их без этого «изыска». Помучался-помучался и придумал несколько CSS-хаков, собственного изобретения.
<style type="text/css">
@media (0) {
    body { background: red; } /* Opera 10.xx, но < 10.50 */
}

@media all and (resolution = 0dpi) {
    body { background: red; } /* Opera < 10.50, минимальной версии не знаю, 9.27 работает */
}

@media all, () {
    body { background: red; } /* Opera 10.xx (включая 10.50) */
}

@media all, {
    body { background: red; } /* Opera 10.50 prealpha */
}
</style>
Нужно понимать, что хаки сделаны исключительно для того, чтобы отличить одну версию «Оперы» от другой и могут сработать в других браузерах, так что лучше подстраховаться и добавить в стили какой-нибудь хак, чтобы отличать «Оперу» от всего остального.

Я не знаю минимальной версии при которой срабатывает хак №2, но подозреваю, что будет работать где-то начиная с 7-й версии.

Все хаки я испытывал на «Операх» 10.50 prealpha, 10.10, 10.01, 9.50 и 9.27. Надеюсь, баг 10.50 не исправят и хак будет работать и дальше (pepelsbey, пожалуйста, молчи!:).

Добавлено 25 декабря 2009 10:38: проснувшись утром, я обнаружил, что умудрился ночью запостить этот текст два раза. Решил удалить один из них и удалил тот, что с комментариями. Простите, это утро :(

темы: webdev, opera, css
25.12 01:56
25.12 01:56


XML в MySQL

Почему-то мало кто слышал, что в MySQL с версии 5.1.5 появился «чудесный» способ нарушать 1NF, при этом работая с частями поля таблицы, как со сложной структурой.

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

Речь идёт о двух функциях — ExctractValue и UpdateXML. Если в поле таблицы хранится XML, то первая функция позволит выбрать данные при помощи XPath, а вторая — (при помощи XPath же) изменить какую-то их часть. Ничего неожиданного — функции могут работать как с полями таблицы, так и со строкой, переменной, результатом функции или любой комбинацией вышеперечисленного.

Примерно так:
SELECT ExtractValue('<a>c</a><b/>', '//a');

SELECT UpdateXML('<a><b>ccc</b><d></d></a>', '/a', '<e>fff</e>');

SELECT * FROM users WHERE ExtractValue(info, '//firstname') == 'Иван' AND ExtractValue(info, '//surname') == 'Сагалаев';
В случае, если XPath не дал результата или в поле оказался не XML, функции вернут NULL (версии MySQL до 5.1.12 содержат баг и частично могут работать даже с not-well-formed XML).

темы: webdev, mysql
25.12 00:15
25.12 00:15


Скороговорка

Пайтонячья скороговорка:
import pprint as pprint
pprint.pprint(pprint)
Добавлено 24 декабря 2009 14:08: вариант от Бобука, чуть-чуть поправленный мной:
from pprint import pprint as pprint
locals()[pprint.__name__](pprint)


темы: python
23.12 19:11
23.12 19:11


--5

Это прекрасный образец рака мозга, ящитаю:
<?php
function turn($x)
     {
     $y = abs($x);
     if ($y == $x)    
         return "-$y";    
     else        
         return "$y";    
     }
?>

You can use this code:

<?php
echo turn(-5) + turn(10);
?>

The output is:

-5

;
Because 5 + -10 = -10
Цитата — из пользовательского комментария к функции abs языка PHP. Для тех, кто далёк от программирования, побуду Капитаном Очевидностью.

Функция меняет знак числа (т.е. было «-5», надо сделать «5», было «2», надо сделать «-2»), для этого она сранивает число с его абсолютным значением и, если оно совпадает (значит число положительное), выводит это число с приделанным символом «-», если нет — то возвращает абсолютное значение.

Правильный ответ — function turn($x) { return -$x } не стоит того, чтобы оформлять его в функцию.

Что имел ввиду автор, когда писал «Because 5 + -10 = -10» я не знаю, надо Смирнова спросить, он понимает язык идиотов.

темы: webdev, php
23.12 16:11
23.12 16:11


«Райффайзен» жжот

0.00 (22.15KB)
«Райффайзен» каждый месяц исправно шлёт мне письма с требованиями погасить задолжность в «0.00», причём указывает срок погашения. Их кредитной картой я не пользуюсь (не устраивает, что если снять наличку, то они сразу берут довольно немаленький процент) и даже ни разу не вводит PIN-код.
23.12 12:38
23.12 12:38


Фотосессия в мехах

Одним из подарков жене на день рождения (был чуть меньше месяца назад) была фотосессия в мехах — «приключения в подарок» от магазина «Экспедиция». Получились 428 фотографий в красивых, дорогих мехах, из которых мы с женой должны были выбрать шесть, чтобы фотограф выровнял на них освещение, цвета и так далее (вот только веснушки он зря замазал, осуждаю).

Сегодня мне прислали результат. Какая же у меня всё-таки красивая жена!

жена (86.66KB)

22.12 15:29
22.12 15:29


Opera 10.50 pre-alpha

Opera 10.50 pre-alpha вышла! Кратенько: CSS transformation и многое из CSS3 (border-radius!), HTML5 local storage и open database, Carakan (новый движок JS с прекомпиляцией в машинный код), VEGA — библиотека для векторной графики (в будущем будет использовать аппаратное ускорение, но и сейчас ускорение заметно).

Это далеко не всё, лучше прочитать остальное на сайте «Оперы».

Скриншоты изменения скорости, которые утекли в сеть несколько дней назад, говорят о том, что скорость этого билда на уровне последних билдов Chromium.

темы: webdev, opera
22.12 11:35
22.12 11:35


Оперкут

В книге Андрея Некрасова «Приключения капитана Врунгеля» апперкот называют «оперкутом»:

Мистер Денди дрался блестяще. Я получил жестокий удар в переносицу, но тут вспомнил молодость, пришпорил Фукса, перешел в инфайтинг и нанес противнику сокрушительный оперкут.
Там же упоминаются почти забытые слова «ходики» и «кооптировать».
21.12 01:40
21.12 01:40


Нельзя опознать незнакомое

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

На это можно сказать следующее. Ребята! Невозможно придумать ни на что не похожий мир! Ну не бывает такого! То, что человек никогда не видел, он не может воссоздать!
Это из рецензии Экслера на фильм «Аватар». Проблема, мне кажется, не в этом. Я верю, что вполне можно создать что-то совершенно новое, но беда в том, что перестаёт работать «утиная типизация».

Вот мы создали хрен знает что, которое ходит, как зрен знает что, выглядит, как хрен знает что и пахнет, как хрен знает что. Так что это за хреновина? Создай что-то совершенно непривычное и что с ним делать? Как узнать оно плохое или хорошее? Что у него за проблемы и как их решить? Вот что оно сейчас сделало — поменяло поляризацию бозонов Хиггса или изменило хиральность фермионов? И в чём разница для меня, как зрителя?

Как переживать непонятное? Как ему сочувствовать, сопереживать? И оно мне надо? Интереса не больше, чем смотреть калейдоскоп.

Вот почему мир «Аватара» другой, но очень похожий. Там всё непривычно и знакомо, а народ на'ви плачет, когда видит смерть близких, кивает, когда согласен и целуется в губы, хотя даже на нашей планете есть народы, которые ведут себя иначе.
21.12 01:27
21.12 01:27


«Альфа-банк». Вы кто? Правда? Точно?

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

Тройная авторизация! Что за паранойя?
19.12 20:45
19.12 20:45

страница № 152

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