Заметки Максимала

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


Звезда рок-н-ролла

Судя по дате файла, это четверостишие было написано мной 10 октября 2008 года. Помнится, оно должно было напеваться на мотив куплета песни «Звезда рок-н-ролла» группы «Сплин» (или похоже).

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

/*
 * Рождённая бага должна умереть — аксиома.
 * Чтоб фичей родиться и снова потом умереть.
 * Эксепшн пронзит километры исходного кода,
 * Нарушив программерский смех.
 */

Вишлист

Мой вишлист — http://maximals.ru/about/wishlist/.

Past Perfect в русском языке

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

В русском языке встречаются просто небывалой красоты паст-перфекты:

Я купил было тачку, да бензин подорожал, и я продал её нахрен.

Ну потрясающе же!

 

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

  • 1 настоящее: трясу;
  • 6 прошлых:
    • прошедшее неопределённое: тряс;
    • прошедшее однократное: тряхнул;
    • давнопрошедшее первое: тряхивал;
    • давнопрошедшее второе: бывало тряс;
    • давнопрошедшее третие: бывало трясывал;
    • прошедшее совершённое: вытряс;
  • 3 будущих:
    • будущее неопределённое: буду трясти;
    • будущее однократное: тряхну;
    • будущее совершённое: вытряхну.

Сейчас мы в основном используем пять форм: настоящее, прошедшее совершённое, прошедшее несовершённое, будущее совершённое, будущее несовершённое.

Притча о единичном, множественном, музыке, работе и просветлении

Однажды ученик пришёл к Учителю и сказал:

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

Тогда Учитель дал ученику один прутик и сказал:

— Сломай прутик.

Ученик с лёгкостью сломал прутик.

Тогда Учитель дал ученику веник и сказал:

— Возьми веник из множества прутиков и сломай его.

Ученик не смог сломать веник.

Тогда учитель дал ученику гитару и сказал:

— Разбей гитару.

И разбил ученик то, что давало им музыку.

Тогда учитель дал ученику ноутбук и сказал:

— Сломай ноутбук.

И с лёгкостью сломал ученик свой ноутбук, на котором работал.

Тогда дал Учитель ученику стопку ноутбуков и сказал:

— Сломай их.

И через несколько минут ученик доломал последний ноутбук.

И сказал тогда Учитель:

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

И ушёл ученик просветлённым.

Вёрстка

Я ничего не понимаю в CSS-вёрстке. Вообще. Особенно в её позиционной части. Как только я вижу в стилях position: absolute или float: left, в моём мозгу происходит короткое замыкание, и он отказывается воспринимать код дальше,  смотря на то, что он знает, что делает это правило. Я замечаю различие в тенях в один пиксель, вижу разницу в оттенке градиента, могу отличить хорошую вёрстку от плохой (у меня есть сверхсекретный набор тестов, которые знаю только я, и никогда из моих уст не узнает ни один верстальщик), но при этом я не готов изучать, как это было достигнуто. Разумеется, я в курсе различий CSS2 и CSS3, слежу за развитием HTML5 и черновиков CSS4, но я не могу верстать в промышленных масштабах, на потоке. Я знаю что делает то или иное правило, но не понимаю, как стили работают в комплексе, и как надо порезать дизайн-макет, чтобы создать из него веб-страницу.

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

Причём веб-сообщество делает всё, чтобы даже быдлокодер умел верстать. Умер Internet Explorer 6 (почти), необычайно распространился WebKit, появились CSS-фреймворки и всевозможные Javascript-плагины. Но всё равно у программистов не получается вёрстка, точно так же, как пять-десять лет назад.

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

Пеший рекорд

Вчера произошла моя, кажется, самая длинная пешая прогулка — 16,3 км (±200 метров).

Это действительно просто

Большинство человеческих проблем объясняется одним очень простым предложением из пяти слов:

Большинство людей пиздец какие ебанутые.

Опечатки и ошибки

Больше всего на свете я ненавижу опечатки, а также орфографические и пунктуационные ошибки.

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

С Новым годом!

С Новым годом!

Массовые поздравительные сообщения

Друг прислал SMS:

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

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

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

Две IT-поговорки

Две отличнейшие поговорки про информационные технологии:

Что для юзера дырявая варежка, то для профи — перчатка без пальцев.

Незнание преумножает скорбь

Поправка Максимала к правилам Корвина работы с мудаками

Как известно, у Корвина есть два простых правила работы с мудаками, которые гласят:

  1. Никогда не работайте с мудаками.
  2. Никогда не работайте с мудаками дважды.

Конечно, рациональное зерно есть. Но я хотел бы внести поправку.

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

Далее…

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

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

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

Поэтому, поправка Максимала вышеприведённым правилам будет выглядеть так:

Никогда не работайте с мудаками за обычный бюджет.

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

 

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

Де-редупликация

Наверное, всем известны лексические шм-редупликация (лексика-шмексика) и хуй-редупликация (лексика—хуексика). А если некоторым людям и неизвестна, то нам их не жалко.

Идём дальше. Мы с Сеней Гордеевым собираем и придумываем примеры де-редупликации уже несколько лет. В этой заметке будут собираться наиболее примечательные варианты.

Постараемся отсортировать их по интересности (для нас).

* * *

  1. монстрировать—демонстрировать,
  2. филе—дефиле,
  3. лить—делить,
  4. ржать—держать,
  5. бил—дебил,
  6. кор—декор,
  7. тина—детина,
  8. Вятка—девятка,
  9. низ—Денис,
  10. баты—дебаты,
  11. лишки—делишки,
  12. ревня—деревня,
  13. вятый—девятый,
  14. ментор—дементор,
  15. вчонка—девчонка,
  16. мократия—демократия,
  17. рьмо—дерьмо,
  18. д—дед,
  19. продолжение следует

* * *

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

Классификация #

Попытаемся выделить основные категории:

  • полные — оба слова являются реальными словами русского языка (ржать—держать);
  • неполные — одно из слов является реальным словом русского языка:
    • неполные левые — первое (левое) слово является реальным словом русского языка (чашка—дечашка); как правило, неинтересны;
    • неполные правые — второе (правое) слово является реальным словом русского языка (лишки—делишки);
  • фонетические — игра слов только на слух,в письме редупликация пропадает (низ—Денис).

Ведение личных финансов на Андроиде

Какие вы знаете программы для ведения личных финансов на Андроиде?

Лично я после пары часов поисков остановился на:

  1. https://play.google.com/store/apps/details?id=com.droid4you.application.wallet,
  2. https://play.google.com/store/apps/details?id=ru.orangesoftware.financisto (опенсорс),
  3. https://play.google.com/store/apps/details?id=com.familymobile,
  4. https://play.google.com/store/apps/details?id=com.depoza.

Видимо, первую или вторую оставлю.

При отборе сразу ушли под откос:

  1. платные, либо те, где бесплатная версия сильно ограничена;
  2. с регистрацией на веб-сервисе (ага, щас);
  3. с крутящейся рекламой из интернета;
  4. с херовым интерфейсом.

 

PS: Так всегда: ищешь какую-нибудь программу, и понимаешь, что лучше самому написать.

Коврик для мыши

Убрал дома коврик для мыши, верой и правдой прослуживший мне 12 лет. Понятно, что после приобретения лазерной мыши (оптическая «проскакивала» на лакированном столе) он был уже не нужен, просто по привычке его использовал.

Рейтинги фильмов на IMDb и Кинопоиске

С подачи Никиты Агаркова провёл микроисследование.

Nicky W. Lime: Почему в большинстве своём на ИМБД рейтинги ниже, чем на КиноПоиске? Американцы более привередливы, чем русские?

MaximAL: Думаю, твоя выборка нерепрезентативна.
«Крёстный отец» наоборот, например.

Nicky W. Lime: Ну, если есть такие исключения, то выборка не максимально репрезентативна, но в высокой степени (это если исключения редки).
Кроме «Крёстного отца» много встречал ещё?

MaximAL: Да, пожалуй, много.
За последние пару месяцев. Самому было интересно.

MaximAL: У меня база в полмиллиона фильмов. Могу тебе весь список из базы выбрать, где рейтинг ИМДБ больше кинопоисковского.

Nicky W. Lime: Вот это деловой разговор :)

MaximAL: Хм. Твоя гипотеза практически подтвердилась.

Nicky W. Lime: А ну! :)

MaximAL:

SELECT count(*) FROM `movies`;
-- 437’517
-- Всего фильмов.

SELECT count(*) FROM `movies` WHERE ratingImdb IS NOT NULL AND ratingKinopoisk IS NOT NULL;
-- 64’287
-- Фильмов, где известны оба рейтинга.

SELECT count(*) FROM `movies` WHERE ratingImdb IS NOT NULL AND ratingKinopoisk IS NOT NULL AND ratingKinopoisk > ratingImdb;
-- 46’727  (726,8 ‰)
-- Фильмов, где рейтинг Кинопоиска больше рейтинга ИМДБ.

SELECT count(*) FROM `movies` WHERE ratingImdb IS NOT NULL AND ratingKinopoisk IS NOT NULL AND ratingKinopoisk < ratingImdb;
-- 17’152  (266,8‰)
-- Фильмов, где рейтинг Кинопоиска меньше рейтинга ИМДБ.

SELECT count(*) FROM `movies` WHERE ratingImdb IS NOT NULL AND ratingKinopoisk IS NOT NULL AND ratingKinopoisk = ratingImdb;
-- 408  (6,3‰)
-- Фильмов, где рейтинг Кинопоиска равен рейтингу ИМДБ.

Nicky W. Lime: 1 к 3 можно считать закономерностью?

MaximAL: Да, можно. Если разброс больше трёх сигм, то можно.

MaximAL: В три раза — тем более.

В итоге получилось, что в большинстве случаев рейтинг фильма на IMDb меньше рейтинга на Кинопоиске. Видимо, и правда более привередливые: к качеству, съёмкам, подбору актёров и прочему. Это безосновательно того, что, на самом деле, аудитория IMDb — не только Америка, но и весь мир, а аудитория Кинопоиска — СНГ.

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

Почему интернет-сообщество должно поддерживать OpenStreetMap

Если вы создаёте новый проект, где подразумевается использование карт, используйте OpenStreetMap. Если у вас уже есть проект с картами, пробуйте постепенно переходить на OpenStreetMap (OSM).

Как правило, альтернатив картографических сервисов в России примерно две: Яндекс.Карты и Карты Google. Но не всё так гладко с ними. Если изложить суть лицензионных соглашений Яндекс- и Гуглокарт в одном предложении, то получится нехитрая пятисловная фраза: «Все ваши данные принадлежат нам».

Всё, что вы рисуете в Народных Картах Яндекса принадлежит Яндексу и только ему. Да, смотреть на это может каждый, но принадлежит это корпорации. Лицензия Карт Google запрещает какое-либо их использование за пределами Google Maps API. Так или иначе лицензии «фирменных» карт содержат ограничения на использование картографических данных любым неожиданным или творческим образом.

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

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

OpenStreetMap — онлайн-карта мира, построенная по принципу Википедии: каждый человек может создавать и редактировать любой участок на карте. Всё, что вы нарисуете, будет принадлежать сообществу: вам и всем остальным пользователям. В любой момент времени каждый может скачать базу данных сайта полностью. И это — важнейшие политические отличия от проприетарных карт. Как ни странно, рисованием заняты не только отдельные энтузиасты, но и некоторые коммерческие компании. Казалось бы, зачем им это? Проекты этих компаний так или иначе связаны с вики-картой; когда карты становятся лучше, становится лучше не только самим компаниям, их клиентам, но и всем остальным пользователям.

Картографические данные OpenStreetMap распространяются по свободной лицензии Open Data Commons Open Database License (ODbL). Полученные по этим данным изображения и документация сервиса распространяются по лицензии Creative Commons Attribution-ShareAlike 2.0 (CC-BY-SA). Короче говоря, единственное, что от вас требуется при использовании OpenStreetMap, — указывать, откуда взяты данные.

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

Рисуйте свои страны, города, посёлки и деревни на OpenStreetMap. Не будьте лохами.

Ещё сомневаетесь между Яндекс.Картами и Картами Google в своём проекте? Используйте OpenStreetMap.

Соло Блэкмора

На свете очень мало гитарных соло, которые я мог бы слушать часами, но это я могу слушать бесконечно:

Как известно многим музыкантам, классическим пентатоническим соло по праву считается соло Джимми Пейджа в песне «Stairway To Heaven» британской группы «Led Zeppelin». Но в композиции «Black Masquerade» группы «Raindbow» пентатоника обыграна Ричи Блэкмором не просто блестяще, а гениально. Всё великолепно: потрясающий вход в соло, чувственное ведение, отличный выход, прекрасный прямой рабочий барабан на второй и четвёртой долях такта почти безо всяких вариаций (под который хочется двигаться буквально всем телом), синкопированное тутти в начале и окончании сольного фрагмента, всё подчинено одному общему груву. Акустическое соло за минуту до этого, кстати, тоже весьма красиво. И всё это не смотря на то, что сама песня мне не очень. Обязательно послушайте.

Браво-брависсимо, маэстро Блэкмор!

Современные глаголы

Глагол гуглить я почти не употребляю (Гуглом пользуюсь редко, ещё в глаголе меня не устраивает плавающее ударение), зато вовсю использую яндексить или яндекснуть (поискать в Яндексе или другом поисковике), википеднуть (почитать статью в Википедии, звучит смешно).

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

Арт-стиль — Босса-нова

Диктофонная запись «Босса-новы» Виктора Власова во время недавней репетиции квартета «Арт-стиль», в котором я играю на басу:

Ноты

Откровение

Откровение открылось поздно ночью, почти под утро, перед сном, где-то на середине книги Айн Рэнд «Атлант расправил плечи».

Нет, я не возомнил себя Атлантом или крупным промышленником, занимающимся стратегически важным для страны производством. Я не познал тайны Вселенной, и мне не открылось будущее. Я просто осознал смысл того, что делаю.

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

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

Понял, зачем учусь и зачем учу.

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

Это знание стоило совсем недорого и настигло меня абсолютно неожиданно.

Вакансии

Рассылаю отклики на вакансии (сегодня по плану обработка сорока вакансий). Некоторые описания смешные до невозможности.

«Бонусы: чай, кофе, ручка, мощный компьютер…

Ручка! Понимаете?

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

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

Автомобильные формулы

Вместо иконок «Спаси и сохрани» автомобилистам в машины нужно вешать две школьные формулы: тормозного пути и центробежной силы.

Формула тормозного пути и формула центробежной силы

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

На бога надейся, а сам не плошай.

Надпись на доме

Надпись, которую я нацарапал на соседском доме в десяти-двенадцатилетнем возрасте, до сих пор цела и невредима, несмотря на мягкость штукатурки.

Надпись на доме

Джингл для радио

В новогодние каникулы 2010 года я по обыкновению не мог сидеть сложа руки.

Ради интереса решил покрутить интернет-радио. Хотел разобраться с сайдчейн-компрессией, различными энхансерами, улучшайзерами звука, потоковым аудио и тому подобными фишками, без которых не обходится современное вещание. У радио даже было 30-35 слушателей. Все знакомые, разумеется. Думаю, больше домашний интернет-канал и не потянул бы.

Вот джингл этого радио: