Евгений Степанищев

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

Безо, изо, ото, надо, обо, подо

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

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

14 августа  

Репост в Фейсбук

Беда-беда, огорчение! Сервис IFTTT, которым я давно пользуюсь, чтобы респостить посты в «Фейсбук» (а там у меня самая активная часть читателей), неожиданно перестал работать — в логах написано, что соответствующий аплет выключен.

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

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

13 августа  

Велосипедное

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

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

Зато сегодня оторвался — 40 с лишком километров по лесам и полям.

12 августа  

Сено-солома

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

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

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

Она только недавно узнала понятия право и лево (как-то без проблем уловив эту концепцию), а уже понимает, что у визави эти стороны расположены зеркально!

Чёрт возьми, я не одно десятилетие «приписывал ноль», определял свою сторону, а потом мысленно вращая свой корпус, совмещал его с другим человеком, удерживая в голове какая точка в какую переходит!

А тут всё как-то буднично! Поразительно!

9 августа   дочка

PERSON WITH FOLDED HANDS

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

Это неправда, эмоджи являются частью стандарта «Юникод», символ «🙏» введён в шестой его версии и там приведено следующее описание:

PERSON WITH FOLDED HANDS
• can indicate sorrow or regret
• can indicate pleading

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

6 августа  

Примерная оценка в Постгресе

Читая документацию по «Постгресу», набрёл на интересную конструкцию — TABLESAMPLE. Она позволяет обработать запросом не всю таблицу, а только указанный процент, причём строки выбираются случайным образом.

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

SELECT id FROM (
    SELECT id FROM very_big_table TABLESAMPLE SYSTEM (.0001) LIMIT 100
) _ ORDER BY RANDOM() LIMIT 1

Тут выбирается одна десятитысячная процента таблицы (0,0001%), а потом из этой выборки берётся первая строка. На настоящей таблице с почти миллиардом строк, такой запрос у меня занял около ста миллисекунд.

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

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

Типа, сколько в среднем примерно сотрудники некой гипотетической компании тратят на обед в зависимости от пола (оценка по одному проценту данных):

SELECT sex, AVG(spent)
FROM meal TABLESAMPLE SYSTEM (1)
WHERE mtime BETWEEN SYMMETRIC '12:00:00' AND '14:00:00'
GROUP BY 1

Или сколько примерно раз я ездил такси «Везёт» за последние семь лет (оценка по пяти процентам и экстраполяция):

SELECT COUNT(*)*20
FROM taxi_call TABLESAMPLE BERNOULLI (5)
WHERE carrier='vezet' AND cdate >= '2011-08-03'

Шило на мыло

Всё-таки я большой поклонник статической типизации в языках. Жаль, что ПХП она только-только начинает проникать.

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

<?php
$array = '';
$array[PHP_INT_MAX] = 1;

Главное тут в том, что массив почему-то проинициализирован как строка.

Несмотря на эту странность, всё работало — ПХП на втором присваивании преобразовывал строку в массив. А какое-то время назад этот код стал валиться с нехваткой памяти. Я сегодня разбирался с этой ошибкой.

Оказалось, что в ПХП 7.1 и выше (мы недавно перешли с 7.0 на 7.2), преобразование в массив тут больше не происходит. Зачем-то одно странное поведение заменили другим — теперь в этом коде создаётся гигантская строка, состоящая из пробелов и в позицию PHP_INT_MAX записывается символ «единица». Вот память и кончается. 🤦

Брелоки

Указы всепресветлейшия державнейшия великия государыни императрицы Екатерины Алексеевны, самодержицы всероссийския, состоявшиеся генваря с 1 июля по 1 число 1766 года

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

Решил посмотреть, для интереса, какой вариант в какое время попадается в книгах.

Судя по найденному, слово «брелоки» намного старше 2000-х, — оно активно использовалось до революции. Вот на скриншоте страница из книги «Указы всепресветлейшия державнейшия великия государыни императрицы Екатерины Алексеевны, самодержицы всероссийския, состоявшиеся генваря с 1 июля по 1 число 1766 года».

Вариант «брелки» более редкий и встречается примерно с конца 19-го века, раньше не обнаружил.

Например, цитата из книги «Приманка» Петра Михайловича Невежина 1898 года:

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

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

28 июля  

Наличники

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

Вот, например:

— Вам чего, молодые люди?
— Наличники, — так же громко говорю, — красивые тут у вас!

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

— Нет.
Она ставит тележку, поворачивает к дому, пристально смотрит, поправляя выбившиеся из под платочка волосы.
— Нет, — повторяет она, — не нравится. Как-то гармонии нет, вкуса нет, понимаете? Они очень аляповатые, вы не видите?
Я, удивлённо:

— Ну так в этом же и интерес: это как бы такое наивное искусство…
— Вы считаете? Этот псевдорусский стиль с татарскими этими узорами, перегруженный этот верх… цвета эти — тут я вообще промолчу!

И, подхватив снова тележку, загрохотав бидонами по трещинам асфальта, напоследок фыркает:

— Кому это вообще может нравится-то?!

Удивительно и завидовательно — ну как так можно писать, каждое слово на своём месте! Читаю уже около полугода и, хотя стиль не меняется, не надоело.

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

26 июля   история

Индикатор долевого строительства

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

Очень хорошая придумка (если я верно понял её цель), не понимаю почему раньше никто не догадался.

23 июля  
Ранее Ctrl + ↓