Подписка на блог

В Телеграме помимо ссылок на заметки делюсь околодизайнерскими наблюдениями.

В Твиттере помимо ссылок на заметки пишу всякую чушь.

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

По РСС и Джейсон-фиду трансляции для автоматических читалок

Вопрос

Сделать продвинутые комментарии в Эгее

Я хочу радикально улучшить систему комментариев в Эгее. Мне нужна ваша помощь.

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

  1. Научиться прозрачно «регистрировать» пользователей. Сейчас обязательно указывать почту, но я никак не проверяю, что она настоящая. Я хочу, чтобы когда человек оставляет комментарий первый раз, ему улетало письмо, и комментарий реально публиковался только после перехода по ссылке из письма. Следующие комментарии уже такого похода не потребуют.
  2. Я могу захотеть забанить кого-то из пользователей или сделать, что его комментарии публиковались только после моего утверждения. То есть мне надо как-то знать про каждого пользователя, какой уровень доверия ему. При этом я хочу, чтобы тот, кого забанили или поставили на модерацию, видел свои посты как ни в чём не бывало. То же с теми, кто ещё не сделал поход в почту и не подтвердил её.
  3. Научиться идентифицировать пользователей через соцсети. Чтобы можно было зайти через фейсбучек, вконтактик, твиттерчик. Это важно ещё и потому, что регистрация по почте должна быть отключаемой со стороны пользователя на случай, если пользователь не хочет заморачиваться с законом о персональных данных. Пусть соцсеть сама отдаёт Эгее все данные для публикации. Ну и, ясное дело, многим пользователям самим будет так удобнее, чем через почту. Естественно, всё про модерацию должно работать для таких пользователей не хуже, чем для почтовых.
  4. Если у комментатора у самого есть блог на Эгее, было бы круто, чтобы он смог «представиться» через него, а не через соцсеть.
  5. Научиться вести дискуссии в комментариях. С одной стороны, я терпеть не могу древовидные комментарии. С другой, при всём их уродстве, там возникает некая своя жизнь, и это хорошо. Кажется, что тут нужно просто найти какой-то дизайн, который позволил бы их нормально читать. Скажем, если идёт линейное обсуждение, где люди последовательно отвечают друг другу, не нужно рисовать смещение для каждого отдельного ответа. Но если вдруг кто-то отвечает первому комментатору, и там начинается отдельная тема, то эта тема должна создавать отдельную ветку. И у автора блога должна быть возможность вынести любой камент на уровень выше, чтобы линеаризовать дискуссию.
  6. Показывать новые комментарии не только автору, но и всем комментаторам. То есть нужно для каждого человека помнить, что он уже читал, и показывать ему, где там ему ответили.
  7. Я бы хотел, чтобы комментаторы могли вставлять картинки в комментарии. Понятно, что это потенциальная уязвимость — люди загрузят сто терабайт, а у меня кончится место. Возможно, должна быть какая-то система, которая не даёт одному комментатору загрузить больше скольких-то картинок, пока автор их не утвердил, не знаю.
  8. Нужно остановить спам. Сейчас Эгея умеет бороться только со случайным спамом, но если кто-то захочет заспамить прицельно ваш сайт, то её легко обмануть. Нужно, во-первых, убедиться, что мы делаем всё, что можем, без капчи, а во-вторых, научиться включать капчу в тот момент, когда стало ясно, что нас кто-то пытается засыпать.

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

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

Если вы разработчик, готовый этим (или частью этого) заняться, напишите мне о своих условиях. Вам надо будет вникать в мой код. У меня ноль опыта командного программирования, и код написан «для одного». Вас это не должно пугать: я готов всё объяснить, и если вы заодно что-то перепишете более стройно, я не буду возражать. Главное чтобы переписывание не стало для вас самоцелью.

13 октября   блоги   вопрос   Эгея

Помочь запустить хостед-версию Эгеи

Мне нужен человек, с которым мы вместе запустим хостед-версию Эгеи.

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

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

При этом нужно, чтобы сам этот сервер был дешёвым.

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

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

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

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

26 июля   вопрос   Эгея

Сделать музей интерфейса

Я сейчас пишу книгу об интерфейсе, и мне нужны примеры. Много примеров.

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

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

Я давно хочу сделать музей интерфейса: сделать виртуальную машину, установить туда МС-ДОС, и снять там всё золото: Нортон Командер и ДОС-навигатор, Нортон-утилиты, дефрагментатор, Турбо-Паскаль 5.5 и 7.0, другие программы на Турбо-вижене, Лого, Лайнс, классический Тетрис. Потом установить Виндоус 3.1, снять всё в нём. Потом Виндоус-95, потом 98, и так далее.

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

Руки у меня до этого никогда не дойдут. А вдруг дойдут у вас? Если у вас есть желание позаниматься таким на выходных и потом вместе замутить в интернете музей, давайте дружить. Напишите мне, почта в подвале.

Или, может, такое уже есть, но я не знаю, где искать?

Как стать популярным на западе?

У меня тупой вопрос. Как стать популярным на западе?

Дело в том, что большая часть вещей, которыми я занимаюсь, актуальны и в Швеции, и в Португалии, и в Америке. Да что уж, и в Японии, и в Израиле они тоже актуальны. Я бы хотел, чтобы читатели со всего мира читали то, что я пишу.

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

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

Я пытался постить что-то на Реддит, Хакерньюс и в другие подобные места, но пользы от этого никакой. Точнее, не так: пару раз вдруг совершенно непредсказуемо что-то взлетало. А однажды каким-то чудом про «Всегдабрь» написал целый сам «Вёрдж». Но никакой связи между смыслом написанного и величиной эффекта я не заметил.

Хочу вести какую-то осмысленную работу в этом направлении. Что вы посоветуете? Или чем вы можете помочь?

2017   вопрос   я

Вопрос про фоновую работу ПХП

Эгея написана на ПХП как обычное веб-приложение, отвечающее на запросы браузера к серверу. Браузер просит страницу — Эгея её генерирует и отдаёт.

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

Это потому что в Эгее реализован механизм фоновой работы через запрос к себе. Когда нужно сделать что-то долгое, Эгея устанавливает ХТТП-соединение сама с собой, как бы делая вид, что она браузер, отправляет запрос по специальному урлу, который означает «сделай бекап» или «поиндексируй поиск», и тут же обрывает соединение. В результате выполнение скрипта заканчивается быстро, а вся долгая работа делается незаметно, как раз в ответ на этот запрос к себе. О таком методе я узнал лет двенадцать назад от Романа Иванова, и с тех пор пользуюсь.

Асинхронное выполнение на ПХП

К сожалению, с этим методом возникла проблема, когда я стал поддерживать ХТТПС. Если просто отправлять запрос и сразу закрывать соединение, как я всегда делал, не происходит вообще ничего — с точки зрения сервера всё выглядит так, как будто к нему и не обращались. Если же попробовать прочитать ответ, то приходит 400 Bad Request, потому что я как бы пытаюсь говорить с ХТТПС-сервером на простом ХТТП. К сожалению, мне почему-то так и не удалось отправить самому себе запрос по ХТТПС с помощью функции fsockopen () и её родственников, хотя я вроде бы исчитал документацию со всех сторон.

Вместо запроса к себе можно использовать register_shutdown_function (). Но я когда-то пользовался ей, и у меня осталось ощущение ненадёжности — кажется, она выполнялась не всегда, и там были какие-то особенности внутри странные, например, что все пути к файлам должны быть указаны абсолютно. Короче, чтобы ей воспользоваться, нужно переструктурировать код. Женя Степанищев ещё рассказал про fastcgi_finish_request () — похожий вариант.

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

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

Ну и пока умники в твиттере не начали писать «расскажите кто-нибудь Бирману про крон», объясню, что моя задача — сделать максимально автономное решение, не требующее от пользователя никакой специальной настройки сервера. Закачал на сервер папку — всё работает. Если вы матёрый программист в свитере, вам такое не понять.

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

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

2017   веб-разработка   вопрос   ПХП   Эгея
2017   вопрос   мир

Что делать в Тель-Авиве в конце ноября — начале декабря?

Что делать в Тель-Авиве в конце ноября — начале декабря?

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

Представить, что меня интересует в городах, можно, например, почитав мой рассказ о Париже или Лондоне. Пишите в комментарии или на почту: ilyabirman@ilyabirman.ru. Спасибо.

2016   вопрос   мир

Какой купить ноутбук?

Я в полной печали и растерянности от недавней презентации Эпла, и мне нужен ваш совет. Но сначала я расскажу вам душещипательную историю. Ильяхов никогда не простит мне этот текст.

Душещипательная история

Больше четырёх лет мне служит ноутбук Макбук-Эйр 11˝. Долгое время я относился к ноутбуку как к чисто походному варианту — ну там, курс провести, на дачу съездить или в отпуск. Эйр меня устраивал даже в самой дешёвой комплектации.

В какой-то момент я стал замечать, что часто не делаю что-то на ноутбуке, что хотел бы, откладывая до возвращения за большой экран моего Аймака. Да на 128 ГБ нифига не влезало, поэтому нужных вещей сроду не было под рукой (облака где-то далеко). Становилось кисло без ретины.

Год назад у меня возникла мысль изменить концепцию: наоборот купить 15˝ прошку в полном фарше и подключить к ней терабайтный Дропбокс. Чтобы всё всегда было с собой и можно было делать на большом ретиновом экране. Я зашёл и посмотрел, что 15˝ прошка в нужной мне бескомпромиссной комплектации стоит 200 штук. Охренел я немало, но стал постепенно смиряться с этой цифрой, думая, что, может, в новых и объёмы ССД вырастут, и я за эти деньги получу уже не 512, а 1024 ГБ? Ну и тогда, может, и ладно. Уже были слухи, что Эпл готовит обновление ноутбуков, поэтому я не спешил.

Я ждал, что они их обновят на весеннем эвенте. Но они не обновили. Потом я ждал, что обновят на ВВДЦ. Но они не обновили. «Значит, осенью», — подумал я, будучи уже несколько раздражён. Я был уверен, что как обновят, я пойду и куплю себе новую пятнашку. Она должна была стать тоньше и более долгоиграющей, чем существующая, сомневаться было не в чем. В июле я даже пошёл и купил себе 15˝ чехол любимой Люксы-2, потому что все остальные чехлы говно, и я боялся, что вдруг эти пропадут из продажи.

Наконец, настал счастливый день 27 октября. Эплы начали презентацию новых ноутбуков. И что же они показали? Какую-то хрень!

В новом 15˝ Макбуке-Про нет части клавиатуры. Сейчас рано обсуждать пользу тачбара, но даже если представить, что он суперполезен, это не повод отбирать у меня другие кнопки, к которым я привык. И эскейп, про который все смеются — это ещё ладно. Но F1—F12? Идите в жопу со своими рассуждениями про терминал, у меня на компьютере куча программ, в которых я работаю, и в которых настраиваю под себя кнопки. Для тех, кто только в интернет тыкает, у вас уже есть Айпады.

Ну это, допустим, ладно, можно придумать другие клавиши.

Но та клавиатура, которая есть, как все пишут, похожа по ощущениями на клавиатуру 12˝ Макбука. Я обожаю плоские клавиатуры, и с удовольствием пользуюсь «Волшебной клавиатурой» Эпла, в которой тот же самый механизм, что в Макбуке. Но «Волшебная клавиатура» — это блаженство и лучшая клавиатура, к которой я прикасался, а клавиатура Макбука — это полное говно, которым невозможно пользоваться. Механизм в этих клавиатурах один и тот же, но глубина нажатия на Макбуке настолько мала, что понять, нажал ли ты кнопку, по тактильным ощущениям невозможно.

Ну это, допустим, ладно, можно перепривыкнуть.

Но ещё они убрали слот для СД-карт. Когда я представлял себе будущее с 15˝ компом, я думал, что буду прямо в него скидывать фотки в поездках и сразу обрабатывать. Но теперь мне придётся покупать уродский переходник, который нужно таскать с собой и который будет дебильно висеть.

Ну это, допустим, ладно, можно потерпеть.

А ещё теперь нет Магсейфа....

И тут я, и так немало приуныв от всего увиденного, захожу на сайт Эпла, и оказывается, что приличная конфигурация новой пятнашки стоит под 300 штук! Брать по цене автомобиля компьютер, к которому у меня целая куча претензий — это вообще не вариант.

И я стал думать, что же делать.

Что же делать?

Уложиться в 200 с новой пятнашкой, взяв самый слабый процессор и ССД на 256 ГБ? Но тогда план иметь всё с собой отменяется, компьютер по-прежнему будет отчасти походным. А за походный компьютер это слишком много денег.

Купить у Эпла старую модель (которая пока в продаже)? Но даже со старой нереально уложиться в 200, если хочется ССД на терабайт. 512 ГБ, конечно, куда ни шло. Но старую покупать как-то тупо, она толстая и тяжёлая же теперь. И у неё батарейки хватает на меньше.

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

И сегодня у меня появилась ещё одна версия. Может, надо купить новую тринашку без тачбара в минимальной комплектации? Тогда чехол Люксы-2 будет лежать без дела, а ноутбук останется походным, но всё-таки останется и с кнопками F1—F12, станет более умелым и получит ретину. Вроде неплохой апгрейд. Но блин, оба порта для зарядки у таких тринашек Эплы умудрились разместить с одной стороны.

Короче, это всё какая-то жопа. Что думаете?

2016   вопрос   Мак   Эпл

Люди используют пробел для прокрутки страниц

Издревле в браузерах пробел прокручивает страницу на один экран вниз.

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

Cреди моей аудитории больше трети людей используют пробел

Даже среди моей продвинутой аудитории больше трети людей используют пробел!

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

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

Посоветуйте компактный диджейский контроллер

У меня контроллер Пионер Дидижей-T1:

Pioneer DDJ-T1

Он крутой и очень мне нравится, но здоровенный, далеко с собой не увезёшь. Ещё есть Вайрлесс-диджей, но я уже почти год без айпада.

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

Поэтому я ищу новый контроллер, с такими фичами:

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

Хочется ещё, чтобы около фейдеров были живые индикаторы уровня каждого канала. У моего такого нет, а вот у похожего S1 — есть, это польза.

Очень хочется, чтобы для питания хватало УСБ (мой ещё надо отдельно в розетку втыкать).

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

Посоветуйте что-нибудь недорогое?

2016   вопрос   диджейство
Ранее Ctrl + ↓