You are viewing [info]justy_tylor's journal

Electric Café

> Recent Entries
> Archive
> Friends
> User Info
> previous 10 entries

March 12th, 2031


12:12 pm - communication
Журнал обновляется, при этом старые посты (2005-...) уходят в небытие. Если здесь что-то было, а теперь этого нет - не удивляйтесь.

Этот пост для связи, комментарии скринятся, их смогу прочитать только я.

(Leave a comment)

May 11th, 2012


07:00 pm - Юзабилити для языков программирования - 3
Часть 1
Часть 2

За окном дождь и Питер, самое настроение обругать C++. Продолжаем тему юзабилити.

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

1. Декларирование типов.

Рассмотрено в Части 1.

2. Использование < и > в качестве скобок при параметризации.

vector<set<T> > -- бинарный оператор внезапно превращается в скобку. Сложно читается, сложно парсится, зачем? По заявлениям Страуструпа "они искали решение, которое выглядело бы максимально чуждо на фоне привычного синтаксиса, чтобы выделить новые конструкции". Хотели сделать криво - сделали. Позже это решение собезьянили в Java, C#... Только в следующем поколении авторы Nemerle и Scala догадались не наступать на те же грабли.

3. Разные операторы работы с контекстами.

std::lower_bound -- запрашиваю функцию lower_bound в контексте пространства имён std.
vec.x -- запрашиваю значение поля x в контексте структуры vec.
pObj->m_systemId -- запрашиваю значение поля m_systemId в контексте указателя на объект pObj.

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

Языки, где используется только точка, выглядят намного приятнее и чище.

Дополнения приветствуются.

(21 comments | Leave a comment)

May 9th, 2012


08:22 pm - Language workbenches
Недавно отвечал в письме, почему не стоит заниматься темой language workbenches:

Language workbench - среда разработки языков (а не интеграции уже имеющихся!). Осуществляет разъединяющую функцию, предлагая создавать для каждой предметной области свой мини-язык вместо одного полноценного языка с набором библиотек под предметные области. Целевая аудитория - единичные программисты. Которые уже поняли, что новый язык это решение, но ещё не догадались, что много языков это много проблем. Пользы нет, ни один из продуктов этой ниши не показал результатов сопоставимых с обычными языковыми решениями.

Также: DSL and workbenches (http://justy-tylor.livejournal.com/159975.html)

(31 comments | Leave a comment)

April 26th, 2012


04:16 pm - Multimedia experience
Относительно предыдущего поста - сравнивая прошлое и настоящее обратил внимание на одну заразу, которая уже лет 30 как живёт в древних электронных журналах, на DVD с фильмами, и даже в относительно современных сайтах и прикладном ПО. Multimedia: когда тексты, изображения, звук, видео, и даже сам пользовательский интерфейс, смешиваются в единый пайплайн потребления информации. При этом выпячивается вторичный продукт (микс), а качество составляющих значительно снижается за счёт несоблюдения тех правил представления, которые применяются к данным видам медиа по отдельности.

Меню на DVD - набор бессмысленных анимаций, препятствующих желанию пользователя просто посмотреть фильм или клип.

Типичные сайты на флэше - вступительная анимация и оглушающая музыка в сопровождении картинки "галерея грузится". Закрыть, развидеть, забыть.

Спектрумовские русскоязычные журналы, тотальный приоритет оформления над контентом. Вплоть до point&click UI (неудобно на безмышиных компьютерах, но модно!). Впрочем, у британцев встречалось хуже - журналы на кассетах, в своём UI эмулирующие телетекст. Опять же, неуправляемое музыкальное сопровождение.

Примеров множество.

Каждый вид медиа требует правильного, раздельного обращения. Текст и иллюстрации надо верстать как текст и иллюстрации. Анимация - только когда пользователь этого хочет. По нажатию кнопки, наведению мыши, или при переходе на отдельную анимированную открытку. Каждый анимированный юзерпик это минус 100500 вашей карме. Если есть звук, то должна быть и возможность регулирования громкости. Если у контента есть длительность (видео, музыка, ...), то должен быть таймлайн для перемотки. Интерфейс и контент нельзя смешивать. Красивые transition эффекты в интерфейсе призваны снять тревогу пользователся, ведь в обычном мире изменения постепенны, нет такого, чтобы лежащая на столе книга X мгновенно заменилась на книгу Y, или мгновенно подвисла в воздухе, пока книга Y "загружается". Они не должны мешать, не должны отвлекать внимание. У всего свои правила.

Дорогие дизайнеры, помните, применяя "мультимедиа" вы наделяете ваш сайт (или иной продукт) таким же уровнем юзабилити, какой был распространён среди убогих электронных журналов, распространявшихся на кассетах в восьмидесятые. И это уже не модно.

(3 comments | Leave a comment)

April 25th, 2012


06:47 pm - Диски
Недавно сообщали про 30 лет со дня выпуска ZX-Spectrum. Я по этому поводу запустил эмулятор, посмотрел разные диски. Если рассматривать критически, то большинство барахло, но что из тех времён запомнилось, то радует и сейчас.

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

А сейчас я смотрю на десять полок с фильмами и музыкой. Древние DVD, Audio-CD, которые (помимо ряда коллекционнок) хорошо бы заменить копиями на архивных винчах и освободить место. И есть ощущение, что лучше просто выкинуть.

(Leave a comment)

April 21st, 2012


12:02 am - Разница состояний - 2
Ещё, в Японии совершенно иначе чувствуется время. Сегодня Нара, завтра Миядзима, успеть немного поспать в Осаке между поездками. Утро, завтрак и на синкансен, вне зависимости от погоды и усталости. Нельзя упустить шанс сейчас, другое завтра возникнет лишь спустя годы или никогда.

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

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

(1 comment | Leave a comment)

April 20th, 2012


01:21 pm - Разница состояний - 1
Уже неделю в Питере, наблюдаю за собой и окружающей средой.

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

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









Здесь, в Питере, всё иначе. Красивый Петербург это кусочек центра. Шаг в сторону - и это мрачный Петербург Достоевского. Два шага - дома-коробки.

Четыре года назад я фотографировал Изумрудный Город на ул. Правды. А в прошлом году в Питер заехали [info]livelight и [info]otomian_malu, и мы сходили туда ещё раз. Обломки и запустение. Вот это, увы, уже российские традиции.

(Leave a comment)

April 18th, 2012


07:02 pm - open source
Farbrausch выложили исходники демомейкерской системы werkkzeug3. Включая код для debris и kkrieger.

Кто хочет "написать Quake с процедурной генерацией всего и размером 96kb" смотрите на https://github.com/farbrausch/fr_public

А мне интересен дизайн их редактора в версии 3, посмотрю, когда кто-нибудь сбилдит.

(Leave a comment)

April 16th, 2012


06:02 pm - Япония - прибытие
Тот день, 3 апреля, в Токио была особенно исключительная погода.
http://www.bloomberg.com/news/2012-04-03/japan-s-strongest-storm-since-1959-forecast-to-slam-into-tokyo.html
http://ecowars.tv/disasters/504-shtorm-po-sile-tayfuna-chinit-besporyadki-v-yaponii.html

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

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

До Токио у нас был заказан свой автобус. К счастью, так как поезда тоже отменили. Пока ехали к городу ветер поутих. Вечером гуляли по Гинзе. Мы были уже в Японии и были счастливы.

(Leave a comment)

April 15th, 2012


07:07 pm - Рабочее
Это был один из тех моментов, когда мы листали карты токийских электричек (JR, Tokyo Subway, Toei Subway), выбирая удобный путь.

Тогда появилось видение: транспортная/навигационная инфраструктура это лучший отладочный кейс для средств интеграции данных, который только можно представить.

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

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

(2 comments | Leave a comment)

> previous 10 entries
> Go to Top
LiveJournal.com