Идентификаторы в C#

Я тут Си-шарп начал учить, удивляюсь всему, как ребёнок, с первых же страниц. Идентификаторы (42.74КБ) Обратите внимание на строки 9 и 10, тут любопытно, я встречал языки, где в качестве имён переменных можно использовать символы Юникода (тот же ПХП), а тут, мало того, можно писать юникодные символы с использованием слеш-ю-нотации!

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

Если вам нужно использовать в качестве идентификатора зарезервированное слово (ну вот надо, а максимально подходящее английское слово является зарезервированным), можно предварить его «собачкой» и в таком виде использовать (см. строку 10).

Программа выше компилируется и выполняется без ошибок.

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

Ну да ладно, в общем, вот такой код не скомпилируется, будет ошибка в последней строке, сообщающая об отсутствие переменной @string:
{
	string @string = @"string ""string""";
	Console.WriteLine (@string.Insert (1, "tt"));
}

Console.WriteLine (@string); // ошибка!
Вещь, с которой не ожидал столкнуться — автоматическое приведение типов. Я как-то был уверен (о Си-шарпе я только слышал, но ничего определённого не знал), что тут будет как в Гоу или Си — нужно преобразовывать переменные к какому-то единому типу, а уже потом что-то с ним делать. Оказалось, ничего подобного:
byte байтраз = 3, байтдва = 5;

// строка кода ниже выведет System.Int32 (а не System.Byte, как я ожидал)
// арифметические операции определены только для типов int и больше,
// поэтому произойдёт преобразование типов
Console.WriteLine ((байтраз + байтдва).GetType());

Console.WriteLine ("Первый байт равен: " + байтраз); // строки спокойно складываются с числами
Комментировать
22 мая 2013 09:49

Angel. Pushkin

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

Чтобы технари полюбили поэзию, надо всего лишь заменять в стихах некоторые слова на английские:
Angel
В дверях eden'a angel нежный
Главой поникшею сиял,
А daemon мрачный и мятежный
Над hellish abyss'ом летал.

Дух отрицанья, дух сомненья
На духа чистого взирал
И heat невольный умиленья
Впервые смутно познавал.

«I'm sorry, — рёк,— тебя я видел,
И ты недаром мне сиял:
Не все я в sky возненавидел,
Не все я в sea презирал».
Правда здорово и современно?
28 комментариев
21 мая 2013 09:54

MacGreener

Выложил утилиту, которую описывал недавно (используя датчики «Макбука Про», заставляет его засыпать, если его поднять со стола) на «Гитхаб», назвал её MacGreener. Не знаю как сейчас, а раньше «зелёный» (green) в технике ассоциировался с экономией электроэнергии, так как этой утилитой я делаю «Мак» «зеленее» (greener), отсюда и название.

Я немного изменил алгоритм и внёс ещё одно важное изменение: теперь, если «Мак» поставить на стол, он проснётся. Напомню, программа работает только при наличии соотвествующего датчика. Рядом с исходным кодом лежит скомпилированная версия.
7 комментариев
20 мая 2013 22:47

Разрушенные церкви бугульминского района Татарстана

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

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

Церковь Вознесения (1764) (226.33KB)Церковь Вознесения (1764) (268.70KB)
Первая — церковь Вознесения, построенная в 1764 году на деньги П.И. Рычкова в селе Спасское (Бугульминский район), объект культурного наследия республиканского значения. Внутрь уже не попасть, церковь начали восстанавливать, но в один из пристроев вход ещё открыт. На стенах и вокруг здания в кустах есть интерсные восьмиугольники, увенчанные короной, в которых что-то находилось — видны отверстия креплений. Интересно, что там было?

Храм Петра и Павла (221.32KB)Храм Петра и Павла (254.71KB)Храм Петра и Павла (370.11KB)Храм Петра и Павла (301.18KB)
На второй серии снимков — Храм Петра и Павла из села Ключёвка, я о нём уже писал когда-то. Судя по документам, в этом храме крестили мою прабабушку по маминой линии. Вероятный год постройки — 1809, на чьи средства построен храм мне неизвестно, но село основано купцом Рыковом, возможно он и стал спонсором. В храме много фресок, где ещё угадываются контуры сцен и надписей, кое-что даже ещё пока выглядит очень неплохо, но само здание открыто всем ветрам, крыша провалилась, значит всё это будет ветшать.
Комментировать
19 мая 2013 20:51

Берём «Макбук» со стола, экран гаснет или блокируется

В предыдущей заметке я писал, что обнаружил сенсор внезапного движения у своего «Макбука». Решил извлечь практическую пользу из этого — написал программу на Си, которая отправляет ноут в спячку, стоит поднять его со стола:
// gcc -framework CoreFoundation -framework IOKit  gethensleep.c -o getthensleep
// Evgeny Stepanischev May 2013
#include <IOKit/IOKitLib.h>
#include <CoreFoundation/CoreFoundation.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <stdbool.h>
#include <sys/param.h>

#define RETURNONFAIL(code) do { if (errcode != KERN_SUCCESS) {\
    fprintf(stderr, "Error code: 0x%Xn", GETCODE(errcode));\
    return code;\
} } while (0)


#define GETCODE(err) ((err)&0x3fff)

#define THRESHOLD 0.2

typedef struct {
    int16_t x;
    int16_t y;
    int16_t z;
} ostruct;

void macSleep() {
    io_registry_entry_t r = IORegistryEntryFromPath(
        kIOMasterPortDefault,
        "IOService:/IOResources/IODisplayWrangler"
    );

    if (r) {
        IORegistryEntrySetCFProperty(r, CFSTR("IORequestIdle"), kCFBooleanTrue);
        IOObjectRelease(r);
    }
}

int main() {
    mach_port_t masterPort;
    kern_return_t errcode;
    io_iterator_t iterator;
    io_object_t service;
    io_connect_t connect;

    void *in;
    ostruct *out;
    size_t osize = 40, isize = 40;

    errcode = IOMasterPort(MACH_PORT_NULL, &masterPort);
    RETURNONFAIL(-1);

    CFMutableDictionaryRef matchingDictionary = IOServiceMatching("SMCMotionSensor");

    errcode = IOServiceGetMatchingServices(masterPort, matchingDictionary, &iterator);
    RETURNONFAIL(-2);

    service = IOIteratorNext(iterator);
    IOObjectRelease(iterator);

    if (service == kIOReturnNoDevice) {
        return -3;
    }

    errcode = IOServiceOpen(service, mach_task_self(), 0, &connect);
    IOObjectRelease(service);
    RETURNONFAIL(-4);

    in = malloc(isize);
    out = malloc(osize);

    if (in == NULL || out == NULL) {
        return -6;
    }

    memset(out, 0, osize);
    memset(in, 1, isize);

    int16_t prevz;
    bool inited = false;

    for(;;) {
        errcode = IOConnectCallStructMethod(connect, 5, in, osize, out, &isize);
        RETURNONFAIL(-5);

        if (inited) {
            float min = MIN(prevz, (*out).z);
            float max = MAX(prevz, (*out).z);

            if (max) {
                float dev = 1 - min / max;

                if (dev > THRESHOLD) {
                    macSleep();
                }
            }
        } else {
            inited = true;
        }

        prevz = (*out).z;
        usleep(10000);
    }

    return 0;
}
Порог срабатывания (0.2) я подобрал экспериментальным путём. Скомпилировать можно компилятором gcc (входит в XCode), строка компиляции указана первой в приведёном коде. Можно засунуть в автозагрузку и наслаждаться эффектом.

Кстати, если хотите, то можно вместо спячки заставить ноут заблокировать экран (т.е. показать экран логина), для этого надо вместо функции macSleep вызвать другую:
// нужно добавить ещё один ключ компиляции: -framework ApplicationServices
#include <ApplicationServices/ApplicationServices.h>

void macLock () {
    CGSCreateLoginSession(NULL);
}
26 комментариев
19 мая 2013 12:04

Сенсор внезапного движения

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

На ноутах с твёрдотельным накопителем (ССД), этого сенсора обычно не бывает — он там не нужен. Например, на моём Макбуке Эйр его не было, нет его и на 15″ Макбуке Про с Ретиной моего друга, я специально смотрел — в этих ноутах нет жёстких дисков. В Макбуках Про предыдущей модели, без Ретины и с жёстким диском, сенсор, естественно, был.

Каково же было моё удивление, когда я обнаружил, после покупки Макбука Про 13″, что в сведениях о системе есть упомянутый сенсор: Сенсор внезапного движения (148.70КБ) Думаю, его просто забыли убрать, наверное это рудимент прежней модели Макбука. Но наличие сенсора не говорит о том, что он работает. Я сегодня потратил пару часов, чтобы разобраться как в Маке читают этот сенсор и написал вот такую программу на Си:
// MacbookPro (OS X 10.5+) SMS reading. Evgeny Stepanischev May 2013
// gcc  -framework IOKit  motion.c
#include <IOKit/IOKitLib.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

do { if (errcode != KERN_SUCCESS) {\
    fprintf(stderr, "Error code: 0x%Xn", GETCODE(errcode));\
    return code;\
} } while (0)

#define GETCODE(err) ((err)&0x3fff)

typedef struct {
    int16_t x;
    int16_t y;
    int16_t z;
} ostruct;

int main() {
    mach_port_t masterPort;
    kern_return_t errcode;
    io_iterator_t iterator;
    io_object_t service;
    io_connect_t connect;

    void *in;
    ostruct *out;
    size_t osize = 40, isize = 40;

    errcode = IOMasterPort(MACH_PORT_NULL, &masterPort);
    RETURNONFAIL(-1);

    CFMutableDictionaryRef matchingDictionary = IOServiceMatching("SMCMotionSensor");

    errcode = IOServiceGetMatchingServices(masterPort, matchingDictionary, &iterator);
    RETURNONFAIL(-2);

    service = IOIteratorNext(iterator);
    IOObjectRelease(iterator);

    if (service == kIOReturnNoDevice) {
        return -3;
    }

    errcode = IOServiceOpen(service, mach_task_self(), 0, &connect);
    IOObjectRelease(service);
    RETURNONFAIL(-4);

    in = malloc(isize);
    out = malloc(osize);

    if (in == NULL || out == NULL) {
        return -6;
    }

    memset(out, 0, osize);
    memset(in, 1, isize);

    errcode = IOConnectCallStructMethod(connect, 5, in, osize, out, &isize);
    RETURNONFAIL(-5);

    printf("%d, %d, %d\n", (*out).x, (*out).y, (*out).z);

    return 0;
}
Программа выводит три числа: показатели наклона влево/вправо, назад/вперёд и показатель ускорения, который меняется, если ноут резко поднять или опустить.

Размер структуры 40 и второй параметр функции IOConnectCallStructMethod («5») — «магические» значения, первое — фиксированный размер буфера, который требуется функции, второе — номер вызываемой функции в ядре (SMCMotionSensor).
Комментировать
19 мая 2013 10:19

4G в Казани

Неожиданно заработал «4Джи» в смартфоне, голос идёт по старинке, а интернет через сеть нового поколения. Скорости космическими не назвать, но по ощущениям стало побыстрее — как на вайфае. 4G, Мегафон (51.93КБ) Я сегодня пошёл симку менять, прежняя, резанная под мини-сим, померла, воспользовавшись случаем сменил её на нормальную мини-сим. Меняя, увидел на симке надпись «LTE» и спросил у персонала что это значит. Оказалось — теперь в некоторых смартфонах доступен режим ЛТЕ для интернета. У нас ЛТЕ уже давненько, но на только для УСБ-модемов, симка из которых (если вставить её в смарт) позвонить никуда не позволяла. В общем, нужны, как я понял: специальная симка, телефон, поддерживающий российский ЛТЕ (у меня — Нокия 920, причём нужна самая последняя прошивка) и что-то включить в «личном кабинете» (мне сотрудницы сами включили).

Работает «4Джи» пока только у «Мегафона», впрочем могу ошибаться, за новостями других компаний я не слежу — у меня-то как раз «Мегафон».
8 комментариев
17 мая 2013 13:06

Слово «мама» — значит «еда»

Цитата с «Дёрти»:
Наиболее полное исследование над словами «мама» и «папа» как универсальными терминами было проведено лингвистом Романом Якобсоном. Он объяснил, что для человека наиболее простыми для воспроизведения являются открытые гласные звуки. Дети могут произносить гласные звуки с первых дней жизни. Что они и делают. Постоянно. Как только они начинают экспериментировать с другими звуками, они пробуют самые простые согласные. Обычно они начинают со звуков, производимых с закрытыми губами, так называемых «губных согласных», например, [m], [p], [b]. Дети собирают всю энергию, чтобы вытолкнуть этот новый гласный звук «мммм», а затем расслабляют рот в наиболее простом открытом гласном «а». Добавляя сюда естественное повторение в детской речи (лепет), мы получаем «ма–ма», «ба–ба», «па–па» и так далее.

Так почему же дети все–таки тяготеют к звуку [m], а не [p] или [b]? Конечно же, из–за женской груди. Звук [m] — самый простой для детского рта, приложенного к теплой аппетитной груди. Даже став взрослыми мы продолжаем ассоциировать «мммм» с чем–то вкусненьким. То же делает и ребенок.

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

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

Кстати, на татарский «мама» переводится как «эни́», но я не знаю считают ли татары детское «мама» аналогом своего «эни», надо будет поспрашивать. А в грузинском «мама» (მამა) означает «отец», тогда как «мать» звучит как «деда» (დედა).
17 комментариев
17 мая 2013 11:09

Грузия — прекрасна!

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

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

Поэтому мы могли выбирать куда поехать, например, мы заглянули в город Го́ри, в дом, где родился Сталин и соответствующмй музей.

Второе везение — за пять дней в Грузии не было ни капельки дождя, стояла прекрасная, солнечная погода, +25—28˚Ц. Лишь когда мы поехали в аэропорт, в Батуми всё-таки пошёл дождь.

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

На обратном рейсе было ещё веселее — зазор между прилётом в Москву и вылетом был один час 15 минут и мы очень боялись не успеть на самолёт. Для этого нам нужно было любой ценой взять багаж в ручную кладь (сомнения были по поводу небольшого чемоданчика, который иногда заставляют сдавать в багажное отделение). Сначала нас попросили сдать его в багаж на досмотре — мы везли с собой пару бутылочек масла из виноградных семечек из Грузии, жена расстроилась по поводу того, что из Грузии ничего памятного не привезём, на досматривающего это подействовало и он махнул рукой — забирайте. Потом оказалось, что самолёт дали очень маленький, не лезет наш чемодан на полки для багажа, но, к счастью, сидели мы на втором ряду (регистрировались последними и нам достались места из «бизнеса», самолёт был полностью выкуплен) и у одного из наших мест было приличное место для ног, куда влез чемодан. В аэропорту мы бежали, как угорелые, в итоге даже пришлось ожидать посадки пятнадцать минут.

Сама же Грузия понравилась очень. Никакого напряжённого отношения к русским мы не заметили, какие-то два мужичка около одной из церквей, узнав, что мы русские туристы, с обидой в голосе сказали: «что же вы русские, так мало приезжаете к нам, приезжайте побольше!». Что ещё хорошо — русский язык хоть в какой-то степени знают почти все, даже в школах в последние годы опять ввели его обязательное изучение.

Что меня радует как любителя истории — в Грузии этой самой истории много, старые монастыри, старые здания, всего много, но не в одном месте, к сожалению. Мы проехали ⅔ страны и шесть городов, чтобы побольше увидеть.

Больше всего мы провели времени в Тбисили и Батуми. Ребята, там почему-то очень чисто, но никакой армии дворников (как в Москве) я не заметил. В Батуми строят свои отели все известные сети — Шератон, Хилтон, Редиссон и так далее. Очень хорошо, что мы приехали весной — всё цвело, в том числе Ботанический сад Батуми. Отдельной похвалы заслуживает и дельфинарий этого города — за насыщенное, впечатляющее, получасовое выступление. Я был в нескольких дельфинариях, но такого восторга ни разу не испытывал.

Теперь еда. Грузинская кухня — это очень вкусно, ребята! Бешенно вкусно! Мы много чего ели, но больше всего почему-то запомнился хачапури по-аджарски, наверное потому, что я сначала понятия не имел как его есть, а теперь научился и втянулся. Помню, мы его заказали в Ульяновске в грузинском ресторанчике и смотели на него, как бараны на новые ворота. А ещё в Грузии довольно дёшево. В ресторане над Алазанской долиной, на пятом этаже, открытой площадке башни-ресторана с отличным видом на долину и водопадик, мы поели (салат, суп, второе, чай) на… 400 рублей с каждого! В хорошем ресторане на берегу Чёрного моря (пол со стеклянными фрагментами, под ногами — море), вдвое дешевле. А ещё в каждом ресторане предлагают минеральную воду, только не Боржоми, а несколько видов другой, более мягкой, столовой, а не лечебной.

Ещё я благодарен весне в Грузии за то, что это не сезон — море холодное. Туристов мало и в разгар дня город выглядел, как Казань в пять утра — немного людей, немного машин. Тихо, спокойно, красиво. В высокий сезон много туристов из Украины, оттуда, кстати, можно попасть в Грузию очень дёшево — всего 110 долларов самолёт туда и обратно из Харькова.

Отельной строкой про полицию. Сотрудники подтянутые, форма аккуратная, девушки — на высоких каблуках, на место ДТП мчатся моментально, на хорошей скорости. Я первый раз в жизни видел, чтобы полицейский остановил поток машин, чтобы перевести бабульку через дорогу.

Что не понравилось. В Грузии везде курят. В кафе, ресторанах, на улицах, хозяин магазинчика преспокойно закурил при нас в помещении, в ресторане «Привет из Батума», в котором мы в последний раз ужинали, курил весь зал, целиком, только дети не курили, зато их родители смолили рядом с ними вовсю. Наш экскурсовод рассказала, что с курением пытались бороться, но законопроект не прошёл.

В остальном же страна прекрасна, очень рекомендую как-нибудь туда съездить и убедиться в этом лично. Ничего себе «несколько слов» получилось…
8 комментариев
16 мая 2013 08:59

Валентина Терешкова

Терешкова (54.94КБ) Не знаю, рассказывают ли сейчас в школах кто такая Валентина Терешкова, когда я там учился, её имя произносили рядом с Гагариным и Леоновым.

Первая в мире женщина-космонавт! И сейчас полёты не сахар, как серьёзно физически готовят будущих космонавтов, а подумайте как леталось первым космонавтам, как было тяжело психологически и физически, вот что говорит «Википедия»:
Во время обучения она проходила тренировки на устойчивость организма к факторам космического полёта. Тренировки включали в себя термокамеру, где надо было находиться в лётном комбинезоне при температуре +70 °C и влажности 30 %, сурдокамеру — изолированное от звуков помещение, где каждая кандидатка должна была провести 10 суток.
Всё-таки детская память — удивительная штука. Космос в моём детстве занимал далеко не центральное место среди моих интересов, был какой-то всплеск внимания к этой теме, но не более, чем ко всему остальному, но вот через много лет увидел это фото и сразу понял — на нём Терешкова! Не уверен, что где-то встречал это лицо во взрослые годы, её как-то подзабыли.

Удивительно найти было эту фотку в старых альбомах какого-то коллекционера советских этикеток со спичечных коробков, проложенное листами бумаги, в отдельном конверте, явно бережно когда-то хранимое. На фото автограф Терешковой, вероятно он и представлял особую ценность для бывшего владельца.

Нашёл фото совершенно случайно в кафе, где почти каждый день обедаю (это кафе в хостеле «I&I»), очень дружественное и приятное место. Там на подоконниках лежат разные штуки советский времён, большей частью хлам, а вот альбом с этикетками меня заинтересовал, потому и наткнулся на фото.
10 комментариев
14 мая 2013 15:19

Скачивалка документов из архивов ЭлАра

Написала мне одна читательница по поводу моей утилиты для скачивания документов из электронных архивов ЭлАра. Оказывается, помимо самарского, моя утилита вполне нормально работает и с тобольским. Что ж, наверняка есть ещё архивы с которыми она совместима, поэтому в новую версию я добавил необязательный параметр host, который позволяет указать другой адрес (по-умолчанию используется самарский): Тобольский архив (8.71КБ) Утилита лежит там же — на «ГитХабе».

История с кладбищ

Я очень люблю историю. Точнее нет, не совсем так. Изучая историю в той форме, которая принята в наших учебных заведениях, я рискую порвать рот от зевоты; если не ошибаюсь, у меня по этому предмету всегда тройка была. Я очень люблю вступать с историей в непосредственный контакт.

Нет ничего лучше для меня на отдыхе, чем залезть на какие-нибудь развалины, а страна без истории (Эмираты, например), вызывает у меня неприятие и скуку.

В России история размазана на огромные расстояния и раздавлена теми, для кого развалины просто развалины. И года не проходит, чтобы в Казани, где я живу, не снесли какое-нибудь интересное здание и не построили очередную стеклянно-бетонную блевотину.

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

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

Первые три из деревни Старая Письмянка Лениногорского района. На первом можно разобрать «Здесь покоится В…», если я правильно помню, там дальше было имя «Василий» и дата — декабрь 1890 года.
Василий (200.45KB)Василий (171.91KB)
Вторая могила — Семёна Емельяновича Выдрина, написано, кажется, на церковнославянском, а может в то время все так писали, даты-то нет: Семён Емельянович Выдрин (229.48КБ) Третье надгробье валяется около чужой могилы, подпирает кирпичи оградки. Я уже очень торопился (в тот день мы объехали шесть деревень, да ещё и приехали с другого конца Татарстана), так что там написано никуда не записал, сейчас на фотографии я могу разобрать только слово «прахъ» и год — 1811, если не ошибаюсь. 1811 (220.84КБ) Следующая могила из села Старое Исаково Бугульминского района, если правильно помню. Надпись хорошо видно — первого мая 1901 похоронен Шулешкин Александр Трофимович, 15 июля 1835 года рождения. Фамилия удивительно знакомая, кажется, я когда-то уже с ней сталкивался, изучая историю тех мест.

Сейчас сходу нашёлся только протокол заседания Самарского губернского земского собрания от 16-17 января 1898 г. (когда-то эти места к Самаре относились), где упоминается «гласный А.Т. Шулешкин», может это он и есть — по годам подходит. Шулешкин (89.87КБ) Дальше две безымянные могилы из Нового Исакова и Дубовки Бугульминского района. Если на первой ещё угадываются какие-то полустёртые письмена, но на второй их, кажется, и не было никогда. Забытая могила, Новое Исаково (124.91КБ) Когда-то, ещё в детстве, когда мы с бабушками навещали могилы родственников, я видел только ухоженные могилы — чужие меня не интересовали, выпадали из моего поля зрения, а те, куда мы пришли конечно были ухоженными — мы за ними присматривали. И оттуда я вынес детское заблуждение, что могилы они почти вечные — если их сделали, они никуда с кладбища не денутся. Заблуждение, конечно. Новый опыт посещений кладбищ говорит об обратном: могилы умирают так же как люди. Памятники разрушаюся, кресты гниют, а чаще всего банально нехватает места и хоронят поверх старых могил, просто убирая приметы прежних.

Так что обитателю безвестной могилы в Дубовке ещё повезло — от него хоть камень остался, хоть уже и не узнать кем он был или хотя бы как его звали. Дубовка (205.67КБ)
8 комментариев
12 мая 2013 14:37

Мой «Макбук» всё

Яблоко сгнило (43.90КБ) В предпоследний день в Грузии обнаружил, что как-то умудрился повредить матрицу на своём «Макбуке», сначала она ещё как-то функционировала — мне даже удалось зарегистрироваться на рейс, но по приезде в Россию, отказала совсем — теперь на ней только разнообразные полосы, которые видно на фото.

Обзвонил различных мастеров в Казани, которые занимаются ремонтов ноутов, замена обойдётся порядка 15 тысяч — верхнюю крышку разобрать на «Эйре» тяжело, а собрать правильно в кустарных условиях невозможно, поэтому меняют целиком. Подумываю о покупке нового «Макбука» в качестве альтернативы ремонту. Только пока не знаю как перенести приложения, через «Машину Времени» мне не хочется — много мусора скопилось, проще перенести что надо, чем чистить, что не надо, а другого способа я пока не знаю.
14 комментариев
6 мая 2013 15:13

Паспорта в гостинице «Вере Палас» (Тбилиси) в открытом доступе

Забавно с безопасностью обстоят дела в гостинице «Вере Палас», что в Тбилиси. Я, конечно, поделился своей тревогой с персоналом гостиницы, надеюсь они исправять ситуацию.

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

К примеру, я нашёл паспорт своей жены: Паспорта постояльцев (25.24КБ) Очень опрометчиво как мне кажется, очень надеюсь, что никто не слил себе копии паспортов. Правда, я не очень понимаю зачем они, но слышал несколько историй (уж не знаю правдивых ли), когда по копии паспорта брали кредит, который потом приходилось выплачивать владельцу паспорта, а не настоящему заёмщику.
13 комментариев
4 мая 2013 18:31

Светящийся Мост Мира в Тбилиси

Я со вчерашнего дня в Тбилиси, вчера гуляли по городу. К сожалению, Тбилиси не раз сжигали подчистую, поэтому похвастаться множеством исторических зданий город не может (хотя они и попадаются), зато есть интересные новые постройки, например, Мост Мира (მშვიდობის ხიდი), пешеходный мост через реку Кура, недалеко от резиденции Саакашвили, действующего президента Грузии. Мост Мира (87.69КБ) Красивее всего он выглядит в темноте, к сожалению, у меня не получился снимок — по всей его длине проходят волны света. Когда мы шли по нему днём, я с удивлением обнаружил в стеклянных стенках сотни светодиодов. На снимке плохо видно, но вот эти светлые квадратики — работающие светодиоды внутри стекла. Светодиоды в Мосте Мира (26.38КБ) Удивил меня и факт их наличия, и то, что они днём тоже работали. Выглядит восхитительно. Соединены они едва заметными проводками, идущими внутри стекла горизонтально, если сильно не приглядываться, они совершенно неразличимы.
7 комментариев
2 мая 2013 08:52