ermouth: (Default)
Билайн чрезвычайно агрессивно и настойчиво продвигает свой «интернет за рубль». Мне не так давно пришлось предпринимать специальные усилия, чтобы гопьё, разносящее от Билайна рекламу, не ломилось ко мне по выходным со своими листовками.

В самом деле этот «интернет за рубль» означает только раутер, который вам формально продают за рубль, но вы подписываетесь под тем, что если расторгнете контракт на инет раньше чем через два года – покупаете раутер за 2500=. Маленький такой нюанс, о котором вы и не узнаете, если не прочитаете бумаги полностью. Я прочитал.

За этот самый рубль вам дадут Smart Box One, двухдиапазонный раутер с фирменно кривоватым интерфейсом Билайна внутри. Раутер этот интересен тем, что у него внутри руткит, оставленных Билайном для удалённого управления.

Иллюзия контроля

Я сначала было подумал, что удалённое управление это не страшно – и был дурак. Ущербен сам дизайн интеграционного решения, требующий удалённого управления оконечными устройствами. Просто наличие каналов удалённого управления говорит о том, что продукт невысокого качества и, вероятно, потребует самого разностороннего низкоуровневого вмешательства.

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

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

Ложную – потому такая логика не учитывает, что само наличие руткита и уверенность саппорта в его всемогуществе и есть главная проблема этого оборудования.

TR-069

Билайновские Smart Box One имеют по умолчанию включенную механику TR-069. Это протокол для удалённого управления, слива данных и обновления. Билайн использует его скрытно, и вы не сможете отключить его с помощью обычного пароля к раутеру. Вы даже не будете знать, что такой функционал в вашем раутере есть – он показывается только под суперпользователем с правами производителя.

Замечу, что Билайн знает пароль суперпользователя вашего раутера, а вот вы – нет. Конечно, я поменял у себя этот пароль.

TR-069 я тоже отключил – и сегодня инженер техподдержки несколько удивлённо констатировал, что не может попасть в мою железяку. Забавно, что до этого, когда я ему сказал, что повырубал руткиты, он только усмехнулся.

Прошивки и автоообновления

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

После того, как я включил TR-069 обратно – для доступа билайновского инженера – раутер немедленно без спросу скачал прошивку и её накатил. Сделав нерабочим набор настроек, работавший на предыдущей прошивке, вполне официальной. Хуяк-хуяк в продакшен, в полный рост.

Ещё конечно при таком обновлении прерываются все соединения.

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

Так что TR-069 не стóит включать обратно даже на короткое время. Мне это обошлось в полною недоступность моего IP из внешних сетей и невозможность применить хоть как-то работавшие до этого настройки.

Ещё всякое по мелочи

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

Из последних 5-6 последних виденных мной раутеров у этого интерфейс наихудший – глючный и некрасивый, но в целом терпимый.

---

При всех негативных сторонах, экспириенс позитивный. Как минимум я пересмотрел свою железную уверенность, что удалённое управление – это добро. Само по себе – возможно, однако оно побочным эффектом порождает культуру безответственности и читерства. Особенно когда такое удалённое управление – скрытое и пользователем не отключаемое.
ermouth: (Default)
Внезапно без конкретной необходимости задумался, как бы я стал рисовать иконку (пиктограмку) понятия «ложь».

Первой ассоциацией проявился символ 𝓛 ) Icon of Lie.

Сразу ещё вспомнился один прекрасный момент про ложь, и Гугл мне даже видео подсунул:


ermouth: (ang)
Клавиатурные шорткаты зума на Маке – один из самых прекрасных примеров интерфейсной унификации. Не так всеохватно, как копи-пэйст, поэтому мало кто пользуется – а очень же удобно.

Cmd + и Cmd - родом из Фотошопа. На Маке они работают в адобовских продуктах, Chrome, Safari, Opera, FF, Sublime, Fraise, Atom, Terminal и iTerm, Postman, iBooks, iMovie, Skype и во всём, что связано с графикой. Ещё выпадайка с иконками программ из дока понимает Cmd+/Cmd-, при том, что Finder – не понимает.

Хром так просто образец реализации, запоминает зум отдельно для каждого домена. Скажем, вКонтакт я просто физически не могу смотреть при 100%, там нужно 125. Хром об этом помнит.

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

Чтобы жизнь не казалась сахаром, нативные эпловские Pages, Numbers и Keynote эти шорткаты понимают не как зум, а как увеличение-уменьшение кегля шрифта в выделенном фрагменте. В Вордах-Экселях, естессно, вообще не работает.

На Винде в Хроме зум – Ctrl+/Ctrl- если кто не знал. Тоже как в Фотошопе сделано.
ermouth: (ang)
Лж-френд Никитонский в своём посте про полный абзац в вебе в смысле не просто поддержки стандартов, а вообще качества стандартов, немного иронически страдает.
Но самый стресс, конечно, от безнадеги. Если на сервере ты работаешь на технологии и страдаешь, то ты знаешь, что рядом есть компании, который пишут на чем-то хорошем, и когда-нибудь ты там окажешься. <…> А на фронте не так. Логики нет, и надежды никакой нет.
Я понимаю, но мнение не разделяю. Конечно, когда впервые в полный рост сталкиваешься со всем набором прелестей около-яваскриптной экосистемы, становится грустно. Кажется, что везде бардак, анархия и вообще «куда катится этот веб».

В самом деле это не бардак и не анархия. Так выглядит изобилие.

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

Скажем, мне лично несколько раз крупно не везло с синтаксисом «код внутри разметки». Вот php там, angular, handlebars и всё такое. Да, xslt ещё. Сначала просто и красиво, но чуть отвернёшься – и кровавое месиво с костылями.

Чтобы не попадать постоянно на такие артефакты, достаточно соблюдать разумный консерватизм и умеренность. На пёстрый хайп интересно посмотреть с балкона – но не обязательно же в него вливаться. Ну не прямо же сразу, как минимум. Тем более, у изобилия есть два приятнейших момента:

А) Полно стабильных и проверенных артефактов. Хочешь rich controls, нормальные event-ы и ajax, работающие на чём угодно всегда – юзай jquery. Хочешь pub/sub и не париться про сокеты, лонгполлы и пр – юзай сокетио. Хочешь нормальную локальную базу – юзай localforage или pouchdb. То-есть, по аналогии с HAL (hardware abstraction layer) эти артефакты можно назвать BAL – browser abstraction layer.

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

Б) Под вновь открытую проблему быстро появляется простое и эффективное лекарство. То-есть потом, когда-нибудь, эта новая проблема может и будет побеждена и искоренена во всей экосистеме – но можно не ждать светлого будущего, а жить в реальном мире.

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

В общем, изобилие – комфортнейшее состояние экосистемы, если быть консервативным и избирательным, но прощать хорошим вещам небольшие несовершенства.

La Piovra

Feb. 26th, 2017 04:55 am
ermouth: (ang)

Я когда-то нашёл занятный концепт “Программа как осьминог” – и так на всю голову впечатлился, что мы примерно такое сейчас и делаем.

Архитектура нервной системы осьминога:

v46

Архитектура федерации узлов и данных, которую мы сейчас сочиняем:

v47

Забавно, что наш осьминог, как и всамделишный, может целиком вытечь через один канал. Без остановки сервисов, включая обновления кода и состояния, которые происходят во время “перетекания”.

Только в нашем осьминоге не обязательно 8 щупалец. И можно отращивать новые или соединять имеющиеся в одно ничего не останавливая.

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

И да, во избежание возникновения конкурирующей расы сетевых октопоидов 🐙, функции вымётывания икры у нашей системы на всякий случай не предусмотрено )

ermouth: (ang)
У маковской TimeMachine – прекрасной в целом конструкции – обнаружился довольно любопытный косячок.

Совершенно случайно сегодня обнаружил, что автобэкап на основной боевой машине не работает почти месяц. Я в январе её выключал и обтирал пыль со всех разъёмов – и вставил USB от внешнего диска не до конца.

При этом значок TimeMachine в менюбаре ни разу даже виду не подал, что давно не видит диска.

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

Непорядок. Любопытный, кста, интерфейсный кейс.
ermouth: (ang)
На тему сабжа внезапно вспомнился отличный анекдот:
В семье британского лорда был немой сын. В 16 лет, за завтраком, он внезапно заговорил:
– Почему чай холодный?
– Сынуля, ты заговорил! Почему же ты до сих пор молчал?
– Так до сих пор все было в порядке.
ermouth: (ang)
Я примерно в сентябре придумал офигенную имхо идею, как не забывать мониторить спам – иногда туда что-нибудь важное попадает.

Трюк простой – надо сделать так, чтобы в спам приходило что-то интересное, но не важное и не срочное. Не вообще интересное, а именно для вас.

У меня в спам приходят дайджесты Quora  – там что раз в несколько дней я в спам заглядываю, квору почитать )
ermouth: (ang)
Полдня размышлял в несколько философском смысле о мобильных версиях сайтов, продающих услуги пакетами (туризм). То-есть, небесспорно было, что версия для мобилы вообще должна отличаться от дескотопной чем-либо, кроме форматирования элементов и компоновки списков.

У меня были всякие предыдущие соображения в картинках, но не вырисовывалось всё целиком. В чём именно главное UX-отличие от десктопа, как это сформулировать?

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

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

Попахивает «уникальной революционной методикой» ггг 😜. В следующий раз на чём-нибудь безобидном запишу процесс, выложу.
ermouth: (ang)
На Техкранче попалась старая (дряхлая даже, больше месяца) публикация про новые наушники Apple. Наткнулся на неё после того, как прочитал, что Эппл выпуск наушников этих отложил.

Лид статьи:
After only a few days with Apple’s wireless AirPod headphones, it’s clear that there will be a huge platform business based on the reliable, persistent availability of a contextual artificial intelligence that can talk to you and receive commands.

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

Задумался о том, как бы я строил голосовой интерфейс навигации по жэжэшечке – и внезапно понял, что задача шира и интереснее. Мне пришло в голову, что анализ воображаемых команд абстрактному голосовому интерфейсу может здорово подсказать, как делать интерфейс визуальный.

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

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

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

Попробую такой метод на реальном чём-нибудь.
ermouth: (ang)
№1. Пришельцы, прилетевшие на Челябинском метеорите, выедают мозги политикам, захватывают сенат США и собираются строить по всей америке теплицы для выращивания сакуры.

№2. Генерал спецслужб, упоровшись препаратами, пытается порешать проблемы России – во сне договариваясь с масонами из порноромана. Попутно уничтожается агрессивная раса вагиноидов.

Вы ознакомились с кратким содержанием последнего просмотренного сериала и последней прочитанной книжки.

Дивные новые медиа дивного нового мира 😝
ermouth: (ang)
У galkovski хорошая серия эссе о Булгакове, начало тут http://galkovsky.livejournal.com/256975.html

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

Слово «живoдёp», особенно в переносном смысле, вообще редкое и выразительное, а когда по нему классификация вводится – становится совсем интересно. Я даже задумался, кого можно считать подходящим под определение и какие они вообще бывают, помимо умных и легкомысленных.

Сочетания с некоторыми прилагательными мне ошеломительные картинки в воображении нарисовали. ‘Счастливые’, например, или ‘взлетающий’.

Ещё вот отличное же ругательство, да. 
ermouth: (Default)

В самом конце 2013 я с уверенностью предположил, что в 2014, максимум в 2015 мы увидим порт Win 95 под браузер.

Я ошибся на месяц, да.

Снимок-экрана-2016-02-01-в-17.06.17

https://win95.ajf.me/win95.html, я пробовал в Хроме. Время от времени сайт лежит – туда сегодня куча народу ломанулось.

Оно вообще довольно долго стартует – потому что выкачивает под 100Мб с черепашьей скоростью. Причём кэшируется примерно треть, остальные 2/3 выкачиваются на каждой перезагрузке страницы, ой вэй. Ну это легко поправить – и, я думаю, поправят.

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

То-есть “летать” – это значит никаких лагов вообще ни в чём интерфейсном. Звук на месте, приложения как надо работают, вот только на IE3  у меня упал, написал Uncaught SimulateInfiniteLoop.

19-летний чувак сделал. Я фигею.

ermouth: (ang)
Меня внезапно осенило, почему лишь очень небольшая часть хороших программистов в состоянии делать хорошие юзер-интерфейсы.

Дело в том, что хороший интерфейс – это система, в которой основную роль играет качество компоновки, а не качество реализации внутренних подсистем как таковых. В отличие от, скажем, программ командной строки или серверных решений, экспортирующих API.

В UI компоновка не просто определяет качество решения, компоновка и есть решение. Причём ограничения на компоновку весьма жесткие, не в пример суровей типипчных ограничений на компоновку программ без графического UI. Я думаю, тут уместна будет аналогия с компоновкой летательных аппаратов, там тоже внешние обводы и диапазон центровки – непреодолимые ограничение, любые подвижки в которых очень тяжело даются.

Типичная программа редко приближается к ограничениям окружения – обычно имеется существенный резерв, нередко на порядки. Да и самих ограничений рантайма не так и много: CPU, IO, RAM, overall response time.

С UI всё совсем не так – ограничения на время отклика отдельных частей, геометрию, да просто количество элементов, на связность и сгруппированность их, очень жесткие, никаких «туда-сюда на порядок» там нет в помине. Плюс целевые системы могут очень отличаться по производительности и, например, размерам экрана.

Задачи на связность и группировки, если их решать в лоб, моментально дают комбинаторный взрыв – а компоновка как раз такая задача.

Наилучший способ решения таких задач – это использовать мозги для того, что они (нейронные сети) умеют лучше всего, и это совсем не логическое мышление. Это навигация по ландшафту. В этом случае, ландшафту вариантов решений, образованных этим самым комбинаторным взрывом.

Сначала выбирается стратегия, а затем итеративно строится путь, причём возврат «назад», к началу, стóит существенно дороже, чем движение вперёд. Примерно так мы играем в шахматы. Примерно так выглядит процесс обучения, когда мы учимся самостоятельно.

Компоновка – это игра, а программисты нередко слишком серьёзные )
ermouth: (ang)
Уважаемые френды, живущие в России. По вашему ощущению, если вас спросить, на сколько процентов вырос/упал ваш уровень жизни за 2015, как бы вы ответили навскидку?

[Poll #2034674]
Опрос намеренно субъективный, тем не менее, под уровнем жизни я в первую очередь понимаю уровень потребления. Не столько в деньгах, сколько в общем объёме и качестве приобретённых услуг. 
ermouth: (Default)

Год начался по-високосному.

Для начала, у меня посреди зимы в зверскую сушь и морозяку (на улице –25, дома +25) зазеленела моя новогодняя ёлка, с верхушки. И, похоже, собирается цвести дальше вниз. Это вот называется “апикальный рост”:

IMG_1484

Ёлка у меня в горшке, примерно по пояс, Picea glauca conica, живая. Что зацвела – странно, эти ёлки очень капризные и не любят ни тепло, ни сухой воздух.

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

Яваскриптовое опенсорц комьюнити внезапно тоже зимой “расцвело”. Я ожидал примерно чего-то такого в 2016, но не подряд, и не таких масштабов:

  1. Oracle выпустил JS-рантайм для JVM, причём по заявлениям довольно шустрый. Назвали Грааль (Graal).
  2. Microsoft заопенсорцила Chakra Core – JS-engine из IE11 и WinJS.

Эзотерические названия вполне закономерны, приличные JS-компиляторы уже давно ворочают минимум двумя уровнями intermedite representation и некоторые механики, скромно рисуемые вот на таких схемках как Bailout – чистый хак и магия.

chakracore_pipeline

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

А вот то, что Oracle сделает в какой-то момент нормальную JS-машину я предполагал, но совершенно из сторонних соображений. Дело в том, что HotSpot вырос из компилятора Smalltalk’а под названием Strongtalk. Который придумал чувак по имени Ларс Бак 20 лет назад.

Он же, неожиданно, придумал Google V8 – самый быстрый JS-компилятор до недавнего времени. Все основные идеи в V8 – родом из Strongtalk’а. Раз эти идеи породили отличный JS-компилятор в одном месте, странно было бы, если б они не выросли во что-то похожее где-то ещё.

Конвергентная эволюция, да. Нисколько не удивлюсь, если найду в Чакре в том месте, что изображено загнутой стрелкой Bailout, те же идеи, кстати.

Апикальный рост начинается примерно одновременно сразу в нескольких местах, ога )

Echopraxia

Oct. 18th, 2015 11:39 am
ermouth: (ang)
Прочитал на днях Echopraxia Питера Уоттса, на английском. Скоро выйдет перевод на русском – и я бы советовал его дождаться тем, кто хочет почитать. Вокабуляр Уоттса огромен, изобилует редкими прилагательными и специальными терминами – так что читается это всё в оригинале весьма непросто. Тем не менее, я получил огромное удовольствие – возможно, потому что почти все околобиологические термины мне знакомы (иначе я бы вообще из словаря не вылезал).

Read more... )
Итого

Читать, без всякого сомнения. Очень круто, хотя концовка, конечно, несколько обескураживает.
ermouth: (ang)
Очень клёвая презенташка. В середине, естественно, появляется LISP – куда ж без него )



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

GC, правда, родом из 1970 (оригинал публикации CJ Cheney) и его по нынешним временам никак эффективным не назовёшь – зато он очень простой. 
ermouth: (ang)
Последнюю неделю я практически рыл носом землю, чтобы понять точно, что же вызвало потерю данных. Нашёл и зафайлил кучу багов разной степени тяжести в PouchDB, но ручное прикрытие каждого так и не давало ответа, в чём же в самом деле причина.

Апофеоз истории вот тут https://github.com/pouchdb/pouchdb/issues/3961. В результате я написал тест, который имитирует, что происходит в cloudwall без запуска cloudwall – но оказалось, что этот тест никто кроме меня не может воспроизвести. А у меня он железно воспроизводился на двух моих Маках в 100% случаев – но только для двух доменов, для остальных доменов всё было ок. Я даже стал подозревать в какой-то момент, что зелёные человечки – не выдумка (шучу :)

Ключик в решению проблемы увиделся, когда я слил свои файлы IndexedDB из Хрома разработчику PouchDB, и он не смог воспроизвести баг даже с ними. Просто ничего больше не осталось, как грешить на файловую систему – всё остальное было к тому моменту тщательнейшим образом проверено и отброшено.

Так и оказалось – на обоих Маках у меня были сбои на FS. На эйре, видимо, деградировал SSD, а на iMac – HDD, который часть Fusion Drive. Именно поэтому баг и не проявлялся, пока не закроешь вкладку в Хроме – браузер закрывал файл, а файловая система его обнуляла из-за ошибок в бинарном дереве каталога.

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

Из этого надо вынести несколько уроков:

  1. БД ни при каких обстоятельствах не должна считать нижележащую технологию надёжной. А так считают и PouchDB, и IndexedDB и, увы мне, CloudWall.

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

  3. Баг – лучший учитель. Я за последнюю неделю досконально разобрался, как устроен PouchDB  в части репликации, внешних ajаx-запросов и взаимодействия с IndexedDB. Попутно разобрался со схемой запросов к IDB по-хорошему (ну и гадость, доложу я вам), с производительностью IDB, с тем, как устроены файлы каталогов в HFS+, и много ещё чего попутного по мелочи.

Такие дела. Извинился перед чуваками за наезд – хотя он бесспорно был небесполезен. Я ясно вижу, что они меняют и тесты, и сам подход.
ermouth: (ang)
Прекрасное просто https://www.quantamagazine.org/20150519-will-computers-redefine-the-roots-of-math/

Про множества, теорию типов, гомотопии, эквивалентность и изоморфизм – и мой любимый HoTT, на идеях которого и построен jQuery.my.

Материал написан очень простым и доступным английским языком. Очень рекомендую.

После прочтения материала станет понятно, почему я хотел объяснять $.my через гомотопию – потому что манифест $.my устанавливает гомотопию между интерфейсом (то, что я назвал абстрактным связным пространством вот тут) и данными под ним. Таким образом, манифест $.my определяет тип, который суть эквивалентность между пространством данных и пространством интерфейса.

Profile

ermouth: (Default)
ermouth

September 2017

S M T W T F S
     12
3456789
10111213141516
17181920212223
24252627282930

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 24th, 2017 07:30 pm
Powered by Dreamwidth Studios