🔌 Как много кабелей хороших, как много ласковых имён

Разъёмы (43.02КиБ)
Сетевая карта ICL EtherTeam 16i с разъёмами BNC и AUI

Сейчас половина олдфагов интернета потешается над пареньком, в объявлении на «Авито» перепутавшим сетевую карточку с ТВ-тюнером из-за разъёма под коаксикальный кабель.

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

Много ли людей сходу, не гугля, скажут что за разъём на переднем торце карты на фотографии рядом с кабельным? Я сети на нём вживую не видел, но зато видел залежи оборудования под него в одном из НГДУ «Татнефти», когда работал там в середине девяностых — видимо то был самый конец их существования в этой организации.

Это так называемый разъём «AUI». Карта через него, по специальному кабелю, похожему на принтерный, соединялся с небольшой коробочкой — трансивером, у которого был разъём BNC. Через него вся эта непростая конструкция подключалась в локальную сеть.

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

🐞 Немного об отладке через var_dump

Отладка на vk (144.06КиБ)
Кто-то из разработчиков отлаживает «Вконтакт» через var_dump прямо на «бою»

Недавно поймал, посещая «Вконтакт», такую ситуацию. Владельцы её заметили нескоро — висело ещё минимум час.

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

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

🎱 Сложности при написании «99 бутылок» на «Электронике МК-61» ★

Микрокалькулятор Электроника МК-61 в картонной упаковке с описанием функций и рядом с самим устройством на светлом столе.
Тот самый калькулятор «Электроника МК-61», который попал мне в руки

Как и обещал в прошлый раз, хочу рассказать с какими сложностями мне пришлось столкнуться при написании «Песни о пиве» на программируемый калькулятор «Электроника МК-61».

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

В процессе изучения я наткнулся на заинтриговавшую меня вещь. В некоторых операциях калькулятор переключался в режим шестнадцатеричного счисления, о чём сигнализировала восьмёрка и точка в первом разряде.

Таблица 5: соответствие десятичных чисел (0–15), их двоично-десятичных кодов и символов на индикаторе, включая пробел.
По этой таблице калькулятор отображает шестнадцатеричные числа

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

Тем более мне очень повезло в том, что индикацией этого режима является именно восьмёрка, стоящая спереди — так похожая на первую букву в нужном мне слове. Как вы теперь понимаете, на экране в моей программе написано не «BEEr», с точки зрения калькулятора там одни числа и индикатор режима — «8.EEГ» или «EED» в привычной записи (десятичное «3821»).

Так же я воспользовался тем, что «F» в этой странной нотации — пробел, что позволило мне отделить число от «надписи». Дальнейшее — дело техники.

Листинг из предыдущего поста начинается с подготовки данных в регистрах — нескольких масок на которые битовыми операциями в дальнейшем наложатся числа так, чтобы получилась нужная мне «строка». Настоящая программа начинается с нажатий на «В/О» и «ПРГ», и активно пользуется подготовленными данными.

Маски и оставшиеся числа побитно накладываются двумя подпрограммами — по отдельности на диапазоны 0…5 и 6…9 — способы их получения разнятся. Я широко использую операцию «ИНВ» — она инвертирует биты числа, по логике инвертирования цифры 6…9 превращаются в на свои позициях 9…6, и тут никаких сложностей, а знаки в диапазоне 0…5 получаются сложнее — там накладываются сразу две специальные маски и счётчик.

Для примера кусочек подпрограммы, номер слева соответствует номеру инструкции при вводе в калькулятор и каждую строку я прокомментирую, но следует понимать, что в реальности эти комментарии частью программы не являются:

// когда что-то попадает в «X» предыдущее значение смещается в «Y» (там стек из 4 позиций)
45 1 // «1» кладётся в регистр «X», входной параметр сместился в «Y»
46 + // Y + 1, передаётся в «X», это коррекция данных после операций, которые шли выше
47 К П→Х 7 // в «X» помещается число из регистра (маска), указанного в регистре №7
48 + // Y+X → X
49 ИНВ // инвертирование битов в «X», сейчас на экране написано «8.EEГ» плюс некий пока мусорный символ
50 К П→Х 8 // в «X» помещается число из регистра, указанного в регистре №8
51 ^ // операция «И», на экране — «8.EEГ», из некого символа получилось требуемое число
52 В/О // возврат из подпрограммы

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

Подпрограмма вызывается два раза с разными параметрами — для десятков и единиц, получаются две маски, которые позднее накладываются друг на друга.

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

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

«99 бутылок» на языке «Электроники МК-61»

Электроника МК-61 — советский программируемый калькулятор с ЖК-дисплеем, клавишами и надписями «ЭЛЕКТРОНИКА МК-61», лежащий на деревянной поверхности.
«Электроника МК-61» с запущенной на нём программой

59. Язык калькулятора Электроника МК-61. «Электроника МК-61» — устройство из класса «программирумых калькуляторов». Были когда-то такие гаджеты, позволявшие со всеми ограничениями калькуляторов (небольшая клавиатура, типичный для калькулятора экран) писать программы.

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

Вчера мне в руки попал настоящая «Электроника МК-61» (для передачи компьютерному музею) и я наконец-то на обеде и потом вечером разобрался в этих странных значках.

Так выглядят мои «99 бутылок…» на этом калькуляторе:

8112000 Х→П c 8 + ИНВ Х→П b Вх 10 ÷ [X] Х→П d 8 + ИНВ Х→П e В/О ПРГ
П→Х 0 1 0 ÷ [x] Х→П 1 Вх {x} 1 0 × Х→П 2
1 1 Х→П 8 1 2 Х→П 7 П→Х 2 ПП 34 Х→П a
1 4 Х→П 8 1 3 Х→П 7 П→Х 1 ПП 34 П→Х a
^ С/П
6 - /-/ x<0 45 9 + К П→Х 7 + ИНВ В/О
1 + К П→Х 7 + ИНВ К П→Х 8 ^ В/О

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

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

До запуска программы нужно в регистр «0» поместить стартовое значение (например, «99», «Х→П», «0») и запустить программу «В/О», «С/П».

Это я сделал из-за того, что цикла в программе нет — из-за мельтешения разрядов совершенно не понять, что происходит. Хотя добавить его очень просто — до команды «С/П» надо вставить одну проверку с переходом и сдвинуть адреса.

Поэтому на вход подаётся нужное число, например, «42», а на выходе мы можем полюбоваться фразой «BEEr 42». Не весть что, но что вы хотели от калькулятора? Кстати, выводимая фраза — не строка (спойлер: а число), о том как мне пришлось помучаться я ещё расскажу.

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

💾 В последний раз о Trek Thumbdrive

Чёрный USB-накопитель TREK ThumbDrive с зелёным индикатором подключён к ноутбуку; рядом — его кожаный чехол с логотипом и ремешком «ThumbDrive», а также отдельная чёрная крышка.
Встреча гаджета из 2001 года с далёким потомком этой флешки внутри ноутбука

Предупреждали ведь меня умные люди в комментариях — сохрани драйвера. Почему я не прислушался?

У нас в городе, силами моего хорошего знакомого — директора высшей школы ИТИС Айрата Хасьянова, создаётся небольшой компьютерный музейчик. Я в размере своих закромов ему помогаю, вот и уникальную флешку на 16 мегабайт тоже передаю.

Но перед этим хотел посмотреть нет ли на ней чего-то важного, что нигде больше у меня не сохранилось. К сожалению, в силу своей древности (речь идёт о 2001-м году, тогда, в феврале она у меня появилась), требуются драйвера — в те времена это было диковинное устройство и стандарта на них ещё не было. В те времена всё ещё только начиналось и флешки тогда продавало всего две компании — сигнапурская «Трэк Текнолоджи» и американская «Эм-Системс».

Сейчас смешно звучит, но флешки того времени имели ёмкость от 8 до 256 мегабайт (не гигабайт) и продавались с драйвером на дискете.

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

И вот вчера повезло — на неком тайском блоге нашёл запись со ссылками на другой сайт с полным комплектом драйверов. К сожалению, сначала драйвера не скачались — сайт давно лежит в обломках. Но мне повезло дважды — через «Веб-архив» удалось открыть страницу какой она была в 2011 году и выкачать сами драйвера! 

Скриншот Windows XP: окно свойств диска E (FAT, 15.5 МБ, 52 КБ занято) поверх «Мой компьютер» с папкой IEUser’s Documents и иконкой диска E на фоне рабочего стола.
Флешка обнаружена и работает внутри виртуальной машины

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

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

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

⛪ Деревня, которой ранее не было, а потом появилась

д. Что была пустошь… (154.66КиБ)
Деревня, что была пустошь на горе, вниз по горе, меж речек

Изучал вчера старинные карты вокруг Мамадыша и наткнулся на очень интересное название деревни, оцените (внизу, правая сторона): деревня Что была пустошь на горе, вниз по горе, меж речек.

Запятые я расставил сам, но не уверен, что автор имел ввиду именно такую расстановку, какая-то немного неулюжая фраза получается.

Куюк (29.06КиБ)
Деревня, что была пустошь на горе, а стала Куюк

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

Мне кажется, если вернуть историческое название, будет интересная достопримечательность.

Оставить комментарий

🌊 Поверка счётчиков воды

Подошёл срок замены водяных счётчиков дома. Дело длительное, да и не из дешёвых — у меня четыре счётчика, за всё около 5 тысяч. Интересно стало — так ли необходима их замена и какие есть альтернативы.

Оказалось, вместо замены можно втрое дешевле выполнить поверку счётчиков, причём это довольно быстро, делается на дому и даже не требует их снятия. Мне эту процедуру провели специалисты «Казметрологии». 

Подключение прибора поверки (92.12КиБ)
Установка поверочная переносная УПСЖ 3 ПМ

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

Крепление трубки (83.18КиБ)
Вот так крепится трубка установки

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

Засекает отсчёт (62.89КиБ)
Мастер засёк начало поверки кнопкой на выносном пульте

Для каждого напора погрешность должна быть в пределах нормы. У меня все счётчики безбожно врут, придётся всё же менять. Как мне сказали, примерно половину счётчиков на вызовах меняют — не проходят поверку.

Погрешность моего счётчика (48.68КиБ)
Погрешность одного из моих счётчиков — почти 8,5%

На фото выше результат одного из моих счётчиков в ванной — 8,4%, это слишком высоко, надо менять. У меня установлены счётчики «Бетар» СГВ-15, их средний срок службы — 12 лет.

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

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

🐱 Кот и весы

Кот (65.09КиБ)

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

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

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

Пуговица с острова сокровищ

Пуговица (134.59КиБ)
Пуговица с завода Бухъ

Как-то, в седьмое «посещение острова сокровищ» выкопал пуговицу со ржавым задником — там смутно угадывались какие-то буквы, но и только. Ничего определённого видно не было.

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

Это оказалась фабрика Бух. Надпись полностью выглядит следующим образом (буквы «эс» неясно по какой причине оборотные):

«БУХЪ Buch 1 Сортъ Ƨ PETERƧBURG»

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

Фабрика ещё потом несколько раз меняла владельцев и название (но фамилия «Бух» в нём неизменно сохранялась), пока не наступила революция.

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

Подпилил переподсоединялку вайфая

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

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

🏠 Дом Микляева в Казани (17 век)

Фрагмент старинного краснокирпичного здания с декоративными элементами и снежными подоконниками; на фоне — золотой купол церкви с голубой звездой.
Фасад дома, справа за домом виднеется верхушка Петропавловского собора

Сегодня благодаря Олесе Балтусовой (за что ей огромное спасибо) побывал в так называемом «доме Михляева» (правильно — Микляева).

Во многих современных источниках это здание называется самым старым гражданским зданием Казани и её первым каменным жилым домом. Его постройка датируется концом 17 века, хотя есть мнение, что дом мог достраиваться, а значит некоторые его части могут иметь другую датировку.

Иван Афанасьевич Микляев был настоящим олигархом своего времени — крупнейший в Среднем Поволжье подрядчик вина, крупный заводчик (несколько собственных предприятий и паи), аграрий, речной судовладелец, ростовщик.

В своё время это был известный, успешнейший человек, уважаемый властью. По местной легенде в его доме справлял своё пятидесятилетие Пётр І.

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

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

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

Обрушенный потолок с обнажённой красной кирпичной кладкой, трещинами и свисающими проводами над арочными проёмами в заброшенном здании.
Аварийный свод подвала, близко подходить опасно

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

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

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

Крупный план старой кирпичной кладки с остатками снега в швах; на двух кирпичах видны выбитые буквы «МЧ».
Кирпичи с клеймом производителя — «МЧ». Их довольно много на левом углу со стороны фасада
Угловое пространство подвала с каменными стенами, покрытыми солями и облупившейся штукатуркой, ржавыми трубами и деревянным потолком.
В подвале есть стена из тёсанного камня

Выдаёт какие-то работы по изменению дома и форма окон — на фасаде есть три их различных типа. То ли дом в своё время от чего-то пострадал и реставрировался, то ли состоял из нескольких разных секций и позже был объединён. Или возможно использование в левой части дома кирпичей конца 19-го века и более простая форма окон там же выдают более поздний пристрой к дому.

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

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

Износ белого лепного карниза и арки над зелёными стенами с облупившейся штукатуркой в заброшенном помещении.
Остатки былой роскоши в коридоре

Очень хочется, чтобы дом получил второе рождение и радовал жителей Казани ещё ни одну сотню лет.

Оставить комментарий

👅 Болтун — находка для шпиона

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

Было это в примерно в самом конце 90-х, когда я ещё в Университете учился, параллельно лаборантил на своём же факультете.

Я как раз сидел в одном из компьютерных классов по какой-то лаборантской нужде, когда Саша Д., с которым мы вместе работали, привёл к нам зачем-то иностранца. Какие дела у них были между собой не помню, но Саша с ним довольно бодро на ломанном английском обсуждал какие-то дела, а потом куда-то ушёл.

Бедный иностранец сидел какое-то время смирно, а потом занервничал и решил у меня, скорее всего, поинтересоваться куда ушёл его собеседник. Что он сказал, не знаю, просто не воспринял ни слова из его фразы, но подумал, что если мне тираду повторить медленно, то я смогу что-то уловить.

Осталось за малым — облечь моё соображение в слова. К сожалению, и это на тот момент мне далось с огромным трудом. Я потерпел полное фиаско, попытавшись сформировать в голове фразу.

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

— Slowly!  — «Slowly»? Hm… «slowly»… — удивился иностранец.

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

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

☭ Антисоветская шутка

Шутка во всей красе (105.47КиБ)

На картинке нарисована старая антисоветская шутка. Сможете расшифровать смысл?

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

🎈 Он улетел, но обещал вернуться

График постов в блог (46.23КиБ)

Кажется со мной происходит одна вещь, которую очень трудно оценить изнутри. Трудно настолько, что я не понимаю — происходит ли это на самом деле. Вроде какие-то звоночки есть, но они в целую картину складываются настолько с трудом, что это выглядит натяжкой.

Кажется я теряю интерес к окружающему миру и ухожу в себя. Наверху я вывел график постов в блог (строка кода наверху — это я Пайтоном считал статистику, блог у меня на текстовых файлах работает), снижение отчётливо видно после переезда в Казань. На провал 2005—2007 можно внимания не обращать — если я ничего не путаю, тогда я на ЖЖ переключался.

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

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

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

Или в голове у меня произошёл какой-то сдвиг парадигмы и всё что было ценно раньше, обесценилось, а я просто цепляюсь за прошлое. Непонятно.

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

Первые социальные сети

Итак, первый брак, заключенный дистанционно, с трансляцией в режиме реального времени, по итогам знакомства в социальной сети, — это брак Сары Ортен из Питтсбурга и Томаса Уэлша из Цинцинатти, познакомившихся в телеграфном «чате» (популярное развлечение тех лет) в 1883 году. Приглашение на виртуальную свадьбу получили все, кто в тот момент находился «он-лайн».

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

И обо всем об этом пишет Джей Клейтон в замечательной книжке «Dickens in Cyberspace: The Afterlife of the Nineteenth Century in Postmodern Culture».

Проблема «в интернете никто не знает, что ты кот» существовала уже в 19 веке.

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

Дерево в цепочках

Дерево в цепочках (120.20КиБ)

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

В общем, там где мне совсем сильно жмёт, я пишу иногда небольшие скрипты. Недавно написал очередной и решил поделиться. Этот скрипт (написан на ПХП7) позволяет развернуть дерево в формате GEDCOM (это общепринятый формат для хранения информации о родословной) в цепочки — то есть простраивает все пути от указанного человека до каждого его предка.

Это позволяет быстро увидеть какие ветки у вас проработаны, а какие нет. Классическое дерево на моих объёмах это уже не показывает — его просто невозможно охватить взглядом и понять где есть проблема.

Для запуска требуются два параметра: нужно указать путь до файла дерева и идентификатор человека, от которого нужно простроить цепочки, его надо посмотреть внутри файла (GEDCOM текстовый формат). Для этого нужно найти внутри запись нужной персоны и выше неё — строку вида «0 @буквыцифры@ INDI», вот часть «@буквыцифры@» и будет требуемым идентификатором.

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

В последний раз о Кандауровых

О своих предках Кандауровых (или Кондауровых) я писал несколько раз ([1], [2], [3]), сегодня, видимо, напишу в последний, чтобы поставить символическую точку, так как источники кончились, продвижения дальше не будет.

Кандауровы (38.96КиБ)

Эта ветка выделяется тем, что она у меня рекордсменка — самый дальний предок жил аж в 16-м веке. Точных дат у меня нет, но по понятным ограничениям Данила Кандауров не мог родится в 17-м веке.

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

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

strtr vs. str_replace

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

Кроме того, часто выход какой-то новой версии обесценивал результаты большинства исследований в этой области. Недавний выход «семёрки» с блеском это продемонстрировал.

Среди подобных текстов есть и вредные. Речь об одном из них и пойдёт. Впервые на сравнение производительности функций str_replace и strtr (с одним параметром) я наткнулся очень много лет назад, тогда с ним разобрался и тему для себя закрыл.

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

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

Обратите внимание на этот код:

$r = ['xo' => 'xaxе', 'xa' => 'xo'];
$s = 'xoxo';

var_dump(str_replace(array_keys($r), array_values($r), $s)); // xoxеxoxе
var_dump(strtr($s, $r)); // xaxеxaxе

Очевидно результаты разные, но почему? Потому что str_replace делает замену «в лоб» — проходя строку несколько раз, по числу заданных замен. Поэтому получается «xoxo» → «xaxexaxe» → «xoxexoxe».

Функция strtr куда более хитрая, но работает более… естественным что ли образом — т. е. так как обычно человек ждёт от функции множественной замены. Самое главное — в сделанной замене она уже ничего не заменяет.

Есть и другое отличие:

$r = ['user1' => 'one', 'user11' => 'eleven'];
$s = 'user11';

var_dump(str_replace(array_keys($r), array_values($r), $s)); // one1
var_dump(strtr($s, $r)); // eleven

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

Как видите, эти функции совершенно разные по своему действию и сравнивать по производительности их просто некорректно.

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

Слово «имплантат» устарело

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

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

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

Новое Исаково Бугульминского района

Сепия: две запряжённые лошади стоят у крыльца деревянного дома с резными колоннами; на повозке сидит мужчина в шляпе, рядом кусты и деревья.
Усадьба Шулешкина

Сегодня произошло примечательное событие — я получил дореволюционную фотографию усадьбы помещика Шулешкина из сельца Новое Исаково (ныне Бугульминский район) — в этом сельце жила семья моего прапрадеда с маминой стороны, крепостного крестьянина Павла Степановича. Фотографию прислал потомок тех самых Шулешкиных.

Фото примечательно тем, что дореволюционных фото этого поселения в интернете нет в принципе, остаётся надеяться только на персональные архивы, которые могли каким-то чудом пережить революцию. Это легко объяснимо — место не историческое, населённый пункт крошечный — в 1850 году там проживало чуть более сотни человек, да и сейчас порядок тот же — 67 человек на начало 2013-го.

Так как документов исчезающе мало, с трудом, но всё-таки удалось хотя бы в общих чертах проследить историю Нового Исакова. Думаю, можно утверждать, что оно было образовано от Старого Исакова, которое так же имеет на старых картах и бумагах названия Исаково (1792, 1834), Лисьи Горы (1799, 1816, 1834, 1850, 1858, 1867) и д. Васильевская (1805).

Год образования Нового Исакова точно мне неизвестен, но наличествующие материалы дают временную вилку 1834—1850. Верхнюю границу даёт Самарский архив, где я нашёл бумаги переписи 1850 года, нижнюю даёт отсутствие такой же переписи в бумагах 1834-го (при этом Лисьи Горы там есть), возможно они просто не сохранились. Но тогда точную нижнюю грань даёт карта 1805 года — там Нового Исакова нет.

Кстати на этой карте Старое Исаково называется «Васильевская», похожее название — «Васильевка» имело, согласно бумагам Новое Исаково. Я обозначил его будущее расположение, оно легко угадывется по расположению рек:

Старинная карта с реками Бабровка и Олотовка, селом Васильевское и двумя красными метками, указывающими на конкретные точки на местности.
Карта 1805 года

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

По всей видимости «Лисьи Горы» — название усадьбы, такой вывод можно сделать из заголовка архивного дела «Документы о ссуде, просимой потомственным дворянином Василием Ивановичем Аничковым, под залог имения при с. Исакове, Лисьи Гирей».

В Самарском архиве есть запись 1799 года о владении «лисьихъ горъ кадета василья исакова — (муже) 77 (женина) 75». Очевидно фамилия Василия Исакова стала названием населённого пункта, а имя — притяжательным названием имения.

Т. е. усадьба Лисьи Горы (чья?) — Васильевская, по имени владельца. Что и написано на карте 1805 года. А название «Исаково» есть на карте 1792 года (что, кстати, даёт верхнюю границу основания этого поселения):

Фрагмент исторической карты с названиями населённых пунктов: Бугульма, Черкова, Дымска, Медный Верх, Белебей; красная метка указывает на Черкову.
1792 год

В бумагах 1816 года Василий Исаков уже не упоминается, там владелицей обозначена его родственница Анна Никоноровна Аничкова (в девичестве — Исакова). 8 сентября 1838 года Старое Исаково переходит в наследство её сыну — Василию Ивановичу Аничкову, о чём есть запись на обложке ревизии 1850 года.

А на обложке ревизии Нового Исакова того же года о передаче в наследство не написано, поэтому я считаю, что Василий Иванович и основал это сельцо, перенеся туда свою усадьбу, которая стала называться Васильевка, по его имени. Старая же усадьба вернула себе историческое название — Лисьи Горы.

Где-то ближе к 1889 году Новое Исаково было продано Шулешкиным, вероятно Н. В. Аничковым — сыном прежних владельцев, эту датировку даёт документ того года, где новые владельцы просят ссуду под залог своего имения при сельце Ново-Исаковом. Вероятно Шулешкина преследуют финансовые трудности, о чём на говорят заголовки дел Самарского архива.

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

Фрагмент исторического документа с рукописным текстом на русском языке, включающий упоминание «деревни Кобы-Исаковой» и подпись «Василий Лазарев».
Шулешкин застрелился

Судя по бумагам 1940 года, после революции в Новом Исакове была организована сельскохозяйственная артель «Прогресс», где работали мои предки. Сейчас это маленькая, ничем не примечательная деревня Бугульминского района.

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