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

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


Несправедливость

Жизнь несправедлива, и в этом её прелесть.

Титры

Срочно в номер!

Я только что нашёл в телевизоре субтитры. Реально фильмы с текстом идут.

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

PNG

Обожаю PNG-формат для изображений! Это современный и очень продуманный формат. GIF — старое говно. У нас в компании, кстати, GIF запрещён, кроме очень редких случаев GIF-анимации.

Мне нравится оптимизировать PNG (прям до байта). Иногда склеиваю спрайты для использования их на вебе. В обсуждении одного из предложений для Twitter Bootstrap пользователь a1dutch попросил выложить сборку бесплатного набора иконок Glyphicons.

Выкладываю. Качайте, пользуйтесь: http://maximals.ru/project/sprite/glyphicons/ (не забывайте про лицензию).

На очереди другие наборы иконок.

Спектр

А тем временем Ваня Заярный решил написать тюнер:
Разъяснение спектрального анализа и гармоник

Кстати, быстрый и простой тюнер можно сделать на триггере Шмитта. На странице http://forum.cockos.com/showthread.php?t=79185 парень по имени Mich очень хорошо и наглядно объяснил, как это работает.

Сборная сладянка

Варенье, сваренное из разных ягод, надо называть сборной сладянкой.

Полезный проект

Стас Агарков, об одном из проектов местного разлива:

Стас (14:14:35, 1.05.2012)
Полезный проект, но я ни разу не пользовался их информацией.

Лечение

Лечение алкоголизма и наркомафии.

Гарнитура

Windows 7 общается с вами на русский язык:
Подсоедините динамик, гарнитура или наушники

Фруктовый сад

Упаковка апельсинового сока «Фруктовый сад»:
Фото мальчика с упаковки апельсинового сока «Фруктовый сад»

Всегда было интересно, как такая работа появляется на свет? То есть, реально в мире существует живой фотограф, который из кучи фотосессионного материала выбрал на показ в числе прочих и эту фотку. Потом был самый настоящий, живой дизайнер или заказчик, который взял и выбрал из уже отобранных (!) фотографом именно это фото. Затем живой дизайнер вклеил фотку в готовый шаблон, сказал: «Зашибись!» — и понёс на презентацию настоящему арт-директору в числе прочих вариантов. Потом реально существующий арт-директор после, возможно, нескольких итераций правки дизайна сказал: «Зашибись!» — и вместе с натуральным менеджером понёс дизайн на презентацию реальному клиенту в числе прочих вариантов. Потом реальный клиент ткнул именно в вариант с этим фото и сказал: «Зашибись!».

Или как? Я в замешательстве.

Кстати, ниже этой картинки фото девочки уже немного лучше:
Фото девочки с упаковки апельсинового сока «Фруктовый сад»

Билет №13

Если это не фейк (нет подписи/печати), то профессор знает толк:
13-й билет

Не понимаю, почему так не делают в массовом порядке. Если я когда-нибудь буду делать билеты для экзаменов, у меня обязательно будет два счастливых билета: 13-й и 666-й. Скажем, всего билетов 30, из них последний имеет 666-й номер.

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

Требуются сотрудники

Сотрудники по подбору с персоналом:
Сотрудники по подбору с персоналом

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

Плохие новости про Ад

Ребят, у меня для вас плохие новости. Практически все религии, где есть понятие похожее на Ад, утверждают, что люди, не верующие в эту религию, после смерти попадут в Ад.

Следите за руками. Человек не может принадлежать сразу всем этим религиям (иначе у него явно плохо с головой и перспектива Ада его вообще не беспокоит). Следовательно, все люди попадают в Ад. Просто один человек — в один Ад, другой — во второй и так далее.

Собираемся, народ, не толпимся.

Фотофайлы

Мой телефон даёт фотографиям имена в английском формате даты (сначала месяц):

<месяц><число><год><час><минута><секунда>.jpg

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

Конечно, нужно отдать должное разработчикам, что имена фотографиям не присваиваются в формате:

<число><месяц><год><час><минута><секунда>.jpg

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

Чтобы исправить ситуацию, я недавно написал небольшой скрипт, который переименовывает фотографии по следующему шаблону:

<год>-<месяц>-<число>_<час>-<минута>-<секунда>.jpg

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

  1. <?
  2. /**
  3.  * Переименование фотографий с телефона, чтобы названия файлов были
  4.  * не в формате
  5.  *     <месяц><число><год><час><минута><секунда>.jpg
  6.  * а в формате
  7.  *     <год>-<месяц>-<число>_<час>-<минута>-<секунда>.jpg
  8.  * Необходимо для того, чтобы при упорядочивании файлов по имени
  9.  * они выстраивались в хронологическом порядке, а не по месяцам.
  10.  *
  11.  * @author MaximAL
  12.  * @date 2012-01-08
  13.  * @time 4:15
  14.  * @copyright MaximAL 2012
  15.  */
  16. // $argv — массив со списком файлов, переданных в команде
  17. foreach ($argv as $filename) {
  18.     // Проверяем, подходит ли имя файла под шаблон (12 цифр)
  19.     if (preg_match('/(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)\.jpg$/i', $filename, $matches)) {
  20.         // Переставляем местами цифры даты, добавляем '20' к году для полноты.
  21.         // Пары цифр со временем (4-я, 5-я, 6-я), не переставляем.
  22.         $newname = sprintf(
  23.             '20%s-%s-%s_%s-%s-%s.jpg',
  24.             $matches[3],
  25.             $matches[1],
  26.             $matches[2],
  27.             $matches[4],
  28.             $matches[5],
  29.             $matches[6]
  30.         );
  31.         // Заменяем последовательность из 12 цифр на новую.
  32.         // Замена делается не простой заменой подстроки,
  33.         // а регулярным выражением и только в конце имени файла (/...$/),
  34.         // чтобы избежать случайного переименования каталога,
  35.         // если он имеет имя вида <12 цифр>.jpg (ну, вдруг);
  36.         // например, 123456789012.jpg
  37.         $newname = preg_replace(
  38.             '/' . preg_quote($matches[0]) . '$/',
  39.             $newname, $filename
  40.         );
  41.         // Выводим имена и переименовываем файл
  42.         echo $filename, ' => ', $newname, PHP_EOL;
  43.         rename($filename, $newname);
  44.     }
  45. }

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

$ php tel-photo-ren.php  010109003000.jpg  010110003000.jpg  010111003000.jpg

или:

$ php tel-photo-ren.php  Фотографии/фото-с-телефона/*

В первом случае на выходе получим три фотографии с более-менее понятными именами:

  • 2009-01-01_00-30-00.jpg (1 января 2009, 00:30);
  • 2010-01-01_00-30-00.jpg (1 января 2010, 00:30);
  • 2011-01-01_00-30-00.jpg (1 января 2011, 00:30).

Во втором случае скрипт переименует все фотографии в папке фото-с-телефона.

Мой склад

Недавно завершили один из нескольких проектов по вёрстке макетов для компании «Мой склад». Это очень важная работа.

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

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

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

В своём городе я знаю примерно двух суперклассных верстальщиков. Что примечательно, один из них работает в «Сиджеко». А второй работал… Уже две недели он работает в «Яндексе»; на секундочку, в отделе разработки интерфейсов.

Отдельный респект ребятам из «Моего склада»: очень ответственные и адекватные люди. Приятно работать.

2012

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

Политпрогноз

Думаю, на текущих выборах «Единая Россия» наберёт 45±5% голосов.

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

Мобильные устройства

Анонсирован супер-пупер крутой смартфон Samsung Galaxy Nexus. Все девайсофаги просто писаются кипятком и говорят о нём с каким-то особенным придыханием. Ещё бы, там ведь теперь есть даже барометр!

А мне вот лично не очень понятно. Зачем нужны все эти фичи, если забыто почти самое главное: батарея в устройстве имеет ёмкость 1750 мА·ч, причём она преподносится как офигеть какая ёмкая.

В моём древнющем Rover G5 с Windows Mobile на борту батарея имеет (уже имела) ёмкость 1530 мА·ч. А в новом смартфоне (а есть ему требуется гораздо больше, чем взрослой кошке) — 1750. Это много?! Да вы шутите, ребят! Боюсь даже предположить какая хреновая батарея в других смартфонах, если эта — ёмкая.

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

Напомню, с даты анонсирования Rover G5 прошло ровно пять лет и девять дней.

Directive

Steve looks at you. Dennis is watching you. DO NOT FUCK UP! You don’t have a right to! You aren’t entitled to!

Старпёры

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

И как-то так грустно сразу становится…

Ещё один день

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

Максимал! Еще один день
Уйдет безвозвратно…
Что делать будешь сегодня?

Покупай, умирай

Kare: Я хочу умереть

Стас: Ну тогда иди покупай гроб

Kare: У меня денег нет

Стас: Займи :) Отдавать не придется

Пазлы-подлянки

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

Смотрю, как ребята собирают три тысячи кусков воедино и думаю…

Забывай и расстраивайся

— Ты забудешь!

— Да не забуду, не переживай.

— Нет, ты забудешь!

— Не забуду.

— Ну хорошо, но если ты забудешь, я очень сильно расстроюсь.

— Да не расстроишься!

Да будет свет!

Самое настоящее гениальное инженерное решение — http://www.youtube.com/watch?v=DFurV_v16Oc.

Это Стас сказал

MaximAL (23:00:47, 10.09.2011)
> Стас (23:00:39, 10.09.2011)
> > http://korvin-fas.ru/projects/most-original/photographer
> бля, круто!!!

korvin_fas (23:01:18, 10.09.2011)
Это Стас сказал? :-))

MaximAL (23:01:47, 10.09.2011)
Больше скажу: это сказал Стас в 23 часа 00 минут 39 секунд 10 сентября 2011 года.