Устал я жить в родном последнем, в тоске по гречневым просторам…
Не в первый раз вижу баталии на тему как спрашивать «кто последний?» или «кто крайний?». Не понимаю в чём вообще вопрос. Это же не синонимы. У очереди безусловно есть первый и последний — это те люди, которые ближе всего к цели и дальше всего от неё.
первый → 🚪🕴🕴🕴🕴🕴🕴🕴🕴🕴← последний
Но, опять же, и крайние у неё тоже есть, это те, кто с краю — первый и последний являются крайними. В большинстве очередей это разные люди.
крайний → 🚪🕴🕴🕴🕴🕴🕴🕴🕴🕴← крайний
Так что спрашивать «кто крайний?», если вы собираетесь присоединиться к очереди, так же неуместно, как и задать тот же вопрос вместо «кто следующий?».
Андреевка в Бугульминском районе
В Андреевке Бугульминского района предки по линии моей фамилии прожили более ста лет. Некоторые потомки семьи переселившейся туда в 1828 году из Средних Апочек Старооскольского уезда, живут там до сих пор. Любопытно, что память поколений сохранила факт переезда, многие из тех, с кем я разговаривал, знают, что их предки переселились
Всего в тот год в Андреевку было переселено довольно много народу — на перепись 1834 года там проживало 37 семей (219 мужчин и 245 женщины), о чём написано в одном из дел (ЦГАСО, ф. 150, оп. 1, д. 24) Самарского архива.
Из заголовка дела можно узнать, что Андреевка стоит на месте более старого населённого пункта с тем же названием и была вновь образована переселенцами:
1834 года Апреля 21 дня Оренбургской губерніи Бугульминскаго уезда Письмянскай волости вновь заведенной деревни Андреевки о состоящихъ в оной мужеска и женска пола однодворцахъ
Правда по картам подтверждение этому мне найти не удалось — возможно у меня
В 1896 году в Андреевке освятили
Однопрестольный деревянный храм был построен по проекту гражданского инженера Э. Кистермана, утверждённым в 1896 году. Он же руководил постройкой. В 1896 году храм был освящен, а строительство колокольни и отделочные работы продолжались до 1902 года.
Вопрос о строительстве церкви был решен на сельском сходе села Андреевки в 1894 году, с этого же времени прихожане собирали деньги. Задержки в строительстве были связаны с нехваткой средств и отсутствием крупных благотворителей. Небольшой деревянный храм выполнен в характерных для конца XIX века в форме эклектики.
В 2007 году церковь сгорела — говорят, внутри
Сейчас село, конечно, умирает — в 2013 году там жило 215 человек, тогда как в 1920 — 1391, фермерское хозяйство в России в упадке, а больше в селе заниматься нечем.
Шкатулка под находки
У нас в Казани

Сам Варламов занялся гончарным делом, посчитав, что достиг в бересте потолка, а его ученики продолжают его дело. Шкатулка просто отличная, ароматно пахнет, добротно выглядит. На крышке просил сделать фрагмент рисунка встречи Святогора и Ильи Муромца Ивана Яковлевича Билибина.

Рисунок мне очень понравился, поэтому заплатил мастеру чуть больше, да и работа сложная, составная — три слоя бересты для объёма. Не знаю где буду хранить находки, когда их станет гораздо больше, но пока, на мой взгляд, шкатулка им очень подходит.
Профессиональная деформация
Профессиональная деформация, конечно, существующее явление, у меня нет сомнений в этом, но я всегда посмеивался над людьми, которые применяют это понятие ко мне. Причина такова — я человек увлекающийся, а в мире так много интересного. Например, меня захватило новое хобби — «копательство» и я езжу искать старинные монеты до сих пор, несмотря на то, что остальные давно закрыли сезон.
Такие вещи увлекают меня всерьёз, но немногие хобби держат меня годами с равной интенсивностью. Скажем, я уже давно не играю на гитаре
С работой то же —
И вот я обнаружил у себя следы
Возможно деформацией это станет, когда меня это перестанет раздражать, что, боюсь,
Void в PHP
ПХП7
Я сначала не понял зачем вводить в язык новое ключевое слово, можно было бы использовать для такого указания уже существующее ключевое слово null, но оказалось, что авторы под void имели ввиду, что функция не может вернуть никакого значения:
function returns_null(): void {
return null; // Fatal error: A void function must not return a value
}включая null, потому что это определённо значение, хоть и со специальным смыслом. При этом вот такое работает:
function returns_nothing(): void {
return; // valid
}Таким образом в языке произошло неявное изменение: раньше ситуации с пустым return и с return null не различались, сейчас они будут иметь разный смысл.
Леонидом Ильичом, Владимиром Ильичём
Члены Орфографической комиссии, готовившие Свод, обратили внимание на то, что форма «Ильичём» (Лениным), как правило, писалась с «ё» (в частности, такое написание встретилось в одном из писем Н. К. Крупской). Чтобы сохранить орфографическую неприкосновенность В. И. Ленина, было принято «устное» исключение: писать, например, Петром Ильичом (Чайковским), Михаилом Ильичом (Роммом), но Владимиром Ильичём (Лениным). И только так.
Владимира Ильича Ленина поставили в оппозицию всей отечественной орфографии сразу. В полном одиночестве — противу масс. Правило это даже в годы застоя не распространилось шире — например, на «верного ленинца» Л. И. Брежнева (Из газет: «…встали, чтоб приветствовать Политбюро во главе с Генеральным секретарем Леонидом Ильичом Брежневым»; «… одна из участниц войны назвала его (Брежнева) „нашим Ильичом“». Впрочем, что там Л. И. Брежнев, если даже по поводу родных братьев В. И. Ленина не было ясности: писать ли Дмитрием, Александром Ильичём или Ильичом!
Из статьи «Об одном негласном орфографическом исключении» филолога Брониславы Букчиной.
Одиннадцатое посещение острова сокровищ

Сегодня выехал на пару часов — к сожалению, стал усиливаться ветер, пришлось сворачиваться. Улов: две копейки 1757 года (слово «две» стёрлось, но она отлично опознаётся по расположению остатка надписи), «конина», смятый напёрсток
Отрицательное количество элементов (PHP)
Сегодня утром с разработчиками обсуждали фрагмент кода, где автор очень уж параноидально подошёл к проверке:
if (count($this->to) <= 0) {
$this->validation_errors[] = "Неверный отправитель";
}Проверять возвращает ли функция count значение меньшее нуля действительно странно, но я вдруг подумал — а можно ли в ПХП в припципе заставить эту функцию вернуть такое значение?
Дело в том, что функцию count можно использовать не только с примитивными типами (чаще всего её используют с массивами), но и с объектами, которые реализуют интерфейс Countable.
Оказалось вполне нормально работает:
$var = new class implements \Countable {
public function count()
{
return -1;
}
}
var_dump(count($var)); // выведет int(-1)Выше код написан в синтаксисе ПХП7, который выйдет сегодня, но его можно переписать и на «пятёрку» — надо только дать имя классу.
99 бутылок: Эллочка
58. Эллочка. Мне написал автор языка программирования «Эллочка» с предложением написать на нём «99 бутылок…», как вы знаете, у меня есть хобби — писать такие программы на разных языках.
Для этого языка есть единственный, авторский интерпретатор под ДОС (и очень важно использовать в файле программы символы перевода ДОС/Виндоуз, иначе ничего не будет работать), а сам язык напоминает странноватый Бейсик, без поддержки функций и процедур. Их можно эмулировать, используя трюк со специальной переменной «@», которая содержит номер текущей строки.
В языке есть ряд интересных возможностей, но их затмевают недостатки разного калибра, что характерно для языков без сообщества. Даже в таком простом примере мне пришлось побороться за работоспособность программы. Например, перед числами
!99 beer song by Evgeny Stepanischev
!Used variables: B, R, $1
B=99
@cycl
R=@+2
goto @beer
list ' of beer on the wall, '
R=@+2
goto @beer
list '.'\
list 'Take one down and pass around'\
decr B
R=@+2
goto @beer
list ' of beer on the wall.'\
list ''\
wait
clsc
esli B >> 0; @cycl
list 'No more bottles of beer on the wall, no more bottles of beer.'\
list 'Go to the store and buy some more, 99 bottles of beer on the wall.'
exit
@beer
esli B >> 0; +3\
list 'No bottles'
goto R
esli B == 1; +5\
$1=B
$1=%MID($1,2,10)
list $1+' bottles'
goto R
list '1 bottle'
goto RДесятое посещение острова сокровищ

Дурная голова ногам покоя не даёт, съездил на разведанное в прошлый раз место. Земля, как ни странно, не промёрзла. Ходил несколько часов, но место, судя по результату, что называется «выбитое». Правда
Слева направо рядами: две ложечки (сохранившийся черпак — медный), осколок колокола с надписью «…онов», монета одна копейка 1896 года, шток от рукомойника, пара «конин», набор непонятных «лесенок», шестерёнка от часов, плохо сохранившаяся гильза.
Давай, пока!
Огромного венчанного злодея Похоронили, не жалея: В ту ночь, во сне, передо мной стоял В порфире и венце вот этот генерал… Ступай себе пока!.. А мне своя дорога.
Отрывок из стихотворения «Забытье» Николая Огарева, 1861 год.
Не могу понять почему всех так раздражают «пока» и «давай» в качестве слов прощания. Раздражающиеся говорят мне что не понимают смысла. «Пока» что? «Давай» что?
Мне кажется тут налицо некая слепота, концентрация на частном случае. Не знаю как для других языков, а для русского это весьма характерно использовать неполные фразы. Мы не проговариваем фразу полностью, если из контекста ясно остальное.
— Как ты?.. — Ничо.
«Как ты» что? Что «ничо»?
Но всё понятно же, да? Подобные сокращения встречаются едва ли не в каждом предолжении беглой речи. Понятно же (или нет?), что «пока» и «давай»
Так чего же вы, господа?
Разведка очередного «острова сокровищ»

Зима никак не наступает, завтра у нас вообще +8° обещают, решил ненадолго выехать на разведку — походить в одном перспективном месте. Под самый конец начали попадаться находки, к сожалению уже пора было уезжать,
Сложение массивов в PHP
Некоторые ребята не знают, что в ПХП есть операция «плюс» над массивами, а открыв её для себя случайным чтением инструкции по языку, не знают чем она отличается от array_merge. Между тем отличия разительные, если их не знать, легко наплодить ошибок в коде.
Операция сложения («плюс») с массивами работает проще всего: если в левом массиве уже есть значение с таким ключом, оно и остаётся:
["L"] + ["R"]; // будет ["L"]
["a" => "L"] + ["a" => "R", "b" => "R"]; // будет ["a" => "L", "b" => "R"]Операция слияния массивов (array_merge) работает
array_merge(["L"], ["R", 4 => "R"]); // ["L", "R", "R"], значения целых ключей правого массива потерялись, сам массив добавился в конец
array_merge(["a" => "L"], ["a" => "R"]); // ["a" => "R"], совпадение строковых ключей
array_merge(["L", "a" => "L"], ["R", "a" => "R", 4 => "R"]); // ["L", "a" => "R", "R", "R"], разные типы ключей вместеОперация «плюс» очень полезна для добавления группы ключей строковых со значениями (для объединения ассоциативных массивов):
$arr = ["key1" => "value1", "key2" => "value2"];
// вместо
$arr["key3"] = "value3";
$arr["key4"] = "value4";
// проще написать так:
$arr += ["key3" => "value3", "key4" => "value4"];Но на этом её применение не заканчивается, конечно.
Россияне

На нём — цитата из речи генерала Кутепова, в которой он 12 мая 1929 года говорил, в частности, следующее:
В нашем богатом языке, к сожалению, утратилось одно слово: «россиянин», а между тем это слово нужно и даже необходимо — оно шире, чем слово «русский». Все народы, населяющие Россию, независимо от их национальностей, прежде всего — Россияне.
Я верю, что освобождённая и возрождённая Россия будет именно — Россия для россиян!
1929 год это сильно задолго до Ельцина. А впервые в письменных источниках это слово встречается у Максима Грека в 1524 году.
Девятое посещение острова сокровищ

Удивительно, но снег (пока) не помеха этому хобби — земля ещё не настолько замёрзла, чтобы нельзя было копать. Съездили с женой на пару часов за город и вот результат: три копейки 1933, две копейки 1930, деталька от примуса и три колечка.
Не бог весть что, но и ходил я относительно немного.
Ко(а)ндауровы

Как правильно пишутся мои предки — Кандауровы или Кондауровы, вот в чём вопрос. В разных источниках написание разнится. Что,
Интернет утверждает, что фамилия происходит от адаптации имени хана Даур
Опять же в «Ономастиконе» С.Б. Веселовского (книга не переиздавалась с 1974 года, я купил букинистическое издание, что
Восьмое посещение острова сокровищ

Грех не использовать неделю с четырьмя выходными (у нас в Татарстане два праздника на этой неделе) и двумя короткими рабочими днями на выезды на природу. Несмотря на то, что погода, мягко говоря, не радовала (за городом местами уже лёг неглубокий снежок), выезд получился очень результативным.
По центру — огромный крест, который я, к моему большому сожалению, нашёл не полностью, все три найденные части лежали в разных местах, довольно далеко друг от друга.
Слева: три гильзы, пара непонятных предметов, пять копеек раннего СССР (1926, 1929 и две шутки 1930 гг.), три копейки 1930 года.
Справа: «конина», элемент украшения, колёсико от примуса с немецкой надписью BAYONNET SCHLUSS BRENNER, полушка 1736 года, копейка 1862, одна копейка 1872, одна копейка 1911, заготовка для кольца из монеты 1916 года и ранние «советы» — медная (!) копейка 1924 года.
Седьмое посещение острова сокровищ

Нет лучше способа провести День народного единства, чем выехать на поиск монет!
Верхний ряд, слева направо: петля от шкатулки, две «конины», запор самоварного краника, две гильзы, две пуговицы — одна в позолоте, вторая с орлом, производства
Нижний ряд — пряслице, вырубка из монеты
99 бутылок: CMake
57. CMake. Писать «Песни про пиво» на различных языках программирования — давнее моё увлечение, ему столько же лет, сколько этому блогу. В этот раз «поёт»
CMake — автоматизированная система сборки пакетов, имеющая развитый, хотя и несколько уродливый макроязык. Инструкции, большей частью, знакомые, разве что способ возврата значений несколько из макросов и функций несколько странный — через параметры и глобальные переменные.
Никакого ООП, само собой, и всё весьма примитивно по меркам развитых языков.
# 99.cmake
# to run: cmake -P 99.cmake
# Written by Evgeny Stepanischev, 2015
cmake_minimum_required(VERSION 3.0)
macro(bottles beer ret)
if(${beer} EQUAL 0)
set(${ret} "No bottles")
elseif(${beer} EQUAL 1)
set(${ret} "1 bottle")
else()
set(${ret} "${${beer}} bottles")
endif()
endmacro()
foreach(beer RANGE 99 1 -1)
bottles(beer bottles)
math(EXPR beer "${beer}-1")
bottles(beer bottless)
message("${bottles} of beer on the wall, ${bottles}.")
message("Take one down and pass it around, ")
message("${bottless} of beer on the wall.")
message("")
endforeach()
message("No more bottles of beer on the wall, no more bottles of beer.")
message("Go to the store and buy some more, 99 bottles of beer on the wall.")Строка для запуска во второй строке файла.
Пправила
Встретилась в переписке с коллегами неожиданная, для меня, проблема. Мне казалось все знают, что удвоение символа в односимвольных значках означает множественное число. На ум сразу приходят «гг.» (года), «§§» (параграфы) и «№№» (номера), по правде говоря, я других примеров и не знаю. Кажется, больше я ни с чем таким не сталкивался.
И я задумался — может есть