Я в интернете

РСС    Джейсон-фид

Есть автоматические трансляции в Тумблер и Же-же. Если не работает, напишите мне: ilyabirman@ilyabirman.ru.

Позднее Ctrl + ↑

Что почитать на выходных — 94

  1. Three Lessons from Katie Cotton, Apple’s Departing PR Boss. Ещё про Кейти Коттон и пиар-службу Эпла. «Apple is an exasperating company for reporters to cover. It has a staff of PR people, but God knows what they do. I can tell you what they don’t do, and that is talk to reporters».
  2. Replacing the PC. Дастин Кертис считает, что планшетам недолго осталось.
  3. Google has most of my email because it has all of yours.
  4. Programming Sucks. «You are an expert in all these technologies, and that’s a good thing, because that expertise let you spend only six hours figuring out what went wrong, as opposed to losing your job». Много смешно, потому что правда.
  5. Wikipedia redesign. Чувак объясняет, что не так со всеми редизайнами Википедии.

О работе в бюро

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

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

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

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

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

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

Напишите и расскажите о себе, покажите, что умеете. В качестве тестового задания предлагаю вам разобраться с тем, что такое Гиперлуп, и нарисовать главную страницу его сайта. Большим плюсом будет, если вместо того, чтобы сразу слать картинку, вы сначала напишете, как поняли задачу, согласуете её состав и договоритесь о порядке работы. В результате вам надо устроиться на работу в бюро. Жду ваших писем до 23 мая: ilyabirman@ilyabirman.ru. Спасибо.

Дискуссии по понедельникам: дизайнерские книги

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

В предыдущей серии: что хорошего в патриотизме?

Сегодня обсуждаем дизайнерские книги.

Какие книги надо читать? Почему именно эти? Что интереснее всего? Что полезнее для дизайнера? Что посоветуете о дизайне продуктов и услуг? Об истории дизайна? О вёрстке? Что дизайнеру надо знать из недизайнерского? Как вы читаете книги? Когда находите время? Подчёркиваете что-нибудь? Выписываете умные мысли в блокнотик? Делаете закладочки? Что лучше читать с айпада, а что — с бумаги?

Пишите по одному комментарию на каждую рекомендуемую книгу, и говорите, чем именно она интересна и полезна. Лучше всего давайте сразу ссылку на Амазон или епаб. Гляньте ещё книжные советы Артёма Горбунова, Максима Ильяхова и Коли Товеровского, чтобы не повторяться. Можно повторяться, если у вас есть ценные комментарии к книге.

Языки в Эгее

В Эгее ещё с версии 2.2 поддерживаются разные языки интерфейса. С версии 2.3 язык можно выбрать в настройке. В комплекте там есть только русский и английский, потому что мне самому нужны были только они.

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

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

Есть вопросы, с которыми непонятно, как быть: с какого момент считать локализацию достаточно хорошей, чтобы включать в комплект? Что делать, если мне предлагают изменить какую-нибудь формулировку на албанском, а я не в теме, станет ли лучше или хуже?

Что думаете вообще? Будет ли это работать? Оставляйте комментарии.

Объявление на платформе станции «Кингс-кросс»

Сотрудник лондонского метро объявляет всякие вещи, стоя на платформе Пикадилли-лайн станции «Кингс-кросс». В частности, что поезд идёт до Хитроу, терминалов 1, 2, 3 и 5. Видео из серии «жалко было удалять, но на телефоне оно мне ни к чему»:

Про файл .htaccess в дистрибутиве Эгеи

В дистрибутиве Эгеи есть файл .htaccess, который настраивает Апач на нужный лад. В частности, там прописаны правила для mod_rewrite, которые нужны, чтобы работали красивые урлы.

К сожалению, тупица-разработчик Апача додумался до того, что имя этого файла должно начинаться с точки, чтобы файл стал невидимым на Юникс-системах (а значит, и на Маке). Зачем делать невидимым один из самых часто используемых конфигурационных файлов — тайна. В результате некоторые пользователи Эгеи не знают о том, что этот файл в дистрибутиве есть.

Раньше было так: человек распаковывал дистрибутив Эгеи где-нибудь у себя на диске, а потом выделял все файлы и загружал на сервер по ФТП. Проблема в том, что «выделял все файлы» не касалось невидимого .htaccess, поэтому последний на сервер не попадал, и движок не работал. При первом запуске происходил редирект на /install/, но инсталятор уже не открывался, поскольку необходимая настройка mod_rewrite не была сделана.

В какой-то из версий я придумал такой хак: в дистрибутив помимо файла .htaccess я стал класть ещё и его копию под именем htaccess (без точки). При этом перед редиректом на /install/ я стал пытаться переименовать бесточечный файл в точечный:

if (
  (strpos ($_SERVER['SERVER_SOFTWARE'], 'Apache') === 0)
  and !is_file ('.htaccess')
) {
  if (is_file ('htaccess')) {
    if (@rename ('htaccess', '.htaccess')) {
      e2_go_to ();
    }
  }
}

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

Наверняка есть какой-то бест практис на эту тему, чтобы это всё работало надёжно. Если у вас есть такой опыт, и вы знаете, как сделать правильно, напишите, пожалуйста: ilyabirman@ilyabirman.ru. Спасибо.

Что почитать на выходных — 93

  1. Патриотизм или Мир? Лев Толстой: «Люди серьёзные, старые, умные, добрые и, главное, стоящие как город на верху горы, люди, которые своим примером невольно руководят массами, делают вид, что законность и благодетельность патриотизма до такой степени очевидна и несомненна, что не стоит отвечать на легкомысленные и безумные нападки на это священное чувство, и большинство людей, с детства обманутое и зараженное патриотизмом, принимает это высокомерное молчание за самый убедительный довод и продолжает коснеть в своём невежестве». К понедельничной дискуссии. Правда он там зачем-то противопоставляет патриотизму христианство, хотя все его же доводы в равной, если не в большей степени, применимы и к нему.
  2. Как научить дизайнера работать. Артём Горбунов рассказывает о Школе стажёров.
  3. Рано расслабляться. Максим Ильяхов: «Чтобы удержать скалолаза, на каждой контрольной точке оборудован лагерь со всеми удобствами».
  4. Katie Cotton. Грубер рассказывает историю про встречу с Кейти Коттон, которая руководила пиар-службой Эпла 18 лет, а теперь ушла на пенсию.
  5. Пост спонтанного проявления доброты.

Однажды в Википедии: Волны Мартено · Лентикулярное облако

Хотите стать спонсором рубрики? Пишите: ilyabirman@ilyabirman.ru

Цитата о связи рыночной цены и производственных издержек

В эфире снова Марри Ротбард. На этот раз он объясняет нам, что цена продукта на рынке влияет на то, какими будут издержки на его производство, а вовсе не наоборот, как думают многие. Собственно, этих многих он сразу же и мочит (курсив из оригинала; многоточия — мои пропуски):

Strange as it may seem, a great many writers on economics have deduced... that costs determine price. The price of the good discussed above is 100 ounces per unit, allegedly because the cost (average money cost) is 100 ounces per unit. This is supposed to be the law of price determination «in the long run». It would seem to be crystal clear, however, that the truth is precisely the reverse. The price of the final product is determined by the valuations and demands of the consumers, and this price determines what the cost will be. If the consumers value the product mentioned above so that its price is 50 ounces instead of 100 ounces, as a result, say, of a change in their valuations, then it is precisely in the «long run», when the effects of uncertainty are removed, that «costs of production»... will equal the final price. We have seen above how factor incomes are at the mercy of consumer demand and fluctuate according to that demand. Factor payments are the result of sales to consumers and do not determine the latter in advance. Costs of production, then, are at the mercy of final price, and not the other way around...

In the real world of uncertainty it is more difficult to see this, because factors are paid in advance of the sale of the product, since the capitalist-entrepreneurs speculatively advance money to the factors in the expectation of being able to recoup their money with a surplus for interest and profit after sale to the consumers. Whether they do so or not depends on their foresight regarding the state of consumer demand and the future prices of consumers’ goods... [The error] comes from viewing the economy from the standpoint of an individual entrepreneur rather than from that of an economist. To the individual entrepreneur, the «cost» of factors is largely determined by forces outside himself and his own sales; the economist, however, must see how money costs are determined and, taking account of all the interrelations in the economy, must recognize that they are determined by final prices reflecting consumer demands and valuations.

Предыдущие цитаты из книги:

Бонусы списываем, копим?

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

Бесит, что на кассе всё время спрашивают: «Бонусы списываем, копим?». Владельцев супермаркетов, конечно, можно понять. Кого невозможно понять, так это чудаков, которые предпочитают бонусы копить. Нахера их копить, блин? Если вам нравится раздавать бесплатные кредиты, так чего мелочиться, почему бы вам не основать сразу Банк Щедрости? Будет куча желающих воспользоваться вашими уникальными услугами.

Ясное дело, списываем.

Ссылка по теме: Вам сколько пакетов?

Темы оформления в Эгее 2.4

 5 мин

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

Как в принципе работают темы в Эгее

С точки зрения ядра, всё, что идёт наружу (ХТМЛ, ЦСС и Джаваскрипт) — это «тема оформления». Чтобы отдать любую страницу, ядро готовит данные и отдаёт их в шаблон main.tmpl.php. Шаблон может использовать другие шаблоны, подключать стили и скрипты — это уже его заботы, ядру безразлично, как именно он генерирует страницу.

Есть только момент, связанный с наследованием. Ядро пытается использовать main.tmpl.php из папки вашей темы (/themes/yours/main.tmpl.php). Если файла нет, то берёт из родительской (допустим, из системной: /system/theme/main.tmpl.php). Когда main.tmpl.php вызывает, допустим, footer.tmpl.php, ядро, снова, сначала ищет такой файл в используемой теме, потом в её родительской и так по цепочке вплоть до системной темы.

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

Что изменилось и почему

Ядро как раньше отдавало все данные в main.tmpl.php, так и сейчас отдаёт. Логика наследования тоже осталась прежней.

Но поменялась сама организация комплектных тем, и то, кто из них чего откуда наследует. Раньше в системной папке /system/theme/ лежала «Классическая» тема, то есть стандартная тема оформления Эгеи. Остальные темы лежали в /themes/*/ и наследовали от системной. Получалось, что любая ваша тема неизбежно наследовала от «Классической» и описывалась не в формате «хочу так», а в формате «хочу не так, как в „Классической“, а вот так». У «Классической», хоть она и весьма нейтральна, есть своё мнение по некоторым вопросам. При этом не опираться на неё совсем — невозможно, потому что в ней живёт вся логика фронтенда.

В новой версии «Классическая» тема переехала в /themes/classical/ и больше не претендует на основу всего. Системная же тема, живущая в /system/theme/, теперь выглядит совсем голой, это такая тема «без дизайна», но со всей логикой. Она навязывает вам намного меньше своей воли.

Теперь все комплектные темы (включая «Классическую») содержат по одному шаблону — layout.tmpl.php. В нём определён весь ХТМЛ-каркас темы. Все остальные шаблоны с мелочами определены в системной. При этом по-прежнему ничего не мешает в своей теме переопределить любой шаблон, как и раньше, просто новая конструкция помогает в большинстве случаев отделаться одним файлом.

Соответственно, чтобы создать свою тему, вам теперь не нужно в большинстве случаев вообще ходить в папку /system/theme/ и смотреть, как там что устроено. Вы просто копируете приглянувшуюся папку из /themes/, называете как вам нравится и меняете в ней всё по вкусу.

Как прикрутить свою старую тему к Эгее 2.4

Лучше переделать тему по новым правилам, но есть хак чтобы быстро воткнуть старую.

Темы, написанные для 2.3 оказываются несовместимы с 2.4 только потому, что они рассчитывали на другую иерархию, наследовали от старой системной или другой комплектной темы. Поэтому, если взять родительскую тему (темы?) из старой, то всё заработает. Если у вас не сохранился дистрибутив Эгеи 2.3, скачайте его.

Возьмите системную тему оформления из Эгеи 2.3 (папка /system/theme/) и положите новой в /themes/system_2_3/. Теперь откройте файл вашей темы theme-info.php. Используете ли вы какую-то другую тему из Эгеи 2.3 в качестве основы для своей с помощью поля based_on?

Если нет, то всё просто: значит ваша тема основана на системной теме Эгеи 2.3. Тогда в ваш theme-info.php допишите:

'based_on' => 'system_2_3',

Если да, то из дистрибутива Эгеи 2.3 вам нужно будет взять ещё и ту тему, на которой основана ваша. Предположим, это «Просторная». Тогда надо взять папку /themes/spacious/ из старого дистрибутива и положить в /themes/spacious_2_3/, а в вашей теме прописать так:

'based_on' => 'spacious_2_3',

Но это не всё. Сама-то «Просторная» из 2.3 основана на системной из 2.3, поэтому эту связь тоже придётся прописать. Зайдите в /themes/spacious_2_3/, откройте её theme-info.php и допишите там:

'based_on' => 'system_2_3',

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

Есть ещё одна проблема: в старых Эгеях использовалась фича ПХП под названием short_open_tag. Эта опция позволяет в качестве тега ПХП-кода использовать краткую форму <? ?> вместо длинной <?php ?>. В новой Эгее я от этого отказался, потому что от этого с какого-то перепугу отказался в последних версиях сам ПХП. Но темы, которые вы взяли из старого дистрибутива используют короткую запись. Соответственно, вам надо либо во всех файлах заменить <? (но не <?=) на <?php, либо, если вы используете более старую версию ПХП, которая ещё поддерживает short_open_tag, включить эту фичу в Эгее (для этого откройте .htaccess из корня и исправьте там в обоих местах short_open_tag off на short_open_tag on).

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

Ранее Ctrl + ↓