☀ спасибо ☀

В вашем городе водители говорят «спасибо» друг другу «аварийкой»?

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

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

Сканирование по фамилии на сайте MyHeritage

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

На сайте зарегистрирован 61 миллион пользователей и заведено 861 миллион профилей, так что функция имеет смысл. Наша с женой практика это подтверждает — нашлись три дерева её родственников.

У меня из родни пока никто не нашёлся, поэтому я решил поискать сам. Написал скрипт, который сканирует выдачу поиска по сайту и выдаёт администраторов найденных сайтов. Открываете полученные УРЛы в браузере и пишете всем им письмо. Автоматическую рассылку я делать не стал, смысла нет, на сайте полный набор защиты — разные виды «капчи» и лимит на количество сообщений в сутки. У меня получилось порядка 35 ссылок на мою фамилию, ради этого делать полную автоматику не интересно.

Код скрипта.

<?php
    $SURNAME = array('Иванов', 'Иванова');
    $EXCLUDETREE = array(111111); // дерево, которое надо пропустить (например, ваше собственное)

    $MANMASK = 'http\://www\.myheritage\.com/person\-(\d+)_(\d+)_(\d+)/[^"]+';
    $CONTACTMASK = 'contactWebmasterViaInbox\((\d+)\)';
    $CONTACTURL = 'http://www.myheritage.com/site-%d/t?lang=RU';
    $URL = 'http://www.myheritage.com/FP/smart-research-search.php?offset=%d&l=%s';

    $trees = array();

    $context = stream_context_create(array(
        'http' => array(
            'method' => 'GET',
            'header' => "User-agent: Opera/9.80 (Darwin x86_64; U; Edition Next; ru) Presto/2.10.238 Version/12.00\r\n".
                        "Accept-encoding: gzip",
            'protocol_version' => PHP_VERSION >= 5.3 ? '1.1' : '1.0',
            'timeout' => 5,
        )
    ));

    foreach ($SURNAME as $surname) {
        echo 'Поиск по фамилии «', $surname, "».\n";

        for ($i = 0;;$i += 10) {
            echo 'Смещение: ', $i;

            $content = DecodeResponse(file_get_contents(sprintf($URL, $i, urlencode($surname)), false, $context), $http_response_header);

            echo ", длина полученного документа: ", strlen($content), " байт, ";

            if (preg_match_all("!$MANMASK!", $content, $m)) {
                echo 'найдено записей: ', $peoplecount = count($m[0]), ".\n";

                $trees = array_merge($trees, $m[3]);
            } else {
                $peoplecount = 0;
                echo "записей не найдено.\n";
            }

            if ($peoplecount != 10) {
                break;
            }
        }
    }

    $trees = array_diff(array_unique($trees), $EXCLUDETREE);

    echo 'Найдено деревьев: ', count($trees), ".\n";

    foreach ($trees as $id) {
        $content = DecodeResponse(file_get_contents(sprintf($CONTACTURL, $id), false, $context), $http_response_header);

        if (preg_match("!$CONTACTMASK!", $content, $m)) {
            echo "http://www.myheritage.com/FP/inbox.php?lang=RU&compose=1&recipient={$m[1]}&type=1\n";
        }
    }

    function DecodeResponse($content, $headers) {
        foreach ($headers as $header) {
            if (stripos($header, 'Content-Encoding:') === 0 && strpos($header, 'gzip') !== false) {
                return gzinflate(substr($content, 10));
            }
        }

        return $content;
    }

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

Всякая мелочь одним постом-7

Завтра выборы, не забудьте сходить и проголосовать! О своём опыте участия в выборах в качестве наблюдателя от «Яблока» рассказывает Надя Яцык. Другая интересная ссылка про выборы — «Статистическое исследование результатов российских выборов 2007…2009 гг».

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

Профессиональный психолог критикует своих коллег. Прочитайте, очень познавательно. Корень проблемы, видимо, кроется вот в этой цитате: «после советских времен слово „психиатрия“ остается пугающим, поэтому чаще всего идут к психологам. Весь ужас в том, что психологи эту область совсем не знают и норму от патологии не отличают. прелесть их положения в том, что они ни за что не отвечают (врач подсуден, психолог — нет!)».

Как вы, наверное, уже заметили, я обожаю старые фотографии. На этот раз — фотоподборка Венеция, 19 век, чёрно-белые фотографии, раскрашенные вручную.

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

«Оплутонить»

Американское диалектологическое общество признало глагол «to pluto» («оплутонить») «новым словом 2006 года». Новый глагол означает «понижение в звании или ценности кого-либо или чего-либо, как это произошло с теперь уже бывшей планетой Плутон»

Из статьи про Плутон в «Википедии».

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

Продавцы антенн?

Антенны (45.29КиБ)

Это дом, мимо которого я иду обедать каждый рабочий день. Он весь в таких антеннах. Зачем людям так много антенн? Они их продают? Сушат на зиму? Коллекционируют? Или что?

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

«Хром» → «Сафари»

С 30 октября, уже больше месяца я пользуюсь «Хромом». Любимой «Опере» я не простил очередное падение с потерей вкладок, поэтому решил перейти на другой браузер. «Хром» меня разочаровал.

Во-первых, у него совершенно бесполезный стартовый экран, на который «Хром» сам добавляет наиболее открываемые сайты. Для меня это бесполезно. Почему я не могу поместить туда страницу личного кабинета своего банка, посещаю которую я редко, но она для меня важна и имеет более замысловатый УРЛ. Кроме того, «Хром» путает меня, постоянно сдвигая более используемые сайты к началу, исходя из моей истории перемещений. Мне хочется запомнить — «окно №6, это банк», а не искать его каждый раз заново. Ну и ожидаемо — весь интранет у меня в первом ряду. Очень «полезно», спасибо.

Во-вторых, и это жутко раздражает, когда я тыкаю на ссылку в какой-нибудь ЖЖ (или другой сайт, который постоянно лежит), «Хром» открывает новый таб с адресом «about:blank», запоминая УРЛ где-то у себя внутри. Когда ему не удаётся соединиться, он просто оставляет таб с этой ссылкой — «about:blank», начисто теряя исходный УРЛ. Это какой-то рак мозга. В «Опере» я в этом случае просто перезагружал страницу и всё работало. Это не даёт мне полноценно пользовать браузером и только из-за этого я готов его выкинуть.

В-третьих, он какой-то уж очень минимальный, похож не на лаконичный законченный продукт, типа военного лайнера, где ничего лишнего из практичности, а скорее на лодочку, где ничего лишнего из бедности, а вёсла — отдельные плагины, одно длиннее, другое короче.

В общем, попробую «Сафари», в последних версиях он всё хорошеет, а выбора больше нет. «Файрфокс» — это некрофилия какая-то.

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

Bloodhound Tsoy

Вчера ехал на такси в аэропорт утром, таксист поставил Цоя и, спросонья, проигрыш из песни «Мама мы все тяжело больны» вдруг напомнил песню «The Bad Touch» группы «Bloodhound Gang».

Сейчас послушал на «трезвую» голову, что-то похожее есть, вроде.

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

Плагины для «Сафари»

OmniBar (36.38КиБ)

Пока очень доволен «Сафари», более чем. Установил три плагина, пока всего хватает.

«AdBlock» блокирует рекламу и добавляет в браузер подобие интерактивного блокировщика из «Оперы».

«ClickToFlash» поставил бо́льшей частью даже не из-за блокировки «Флеша», а из-за побочного эффекта функции замены «Флеша» на отображение видео через HTML5 (для знакомых плагину сервисах) — теперь я не вижу рекламу на «Ютубе».

Ну и конечно, «SafariOmnibar», спасибо читателю. Помню, Бирман с грустью смотрел как я в «Опере» (я тогда ещё ей пользовался) с лёгкостью ищу по «Википедии» и прочему, пользуясь настроенными сокращениями прямо из строки адреса. Илья, в «Сафари» такое тоже есть, надо только плагин поставить! Настраивается не так удобно, как в «Опере», правда. Надо кликнуть правой кнопкой на адресной строке, там в меню выбрать «Edit Omnibar Search Providers», дальше уже разобраться просто.

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

Благородный Большой Степан

Наверное все знают, что имена не переводятся. Я представляюсь как «Евгений», а не как «Благородный», имя «Любовь» не переводят на английский как «Love», а у татар вообще масса имён, которые как-то переводятся именно с татарского: Гузель («гүзәл» — «Красивая», «Прекрасная»), Алсу («ал су» — «Розовая вода»), Ильдус («ил дус» — «Родины Друг») и так далее.

Но откуда взялась традиция переводить индейские имена? С Фенимора Купера и его «Великого Змея»? Время от времени в американском кино или анекдотах я натыкаюсь на «Большого Орла», «Быстроногую Лань», а ты, Рваная Резина, вообще молчи!

Из желания посмеяться над «странными именами» «этих дикарей»? На настоящий момент едва ли есть имя, которое никак не расшифровывается или не переводится, про фамилии я вообще молчу, там чаще всего специальными знаниями обладать не надо, очевидные Кузнецовы, Царёвы, Соколовы, Поповы, Лебедевы, Козловы, Голубевы, Соболевы, Рябовы, Котовы, Галкины, Капустины, Волковы, Кольцовы и так далее, перечислять можно очень долго.

И уж не Джону Смиту (john — «сортир», smith — «кузнец») смеяться над Большим Орлом.

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

«Тёплые руки»

Тёплые руки (41.12КиБ)

Около месяца-пары назад купили с женой в «Спортмастере» пакетики «Тёплые руки» и «Тёплые ноги» — химические грелки, которые должны работать семь часов.

Вчера был случай их испытать.

Они работают и даже греют близко к заявленному времени. Но.

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

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

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

Почему надо хорошо знать свой инструмент

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

Ан нет, отличная презентация Олве Маудала и Джона Джаггера «Deep C (and C++)» даёт надежду, что я не последний и хорошо показывает различия между посредственным знанием и хорошим.

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

Пассажир одного из маршрутов отучил курить водителей

Пассажир одного из маршрутов казанского красного автобуса отучил водителей курить. С помощью постоянных обращений в Интернет-приемную портала KZN.RU он добился того, что водителей постоянно штрафовали за курение в автобусе. В результате они предпочли бросить пагубную привычку. С предложением присоединиться к его инициативе он выступил в онлайн-сообществе Казани в «Живом Журнале».

Цитата из новости на сайте «Казанской Мэрии».

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

Казань ✈ Москва ✈ Казань

С 13 по 15 декабря буду в Москве по работе. В последнее время летаю туда постоянно, но всё на один день, так что писать бессмысленно, а тут, может, получится встретиться, друзья мои, посмотрим.

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

ГОСТ, он — мой.

Мне кажется, было бы как-то… аккуратнее, что ли, если бы сокращения делали таким образом, чтобы их интуитивный род совпадал бы с родом при расшифровке.

Например. ГОСТ — это «он», «государственный стандарт» — тоже «он», это хорошо. «ОКПО» — «оно», «Общероссийский классификатор предприятий и организаций» — «он». Неаккуратно.

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

Национальный Архив РТ

Ответ из НА РТ (74.04КиБ)

Хочу рассказать немного как продвигается моё хобби — составление дерева родственников.

Сейчас я осваиваю новое «кунг-фу» — учусь высылать запросы в различные архивные организации. Из двух уже ответили, одна из них — Национальный Архив Республики Татарстан. На фотографии — ответ на запрос данных по моему прадеду.

Хочу немного рассказать как это делается. Надо написать письмо в свободной форме на электронную почту nart.archive (домен tatar.ru), в письме указать дату рождения, хотя бы примерно (в данном случае, я только знал, что год рождения 1900 или 1904) и место рождения. Если место рождения не в Татарстане, то писать в этот архив бесполезно, конечно.

Если неизвестен даже год рождения, есть несколько путей.

Во-первых, можно поискать других родственников на боковых ветвях, которые могут помнить. Во-вторых, можно попробовать запросить данные записей регистрации брака из ЗАГСа, там указана дата регистрации и возраст на момент регистрации, отсюда можно высчитать диапазон лет. В-третьих, если ваш родственик погиб или пропал на войне, можно поискать запись о нём в открытой базе ОБД «Мемориал», именно отсюда появились у меня варианты — 1900 или 1904 год.

Срок рассмотрения заявки по закону — 30 дней, мне ответили через 3 недели.

Как видно на фотографии, информации немного, но уже можно увидеть точную дату рождения (только надо перевести со старого стиля на новый), есть информация о родителях и, что интересно в моём случае, имя «Фёдор» записано как «Феодор», это церковная форма записи этого имени.

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

Поиск предков: фашисткие лагеря

На сайте «ОБД Мемориал» есть документ (сослаться невозможно — там Флеш), содержащий личные карточки на бывших русских военнопленных; обнаруженные Управлением Контрразведки «СМЕРШ» Центральной группы войск в гор. Бедене (Австрия).

Справка о выезде Степана Павловича Стрелкова (1903 г.р.) от 21.3.44 г. из Апенан-Табловер в Хильдесхайм, с отметкой о возвратном приеме.
Степан Павлович Стрелков

На скриншоте выше — карточка, возможно, на моего прадеда, Степана Павловича Стрелкова. Я сейчас послал запрос в Национальный архив РТ, если год рождения совпадёт (1903), то вероятнее всего это он. Тем более, что на сайте «Мемориала» всего один человек с такими ФИО.

Из карточки видно, что умер он в одном из канцлагерей около белорусского города Борисов (Borissov), где со второго июля 1941 по первое июля 1944 было шесть лагерей смерти, в которых было убито более 33 тысяч военнопленных.

Вероятно остальные даты означают, что заключённый №850 привезён в лагерь 13 марта 1944 года и умер там 21 числа. Два слова ниже означают «русский» (Russe) и «портной» (Schneider). Мы долго бились над словом до «Borissov», наконец я начал просматривать все остальные карточки этого документа и в одном месте нашлась расшифровка, это сокращение «Hptlg» от «Hauptlager» («основной лагерь»).

По лагерям Беларуссии есть книга «Лагеря советских военнопленных в Беларуси, 1941-1944», в которой указано, что на 1944 год около Борисова существовало минимум три лагеря: 126 дулаг («дулаг» — пересылочный лагерь), 184 дулаг, 231 дулаг. На 1944, похоже, лагерей смерти уже не было, так что, возможно, Степан Павлович умер при пересылке, от болезни, например.

Впрочем, указание на некий «основной лагерь» (Hptlg Borissov) даёт основание предполагать, что речь о дулаге не идёт, буду выяснять.

Добавлено позднее: есть вероятность, что это не мой прадед, на сайте «Память народа» появилась партизанская карточка Степана Павловича Стрелкова 1903 года рождения (мой прадед — 1902), который проживал в Смоленской области.

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

Вай-фай в «Маке»

Управлять сетями в «Маке» не очень-то удобно, многие вещи сделаны превосходно, но мне нехватает двух вещей — возможности быстро обновить список сетей и быстро удалить знакомую сеть из списка. Зато есть вещь, которая меня необыкновенно радует.

Если «Мак» соединяется с сетью Вай-фай, он проверяет соединение с интернетом, заходя на какой-то эпловский сайт, если там обнаруживается редирект, то понимает — эта какая-то сеть с подтверждением (как «Beeline_WIFI_Free», к которой я сейчас подключен) и показывает мне специальное окно, чтобы я мог нажать кнопку. А если кнопка там одна, он нажимает её за меня. Это невероятно удобно!

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

«Ак барс»

Местный банк «Ак барс» (где у меня зарплата), нравится мне всё больше. Я ещё мало где расплачивался (кроме казанских и московских магазинов) этой карточкой и при обнаружении подозрительной активности (снял около 49 евро в интернет-магазине) мне позвонили и спросили правда ли я совершил покупку. «Райффайзен», если считал, что активность подозрительна, блокировал карту сразу.

Интересно, что было бы, если бы они не дозвонились.

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

Библиотеки Джаваскрипта на сторонних сайтах

Наверное, большинство почувствовало вчера, что большинство сайтов «Гугла» были неработоспособны. Не знаю с чем там были связаны проблемы, мне и не интересно, интересно другое — не работали и некоторые сайты, которые сервисами «Гугла» не являются. Например, мой любмый «Стековерфлоу».

Догадываетесь почему?

Загрузка «Стековерфлоу» (51.95КиБ)

Догадываетесь, наверное, по картинке видно, да и заголовок подсказывает. «Стековерфлоу» грузит библиотеку jQuery со специального сервиса «Гугла», вся разгадка.

Даже не знаю как относиться к этой истории. С одной стороны, хочется немедленно перестать пользоваться хостингами JS-библиотек, раз такие проблемы могут иметь место, с другой стороны — пока это единичный случай.

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

Интернет-клиент «Альфа-банка»

выписка «Альфа-банк» (39.45КиБ)

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

Ещё и навязанная услуга — «Альфа-чек», с которой у меня руки не доходят разобраться, без неё не проходят безопасные платежи через интернет. За неё берут деньги, но SMS об этом не приходит и сумма в бухгалтерии начинает неожиданно расходиться.

Или вот, взгляните на скриншот, вы можете сказать какого числа я сходил в «Максимилианс» поесть? Первого? Четвёртого? Шестого? Наверное первого, а остальные даты мне зачем? Сортируется всё по первому столбцу, это какая-то техническая дата «Альфа-банка», до котором мне дела нет, в итоге все платежи перепутаны местами и я ничего не понимаю.

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

Обработка данных интернет-клиента «Альфа-банка»

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

Программа на Пайтоне:

# coding: utf-8
import sys
import re
from datetime import date
from itertools import islice

output = []

with open(sys.argv[1], 'r') as f:
    for line in islice(f, 1, None):
        n, detail, arr, flow = line.decode('cp1251').split(';')[4:8]

        if n[:4] == 'BERR' or n[:6] == 'CASHIN': continue
        flow = float(flow.replace(',', '.'))

        if flow > 0:
            dates = re.findall(r'\d{2}\.\d{2}\.\d{2}', detail, re.UNICODE)

            if dates:
                d = min(date(*(int(x) for x in d.split('.')[::-1])) for d in dates)
                output.append({
                    'detail': detail,
                    'flow': flow,
                    'date': d,
                })

for k in sorted(output, lambda x, y: cmp(x['date'], y['date'])):
    data = zip(('y', 'm', 'd',), k['date'].timetuple()[:3]) + k.items()

    print "%(d)02d.%(m)02d.%(y)02d %(flow)09s %(detail)s" % dict(data)

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

«Домашняя бухгалтерия» со скидкой 30%

Кстати, лучшая, на мой взгляд, программа для ведения домашней бухгалтерии «Домашняя бухгалтерия» до 31 декабря продаётся со скидкой в 30% (за 350 рублей).

У неё есть два недостатка — она только под Винду (есть версия под «Виндоуз Мобайл») и интерфейс у неё страшненький (правда, это чистая вкусовщина, я очень требовательный). В своё время я попробовал несколько программ, в итоге приобрёл эту (стоит отметить, что в течение 30 дней программу можно использовать бесплатно).

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

Всё в защиту буквы «ё»

Все знают, что я за повсеместное употребление «ё»? Относиться к ней можно по-разному, но есть случаи, когда писать её необходимо. Например, в топонимах.

Ещё одно место, где «ё» надо писать однозначно — слово «всё». Для того, чтобы однозначно отличать его от «все». Те, кто думают иначе, никогда не читали большие тексты вслух. Я иногда что-то зачитываю жене и каждый раз, встречая «все», вместо «всё», понимаю свою ошибку только через несколько слов, запинаюсь и перечитываю место заново, потому что звучит коряво.

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

Жизнь онлайн

Есть такая шутка (надеюсь, что шутка): «во время пожара, прежде чем писать в твиттер, покиньте здание». Почему-то, увидев этот твит от своей знакомой, я вспомнил именно эту шутку.

…рожаю… (9.98КиБ)

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

Человек, растрескай!

Диалог в джаббере этим утром:

— Hi :)
— Хай
— hi can u know reverse engineering
— Кан
— can u know english
— Кан
— man i dont know your language
— Да мне-то что?
— можно у знать растрескиванию
— Можно
— Да, я админ растрескиванию команде, мы ищем члена присоединиться к нашей команде
— Ну, давай подробности
— Человек я использую translaator, и я считаю вашу электронную почту в России веб-сайте, может у скажите мне, вы знаете вспять
— Я знаю вспять, человек!
— я знаю, что назад, что вы имеете ввиду мат
— Я имею ввиду шах!
— то, что я проверить, можете ли вы хотите показать мне что-нибудь
— Могу показать фигу, пойдёт?
— сначала скажите, вы знаете, растрескивание
— Я знаю растрескивание очень хорошо, каждый день начинаю с растрескивания
— :-) мой имею в виду, вы можете взломать любой программного обеспечения
— Мой можете, за бесконечное время, конечно. И бесконечные деньги
— но наша команда и я, трещин бесплатно, для тех, кто не деньги на программное обеспечение Offord, но некоторые коммерческого программного обеспечения, мы трещины на деньги
— Трещины на деньги — справедливый обмен, я считаю!
— Человек Дон, волнуйтесь, мы трещины некоторое программное обеспечение, и разместить его, которые люди хотят его отправить деньги и купить, но некоторые Литтл программного обеспечения, мы трещины бесплатно
— Я очень волнуюсь!
— Благодаря человеку, вот наша команда веб-сайте, Rept <ссылка>
— И это всё благодаря человеку? Невероятно!
— Я waithing вашего ответа
— Да я ответил уже, человек!

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

С наступающим!

С Новым годом! (110.93КиБ)

Фотография выше — из моего детства, Новый год в НГДУ «Иркеннефть» (цех автоматизации производства), можете попробовать меня там найти.

С наступающим Новым годом, дорогие друзья! Пусть этот Новый год будет таким же ярким и запоминающимся, как в детстве!

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

← сюда туда →