Позднее Ctrl + ↑

Эгея v3109

Вышла новая сборка Эгеи, v3109.

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

После выхода новой версии всегда есть небольшая турбулентность, пардон.

Эгея v3107

Вышла новая сборка Эгеи, v3107.

Из заметного с момента релиза 2.6 — исправлен баг, из-за которого картинки могли не загружаться у тех, у кого в урлах используется ?go=. Пока все те, кто поймал этот баг, в итоге перешли на чистые урлы, чем и исправили баг, и получили чистые урлы. Так что от бага они только выиграли.

О том, как сделать чистые урлы, написано в документации («Движок использует в урлах конструкцию ?go=, а я хочу чистые урлы без неё»). Эгея автоматически использует чистые урлы, когда уверена, что они у вас заработают, но она не всегда может быть уверена, поэтому иногда нужны такие пляски с бубном.

Но баг всё же стоило исправить, потому что на чистые урлы могут перейти не все.

ПХПШторм и рефакторинг при переименовании файла

В заметке о ВС Коде я написал:

Однажды я видел, как разработчик переименовывал файл в «ПХПШторме». На экране несколько секунд заполнялся прогрессбар. Нет, спасибо.

Мне написал Александр Яскевич:

То, что ты видел — рефакторинг. Если на этот файл в проекте были ссылки, ПХПШторм их также менял в то время, пока ты наблюдал прогрессбар. Ну или просто искал. Даже если ничего не нашел, время на поиск тратится. В таких мелочах ИДЕ от редактора и отличается.

Я в курсе, что это рефакторинг. Тут есть две проблемы.

Во-первых, непонятно, зачем ему искать? Он же ИДЕ. Даже «просто редактор» умеет индексировать проекты в фоновом режиме. Он безо всякого поиска знает, где упоминается мой файл. И даже если действительно нужно изменить упоминания в нескольких файлах, на современном компьютере это не займёт заметного времени. Поэтому рефакторинг прогрессбару не оправдание.

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

Живой микс: Дизайн

21 апреля сыграл техно в Студии Лебедева. Так:

Живой микс: Дизайн

Есть две грубых помарки. Грязь в районе 31:20 и забытый открытым канал в 1:20:11.

Плейлист:

0:00:00 Artefakt Tidal
0:01:52 Conrad Van Orton & VSK Angular Momentum
0:05:35 Shlømo Obsession
0:09:01 Antonio De Angelis Polar
0:11:58 Roman Flügel Pattern 13
0:17:45 Planetary Assault Systems Whistle Viper (Live Edit)
0:20:55 Sleeparchive Window 092 (Oscar Mulero Remix)
0:24:14 Tensal Achievement 3
0:26:50 Axkan Fear (Israel Toledo Remix)
0:29:01 Sleeparchive 1
0:30:26 P.E.A.R.L. Desolation (I/Y Reduction)
0:33:12 Ilya Birman Glass
0:35:21 Israel Toledo Standing
0:38:15 Developer Hooked In
0:41:31 Planetary Assault Systems Bell Blocker
0:45:06 Shifted Clairvoyance Part II
0:49:00 Truss Beacon (Original Mix)
0:50:59 Rumah & Progression SC3
0:54:18 Dense & Pika Lack Of Light
0:58:22 Robert Hood Shaker
1:02:38 NoizyKnobs Really Deep
1:07:13 Woo York Siberian Night
1:10:20 Sector Y Hit Control
1:14:34 Exium Monopoles
1:18:04 Ilya Birman I Will Always
1:19:10 Orion Forerunner (Original Mix)
1:23:43 Conrad Van Orton & VSK DP
1:26:56 Sleeparchive 7
1:27:52 Birth Of Frequency Gate (Oscar Mulero Remix)
1:31:08 Jen Series Shadow Dancer
1:33:08 Tørmented Sins Of Prophets (Original mix)
1:35:36 Ilya Birman Octomore
1:41:48 Alderaan Disturbed
1:44:13 Planetary Assault Systems Bawoo Bawoo
1:49:04 Birth Of Frequency Design
1:53:52 Sleeparchive Roses
1:55:19 Oscar Mulero Inclination

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

Есть страница микса на Промодиджее.

Предыдущий похожий микс: Уловка.

Анонс доклада на Питер-ЦСС

Анонс доклада на Питер-ЦСС

16-го июня прочитаю на Питер-ЦСС доклад о декларативных АПИ на английском. Организаторы конференции ещё напоминают, что с завтрашнего дня билет стоит 4500 ₽ (сегодня ещё 4000 ₽).

Предположим, вы сделали какой-нибудь веб-компонент. Например умную выпадайку с автодополнением под названием superComplete. Тогда вы, скорее всего, предложите инициализировать его как-нибудь так:

var superCompleteInstance = new SuperComplete ('#el')

Или, если это плагин для Джейквери, то так:

$ ('#el').superComplete ()

А надо не так. Пусть оно инициализируется само, увидев знакомый класс:

<input id="address" class="supercomplete" />

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

Социокнопки «Лайкли» вставляют на страницу так:

<div class="likely">
  <div class="twitter">Твитнуть</div>
  <div class="facebook">Поделиться</div>
</div>

Чтобы поставить плеер «Жуэль», надо дать класс ссылке на аудиофайл:

<a href="news.mp3" class="jouele">Ilya Birman: News</a>

В «Эмёрдже» чтобы элемент появился только после полной загрузки всего содержимого, а до того отображалась крутилка, нужно завернуть его в такой див:

<div class="emerge" data-spin="true">...</div>

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

Расскажу, почему это клёво и как придумывать синтаксис таких вот декларативных АПИ.

Как сказал Стив Джобс, «Design is how it works». Это доклад про дизайн.

Другие объявленные доклады:

  • Paint the Web with CSS. On Creating Art with Code
  • Creating Magic With Houdini
  • Designing Data-Driven Products. Controlled Chaos and Evolution
  • Chinese Typography on the Web

Уличные таблички Берлина

Основной дизайн:

1

Снизу — место для нанотаблички с диапазоном номеров:

2

Табличка с какой-то красной кляксой — готовый логотип:

3

Если улица названа в чью-то честь, про него крепят минитабличку сверху:

4

Самый кайф — лигатуры (это две разных):

5
6

Хорошее название:

7
8

Альтернативный дизайн:

9
10

Совсем редкая крутота:

11

Бонус. Номерные таблички на доме:

12

Двуслойная, похожая на таллинскую:

13

Номер-светильник как в Хельсинках:

14

См. также уличные таблички:

Берлин:

Фотографии 12, 13 и 14 добавлены 9 ноября 2021 года, когда заметка «Берлин в марте 2016» переносилась из раздела «Мир» в блог и сокращалась

Жуэль 2.3 доступен в НПМ

Новый Жуэль 2.3 теперь доступен в НПМ:

npm install ilyabirman-jouele

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

Ранее Ctrl + ↓