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

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


Фотофайлы

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

<месяц><число><год><час><минута><секунда>.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 года.

С правым щелчком мыши

MaximAL:
Мне от тебя нужен краткий обзор того, как зарегить личный домен на Вебнеймс.
Где регаемся, как платим, где-что выбираем.
Сможешь замутить?

St. blo:
В письменном или устном виде?

MaximAL:
Ну. В письменном лучше.

St. blo:
Кратко или с правым щелчком мыши?

Последняя метафора прелестна. Рекомендую всем запомнить и пользоваться на здоровье.

Причинять добро

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

Корсунов

Безо всякого сомнения, это одна из лучших моих фотографий (6 октября 2004 года):
Н. И. Корсунов с пальцем

На фото — несравненный профессор Николай Иванович Корсунов читает первокурсникам информатику или основы теории ЭВМ и систем.

На заднем плане (если понятие плана здесь вообще уместно) — таблица значений какой-то логической функции при всех возможных комбинациях трёх её логических аргументов (8 вариантов).

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

Россия гибнет!

Россия гибнет!

Не Марс

Ребят, кто не посмотрел Марс сёдня ночью, особо не переживайте, вы почти ничего не пропустили. Всё равно невооружённым глазом он смотрелся бы беспонтово. Гораздо интереснее был Юпитер:
Юпитер

Впрочем, месяц Луны почти всегда красив:
Луна

Фотки ужасные, знаю.

Кирпичная стена

Стас сфотографировал отличную кирпичную стену на остановке:
Кирпичная стена

Я помню чудное мгновенье

Увидел в интернете картинку неизвестного автора с шуткой по мотивам известного стихотворения А. С. Пушкина «Я помню чудное мгновенье…». Решил автоматизировать процесс, попутно додумав несколько вариантов.

Всего можно получить более 300 миллиардов неповторяющихся четверостиший. Да простит меня Александр Сергеевич.

Пол

Выпадающий список выбора пола в «Гугл+»:
Выбор пола в Гугл+

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

Пользуясь случаем, напомню, что вот уже который год в официальном (не хухры) документе стандарта ISO 5218, описывающем представление человеческих полов, слово мужской написано с ошибкой:
Пол в ISO 5218

Документ разработан Техническим комитетом по управлению и обмену данными ISO в ноябре 1976 года и обновлён в июле 2004 года. Посмотреть-почитать-убедиться можно на сайте организации.

Свёрнутый Хром

Chrome забавно сворачивается по горизонтали в Windows 7.
Chrome

Гроза

Гроза. Только что наблюдали, как из светофора на круговом перекрёстке полетели искры. Хороший был, наверное.

Новые тарелки

В оркестре новые тарелки (Paiste), только распаковал. Оторвался.

Правила употребления пива

Заголовок на Газете.ру прекрасен:

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