Привет из Шри-Ланки
С Новым Годом, ребята, и привет
И, кстати, тут я в первый раз в жизни прокатился на слоне,
Когда сидишь сверху, не кажется, что едешь

Кошмар, как я устал к концу этого года, надеюсь восемь дней отдыха вернут меня к жизни.
Массив с конца: ~n
Чудесное нашлось в комментариях на «Хабре»: логичный, на мой взгляд, способ получать значения с конца массива. Способ, вообще говоря, для «Пайтона», но и для «ПХП» можно применить.
В «Пайтоне» есть такая проблема, даже не то чтобы проблема, скорее мелкое неудобство, что списки, если их считать с начала, нумеруются с нуля, а если с конца — с минус единицы:
>>> print([1,2,3][0], [3,2,1][-1])
(1, 1)Лично я к этому так привык, что в нелогичность такого поведения сразу и не вник. Неудобство становится более очевидным, если от фиксированных значений перейти к переменным:
>>> i=2
>>> print([1,2,3,4][i], [4,3,2,1][-i-1])
(3, 3)Чтобы брать значения с конца, везде, как приклееную, приходится таскать эту дурацкую минус единицу. Но есть способ лучше, более того, я им иногда пользовался,
>>> i=2
>>> print([1,2,3,4][i], [4,3,2,1][~i])
(3, 3)
>>> print([1,2,3][0], [3,2,1][~0])
(1, 1)Для тех, кто не понимает смысла операции «тильда» можно объяснить, что без тильды значения берутся с начала, с тильдой — с конца. Здо́рово!
Обычно в таких случаях возражают, что новички будут путаться. Это
Феодор ██████вич Старостин
Кажется я своими записями по поводу родового дерева создаю ощущение, что занятие это простое, нужно только перерыть гору неких бумаг и дело в шляпе. На самом деле — даже близко не так.
Вполне допускаю, что
Всё очень неравномерно — иногда за день добавляешь несколько поколений, иногда за три года продвигаешься
Проблема в том, что по фамилии Старостиных самая дальний известный мне предок — Николай Феодорович, примерно 1870 года рождения, крестьянин
Год рождения известен из двух косвенных источников.
Первая запись нам указывает на 1869 или 1870, вторая — на 1870 или 1871. Вроде как выходит, что Николай Феодорович родился в 1870, раз два источника указывают на этот год,
По моему опыту, чем дальше от рождения, тем чаще указанный возраст не совпадает с реальным —
В сухом остатке сведения по году рождения довольно примерные: период 1869—71, но скорее всего не 1871.
К счастью, мне повезло — в Самарском Архиве я совершенно по другому поводу

Других подходящих Николаев, родившихся в тот год, я в этом деле не нашёл — у остальных отчество другое. Это достаточно сильное основание считать Феодора Ефимовича моим предком, возможно сильнее мне уже не получить, но буду пытаться найти записи и за 1870 год тоже.
Вероятность ошибиться
А пока можно продвинуться чуть дальше — в самарском же архиве, в деле №120, опись 1, фонд 150, на обороте страницы 187 (это перепись за 1850 год), есть Ефим Яковлевич (52 года на тот момент), его жена Дарья Ивановна (41 год) и их сын Феодор, родившийся 6 февраля 1840 года.

Нигде прямо не написано, что этот и вышеупомянутый Феодор — один и тот же человек, но включим логику.
В итоге получается такая картина:

Если насчёт связи Ефим Яковлевич → Феодор Ефимович у меня сомнений нет, тут всё вырисовывается достаточно чётко, то с Николаей Феодоровичем полной уверенности быть не может, пока на руках у меня не появятся записи о рождениях в этом селе за 1870 год (если они вообще существуют). Пока же придётся работать с существующей версией.
Шапошниковы → Евдокимовы
Эдак у меня все предки могут однодворцами оказаться. Только я подумал, что раз я у своих Евдокимовых добрался до человека, давшего фамилию потомкам, когда всем крестьянам раздавали фамилии — Евдокима Дмитриевича, то по этой ветке все крестьяне, как в переписи 1795 года нашёл его родителей, которые оказались… Шапошниковыми.

Раз в те времена у них имелась фамилия, то скорее всего
Сомнений в том, что это именно мои Евдокимовы,
Справа я написал расшифровку написанного. Я на эту рукопись поглядываю время от времени две недели, но для меня до сих пор часть слов — загадка, если бы не форум, где помогают с прочтением таких надписей, я бы ещё пару недель мучался бы. Скорее всего такие надписи надо разглядывать на не экране ноутбука, а на мониторе побольше.
В расшифровке, кстати, место есть одно, для меня бывшее загадочным — «старинная в той слободе», как пояснили на форуме, имеется ввиду, что в этой слободе она давно, из чего я сделал вывод, что родилась она
«Taint» в Перле
Спасибо провидению, в своё время мне удалось несколько лет попрограммировать на Перле. Язык (заслуженно) ругают, но там есть много интересных вещей, которые не грех бы перенести и в другие языки.
Например, хорошей вещью, на мой взгляд, является «taint» («загрязнение») — это специальная метка на переменной, что в ней лежат недоверенные данные, смешивание доверенных и недоверенных данных приводит к «загрязнению» результата. Недоверенными данными является весь ввод — то, что пришло со входного потока, прочитано из файлов и так далее, доверенными — то, что произвела сама программа. Например:
my $a = "hello"; # доверенные данные
my $b = <>; # «загрязённые» (строка, прочитанная из входного потока)
$a .= $b; # данные в переменной $a стали «грязными»«Грязные» данные (если включен соответствующий режим), при попадании в операции, где они могут представлять угрозу для безопасности (например, пользовательский ввод напрямую попадает в функцию языка для удаления файла), генерируют специальное сообщение.
Вот, например, что будет если я добавлю в конец предыдущего кода вызов unlink (эта функция удаляет файл в Перле) с переменной «a», в качестве аргумента:
Insecure dependency in unlink while running with -T switch at sample.pl line 6, <> line 1Причём выполнение программы прервётся в этом месте.
«Грязные» данные можно отчистить, например, пропустив их через регулярное выражение (предполагается, что в этом случае вы проверяете их на корректность и выбираете только то, что безопасно для вашей программы), за подробностями отсылаю в документацию, она простая и понятная, даже если вы плохо знаете английский.
Было бы полезно иметь такой же механизм в ПХП — это помогло бы свести многие уязвимости к нулю, например, внедрение скриптов в код ХТМЛ
Справедливости ради, «taint» есть не только в Перле, насколько я знаю, этот же механизм используется в Руби и одно время был реализован в ДжаваСкрипте.
Егор Фёдорович Миронов
Поэтому
Егор Фёдорович — мой прапрапрапрапрапрадед со стороны мамы, собственно эту фамилию он не носил — её дал роду его сын, Мирон Егорович, да и то, гораздо позднее.
В отличие от других веток, где мои крестьянские корни на деле оказались родом из однодворцев, Мироновы, по всей видимости, «честные» крестьяне — я уже приблизился к периоду когда сословие однодворцев упраздняли, тем не менее, никаких признаков смены сословия у Мироновых я (пока) не вижу.

Почему я вообще пишу об этом предке. Окрестности Бугульмы, где жили мои предки
Моих предков так же переселяли, а иногда они переселялись сами
С Мироновыми иначе — они жили (и многие потомки живут, кстати, до сих пор) в Новой Письмянке (сейчас — пригород Лениногорска), а первая ревизия по этому населённому пункту, которую мне удалось найти — за 1811 год. К сожалению, на сей раз в ревизии не указано откуда же они перебрались.
Что делать? Вспоминать историю!
Т. е. вероятно мои Мироновы — переселенцы из Старой Письмянки, что при изучении бумаг тут же подтвердилось — в переписи от 30 ноября 1795 года они находятся
Причём сразу становится известным его отчество, полное имя его жены (Степанида Естифеевна), а так же годы их рождения и смерти. Например, напротив Егора Фёдоровича стоит «47» — это возраст его на предыдущую ревизию (она была в 1782 году) и «умре в 791» — умер в 1791 году.
Из Новой Письмянки у меня две ветки — есть ещё Макридины, буду сегодня их тут же искать, надеюсь повезёт, найду и количество населённых пунктов, которые нужно исследовать, уменьшится на один.
Старая же Письмянка основана в 1738 году, по одной из версий — донским есаулом Иваном Письмянцевым (или Письмянским), который то ли бежал в те края, то ли бы сослан:
По древнему преданию, передаваемому от одного поколения жителей Старой Письмянки к другому, своим названием их лениногорское село обязано донскому есаулу Ивану Письмянскому, который был сподвижником Емельяна Пугачева.
После разгрома крестьянской армии он укрылся от преследований войск Екатерины II более трехсот лет назад с немногочисленной ватагой казаков на нынешнем
юго-востоке Татарстана, где средь густых лесов в предгорьях Урала основал на берегу реки Степной Зай поселение, названное затем Письмянкой.А Старой она стала называться после того, как часть тех беглых пугачевцев, покинув есаула, двинулась дальше, и то место, где они осели, назвали Новой Письмянкой.
Интересно, что у одной из веток Мироновых (мы так пока и не выяснили родственники мы или нет), есть семейная легенда, что их род идёт от некого казака, основавшего в незапамятные времена Письмянку.
Если окажется, что у нас общие предки, легенда станет и моей тоже. А самое интересное, что с представителем этой ветки Мироновых я познакомился случайно, в Казани — одна из наших офисных секретарей выходила за него замуж.
К сожалению, легенда плохо согласуется с историей — Старая Письмянка, как я писал выше, основана в 1738, а Емельян Пугачёв родился только через четыре года. Возможно тут имеет место смешение двух разных историй как часто бывает в легендах.
Как я случайно выживал
Сегодня за досужим разговором в офисе, вспоминали советское детство, точнее его сторону, давшую начало поговорке «мужчина — это случайно выживший мальчик», то есть всё то опасное, что в детстве было интересным, но никого особо не удивляло — карбидные «бомбы», строительные патроны в костре и так далее.
Помимо обычных дворовых развлечений того времени, у меня имеется и индивидуальный опыт, я уверен, тут есть дети СССР, поделитесь, чем способным ужаснуть сейчас, вам запомнилось собственное детство?
Начну сам, для затравки (на фото ниже я с двоюродной сестрёнкой).

Конечно, среди радиодеталей были и разнообразные конденсаторы, думаю все знают что это такое. Вообще, их бывает несколько видов, но для мальчишек, как правило, они делятся на две группы: те, что можно сунуть в розетку, и те, что нет.
Группа определялась просто: если корпус плоский и указанное на корпусе напряжение больше того, что в розетке — это интересный, полезный конденсатор, если нет — ненужный хлам. Что делают с первыми я подсказывать нынешнему поколению не буду, а речь пойдёт про вторые.
«Ненужный хлам» — это, как правило, электролитические конденсаторы, которые выглядят, как небольшие бочонки. Внутри — два рулона фольги, разделённые изолятором и смотанные в один рулончик, который боком и уложен в «бочонок». Рулон очень длинный, я для интереса разбирал неработающие, во многих внутри несколько метров такой фольги, ребёнком я был любопытствующим.
Вот мне и стало интересно, а что, собственно, будет, если засунуть электролитический конденсатор в розетку? Я взял «бочонок» побольше (на его боку было написано максимальное значение в вольтах, которое я только нашёл, думаю, около 50—75), припаял к нему два провода и, особо не колеблясь, сунул в розетку.
Никогда, никогда, никогда не повторяйте этого дома! Результатом стал мигнувший свет во всей квартире, вспышка, громкий хлопок, прибежавшие из зала родители и внезапно наступивший Новый год — корпус разорвало, вся многометровая фольга моментально размоталась и приклеилась к потолку, на манер новогоднего серпантина.
До сих пор не понимаю как в меня
А у вас в детстве были опасные моменты?
Болшэ синый, нэт, болшэ красны
Я уже
В ролике американец Тим Кёрби (на русском языке), рассказывает, что русские мало того, что произносят слова неправильно (например,
Я понимаю, это закономерный процесс — заимствованное слово нередко искажается («рынду бей» = «to ring the bell»), теряет часть своих значений или приобретает новое. Это даже нормально:
Но, как оказалось, моё предположение, о котором я написал в начале, оказалось фактом — для носителя языка, откуда были произведены массовые заимствования (в наше время это английский), наша речь будет звучать смешно.
Кстати, в ролике есть очень познавательные вещи. Например, говорить
Почитать на выходные
«Один день в десятом веке или назад в прошлое» — очерк Павла Сапожникова, который поставил своей целью прожить на построенной копии древнерусского хутора более полугода без современных удобств, именно так, как жили наши предки. Живёт уже с сентября. Внутри много фотографий (а не рисунков на бересте, как можно было бы ожидать).
История мультфильма «Бременские музыканты», рассказанная его режисёром, внутри, помимо текста, много фотографий, иллюстраций, не вошедших в мультфильм, эскизов и так далее. Узнал, что Трубадура и Атаманшу озвучивал один и тот же человек — Олег Анофриев.
«Эхо войны» — статья о том, что до сих пор блестящего и взрывоопасного, оставшегося с Великой Отечественной войны, может валяться в наших лесах. Конечно, запомнить описанное нереально, да и наверняка бывают другие смертельные вещи, но может прочитанное спасёт от желания ковырнуть сапогом в лесу очередную блестящую херовинку.
И напоследок ссылка, содержимое которой я скопировал из «Вконтакта», небезынтересные рассуждения о взаимоотношениях официальной науки
Небольшая заметка у Артёма Поликарпова о песне «Аллилуйя» (многие с ней впервые познакомились в мультфильме «Шрек») — про единство её музыки и слов.
Святцы и коллизии
Как многие наверное помнят из литературы, имена в дореволюционной России давали по святцам — календарю, где каждому дню были сопоставлены некие святые — один или несколько. Имя новорождённому давали в момент крещения, по святому, который выпадал на этот день.
Я
Родился Акакий Акакиевич против ночи, если только не изменяет память, на 23 марта. Покойница матушка, чиновница и очень хорошая женщина, расположилась, как следует, окрестить ребенка.
Матушка еще лежала на кровати против дверей, а а по правую руку стоял кум, превосходнейший человек, Иван Иванович Ерошкин, служивший столоначальником в сенате, и кума, жена квартального офицера, женщина редких добродетелей, Арина Семеновна Белобрюшкова.
Родильнице предоставили на выбор любое из трех, какое она хочет выбрать: Моккия, Соссия, или назвать ребенка во имя мученика Хоздазата.
«Нет, — подумала покойница, —
имена-то все такие». Чтобы угодить ей, развернули календарь в другом месте; вышли опять три имени: Трифилий, Дула и Варахасий. «Вот это наказание, — проговорила старуха, — какие всё имена; я, право, никогда и не слыхивала таких. Пусть бы еще Варадат или Варух, а то Трифилий и Варахасий». Еще переворотили страницу — вышли: Павсикахий и Вахтисий.«Ну, уж я вижу, — сказала старуха, — что, видно, его такая судьба. Уж если так, пусть лучше будет он называться, как и отец его. Отец был Акакий, так пусть и сын будет Акакий». Таким образом и произошел Акакий Акакиевич. Ребенка окрестили, причем он заплакал и сделал такую гримасу, как будто бы предчувствовал, что будет титулярный советник. Итак, вот каким образом произошло все это. Мы привели потому это, чтобы читатель мог сам видеть, что это случилось совершенно по необходимости и другого имени дать было никак невозможно…
Н. В. Гоголь. «Шинель»
Крестьянам, скорее всего, послабления не полагались и что же делать, если дети рождались так, что их приходилось называть одним и тем же именем? Как видно — ничего, называли без исключений. В переписи Старой Письмянки (тогда она ещё называлась Письмянская Ясашная слобода) подобные записи не редкость.

Например, на снимке выше две Оксиньи Даниловны (это записи 1816 года), мои дальние родственницы со стороны папы. Такие вещи, надо сказать здорово мешают — иногда точной связи между записями разных годов не прослеживается и любая неуникальность людей только вредит.
У меня, признаться, ещё недавно было заблуждение, что имя+отчество должно однозначно указывать на конкретного человека, в рамках его жизни в одной дереве или селе. Кажется, я
Ещё хуже, когда, например, некий Фёдор (или Феодор — в разных переписях имя

Приходится особенно тщательно накапливать данные в таких случаях и пока, к счастью, неразрешимых ситуаций не возникало, очень надеюсь и не возникнет.
Highscreen Boost 2
Быстрее был лето, чёрт возьми, желание одно — загребая снег когтистыми пальцами, ползти туда где тепло. Как вы все зиму переживаете, а?
Ну да ладно, я про другое хотел рассказать.
Последний год или чуть больше, я пользовался смартом Нокия Люмия 920. Вцелом, был доволен всем — производительностью, удобством, даже ситуация с малым числом приложений уже начинала исправляться, но! Всё портит то, что мне всегда не нравилось в современных смартфонах — ёмкость аккумулятора. Ну почему, почему, нельзя сделать его чуть толще и тяжелее и чтобы он работал полных два дня, вкалывая по полной? Я горошину через матрас не чувствую, не отвалится рука к уху прикладывать лишнюю сотню грамм.
В общем,
Очень меня этот квест достал, настолько, что решился я, наконец, приобрести Highscreen Boost 2 — смартфон на богомерзском «Андроиде», зато «долгоиграющий» — обещали две недели работы без зарядки. На снимке справа — Нокия Люмия 920, справа — Хайскрин Буст 2:

Вот уже около двух месяцев я им пользуюсь, решил кратко поделиться впечатлениями. Без выбешивающего меня бесполезного «анбоксинга» и простого перечисления характеристик, просто собственные впечатления.
Самое главное — нет, две недели он у меня не живёт. В комплекте два аккумулятора, на большем получается прожить 5—6 дней, на меньшем — 2—3. На снимке как раз прицеплен меньший.
Перед покупкой я неделю наблюдал за своим сценарием использования смарта, пытался понять что для мне критично, чтобы не промахнуться. Вот что я выяснил: чаще всего на «Люмии» я читал книги, почту, иногда смотрел
В таком режиме моя «Люмия 920» жила день, иногда — меньше. Иногда она
С точки зрения сценария, получается, мне более всего интересен экран и софт для книг с почтой. С этим всем у «Буста» порядок: экран хороший (хоть
Сейчас я неделю использую тонкий аккумулятор, с толстым живётся повольготнее, но смартфон становится похожим на кирпич, да и необходимости не заряжать его по пять дней нет. Видимо, это выбор для походов.
Какие недостатки.
Но с этим я готов мириться, внезапно севший аккумулятор доставлял мне намного больше неприятностей.
Новости домашнего хозяйства
Кот тут обучился новому приёму. Раньше он показывал своё желание попить
Так его этот новый метод коммуникации забавляет — тычешь лапой и тут же дрессированные человечки побежали включать воду, что пробует его постоянно, даже если пить не хочет — лизнёт потом пару капель и уходит. А может просто в повторяемости разбирается — а вдруг сломается
Умнеет скотинка.
Удаление Cisco AnyConnect Secure Mobility Client
Если вы удалили у себя (с «Мака») Cisco AnyConnect Secure Mobility Client, а потом, при повторной установке, он утверждает, что на этом компьютере он уже есть и ставиться не будет, нужно выполнить в командной строке следующую команду:
sudo pkgutil --forget com.cisco.pkg.anyconnect.vpnЧуть без випиэна дома не остался.
_Noreturn в C11
Си — язык на котором я программирую редко, но всё же такое случается. Соответственно слежу что там появляется нового (кстати, есть ребята, которые понятия не имеют, что этот язык вообще развивается).
В относительно недавно вышедшей редакции
Смысла этого я не понимал,
Я noreturn никогда не пользовалась, но насколько я знаю он нужен, когда функция вообще не возвращает значение. В void функции можно сказать ’return;’
Noreturn-функции либо бросают исключения, либо говорят exitв какой-то момент. Если компилятор знает, что из функции возврата нет, то может сделать соответствующую оптимизацию.За Си не слежу, мне здесь C# полезнее, чем С.
Чуть подробнее об этом написано в описании атрибута «noreturn» компилятора gcc (там есть аналог в виде расширения языка) на примере функции fatal:
The noreturn keyword tells the compiler to assume that fatal cannot return. It can then optimize without regard to what would happen if fatal ever did return. This makes slightly better code. More importantly, it helps avoid spurious warnings of uninitialized variables.
The noreturn keyword does not affect the exceptional path when that applies:
a noreturn-marked function may still return to the caller by throwing an exception or calling longjmp.Do not assume that registers saved by the calling function are restored before calling the noreturn function.
В общем, примерно понятно, хотя, на мой взгляд, всё равно выглядит как микрооптимизация.