?

Log in

No account? Create an account
Первый рукописный блог рунета™ [entries|archive|friends|userinfo]
ermouth

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

[sticky post] Цензурное [Apr. 19th, 2017|01:32 pm]
ermouth
Этот блог переехал на ermouth.dreamwidth.org
linkpost comment

Тотальный анфренд [Sep. 25th, 2017|11:33 am]
ermouth
Так как ЖЖ не позволяет запретить комментирование старых постов, сохранив при этом комменты открытыми, я просто расфрендил всех.

Последняя ниточка, державшая меня в ЖЖ, оборвалась – поэтому ЖЖ переведён в режим архива окончательно.
linkpost comment

Тормоза и Хром [Apr. 17th, 2017|02:39 am]
ermouth
[Tags|, ]

Хром, когда-то бывший на фоне конкурентов просто таки blazing fast, уже не торт. Удивительно, но по некоторым характеристикам нынешний Хром медленнее Хрома 2014 года, например.

Я скажу больше: overall responsiveness у Хрома среди всех современных браузеров наихудшая. Это как-то плавно и незаметно произошло.

Когда-то давно (2014) я делал виджет для представления бюджета Архангельской области в виде интерактивного многоуровневого бублика, смотреть на https://dvinaland.ru/budget. Задача была сделать так, чтобы 500+ SVG-секторов не тормозили при анимации, в результате там jquerymy-виджет и подкрученный d3.js с пачкой довольно tricky кода поверх. Для анимации надо кликать на сектора есчо.

Так вот, в 2014 оно не тормозило только в Хроме и Сафари, а во всех остальных браузерах подлагивало. Теперь, в 2017, оно не тормозит вообще во всех новых браузерах (даже в IE Edge), кроме Хрома. Зато в Хроме просто адово лагает.

У меня есть ещё несколько тестов подобной сложности, релевантных моему workflow. В некоторых тестах Сафари уделывает Хром вдвое – а всего года два назад было почти наоборот. Даже FF стал Хром уделывать.

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

Что такое случилось с Хромом?
link2 comments|post comment

Zoom shortcuts [Apr. 16th, 2017|07:52 am]
ermouth
[Tags|, ]

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

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- если кто не знал. Тоже как в Фотошопе сделано.
link2 comments|post comment

Большой брат, Dreamwidth и всякое такое [Apr. 14th, 2017|02:00 am]
ermouth
[Tags|]

Сегодня с удивлением обнаружил, что мои комменты в ЖЖ примерно за последнюю неделю написаны не с моего IP. В подсети моего провайдера, но IP другой.

Затрэйсил для сравнения маршрут до ЖЖ...

traceroute to livejournal.com (81.19.74.1), 64 hops max, 52 byte packets

1  192.168.---.--- (192.168.---.---)  1.809 ms  1.248 ms  1.747 ms
2  lo1.10k8-1.atknet.ru (62.192.224.24)  4.000 ms  1.833 ms  1.795 ms
192.168.8.90 (192.168.8.90)  2.318 ms  2.286 ms  2.346 ms
>4  62.192.224.234 (62.192.224.234)  2.240 ms  2.186 ms  4.136 ms
5  62.192.224.233 (62.192.224.233)  3.531 ms  3.394 ms  6.815 ms
6  vlan2901.asr9k1-b.atknet.ru (62.192.224.4)  3.463 ms  3.677 ms  5.570 ms
7  78.25.79.101 (78.25.79.101)  3.194 ms
37.29.17.97 (37.29.17.97)  10.002 ms  4.084 ms
8  livejournal.com (81.19.74.1)  51.924 ms  48.413 ms *


и до Яндекса:

traceroute to yandex.ru (5.255.255.77), 64 hops max, 52 byte packets

1  192.168.---.--- (192.168.---.---)  1.752 ms  1.356 ms  1.445 ms
2  lo1.10k8-1.atknet.ru (62.192.224.24)  2.017 ms  1.947 ms  2.851 ms
3  62.192.253.92 (62.192.253.92)  3.229 ms  2.722 ms  2.898 ms
4  vlan2901.asr9k1-b.atknet.ru (62.192.224.4)  2.868 ms  2.782 ms  2.900 ms
5  78.25.79.101 (78.25.79.101)  85.184 ms
37.29.17.97 (37.29.17.97)  2.493 ms  2.406 ms
6  * * yandex.ru (5.255.255.77)  34.135 ms


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

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

Переезд на Dreamwidth мне уже не кажется совсем бессмысленным делом.
link8 comments|post comment

12 апреля [Apr. 12th, 2017|06:27 pm]
ermouth
[Tags|]

Поздравлять не с чем.

Есть госкорпорация «Роскосмос», уверенно просирающая былые достижения и не создающая ничего конкурентоспособного. Есть министерство халтуры культуры, которое затрахало своими скрепами так, что даже технически хорошо сделанные фильмы вызывают тошноту. Есть космонавты, которым не дают Звезду Героя только потому, что они писáли в Твиттер с МКС. Есть подводные орбиты космических аппаратов. Есть ракетные двигатели, спаянные левым припоем – под чутким наблюдением жирного, мудаковатого и тупого журналиста.

Успехов вот только особо не видать, кроме всё сильнее лоснящейся мордаси Рогозина.

Этот праздник больше похож на поминки, увы.
link2 comments|post comment

Разумный консерватизм и изобилие [Apr. 10th, 2017|04:42 am]
ermouth
[Tags|, , , ]

Лж-френд Никитонский в своём посте про полный абзац в вебе в смысле не просто поддержки стандартов, а вообще качества стандартов, немного иронически страдает.
Но самый стресс, конечно, от безнадеги. Если на сервере ты работаешь на технологии и страдаешь, то ты знаешь, что рядом есть компании, который пишут на чем-то хорошем, и когда-нибудь ты там окажешься. <…> А на фронте не так. Логики нет, и надежды никакой нет.
Я понимаю, но мнение не разделяю. Конечно, когда впервые в полный рост сталкиваешься со всем набором прелестей около-яваскриптной экосистемы, становится грустно. Кажется, что везде бардак, анархия и вообще «куда катится этот веб».

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

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

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

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

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

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

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

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

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

Турникет заглючил [Apr. 8th, 2017|11:57 pm]
ermouth

Только что вместо страницы фленты увидел вот такое:

Снимок экрана 2017-04-08 в 23.35.40

Повторный клик показал фленту, турникет самопочинился. Есчо, ICAP – это Internet content adaptation protocol. Цензурные турникеты по этому протоколу общаются с главной башней ПБЗ, ога.

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

linkpost comment

Расстрельные списки [Apr. 6th, 2017|04:33 pm]
ermouth
[Tags|]

К моему недавнему посту про Медведева, Павлика Морозова и комментам к нему.

Прошу полюбоваться, как ничего не производящий резонёр предлагает составлять списки врагов народа, «патентованной сволочи». Большой сторонник протеста и Навального, разумеется.

Думаю, нетрудно себе представить, к чему такой человек начнёт призывать, если не дай боже ему (или ему подобным) в руки попадёт власть.
link4 comments|post comment

Бри два [Apr. 4th, 2017|11:10 pm]
ermouth
[Tags|, ]

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

Так вот, его научились делать в Армении. В смысле, сыр типа бри в такой же 125-граммовой вакуумной упаковке. Выглядит он так:

IMG_15638-2

Как и тот бри, этот бри – тоже не совсем бри, да. Но очень вкусный!

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

Рвётся упаковка в одно движение – но только после того, как сдавишь её по бокам пальцами (сыр то внутри круглый) и надорвёшь боковые рёбра. Там картон поддаётся легче всего.

Дальше – такая же песня. Головка сыра обёрнута в фольгированную бумагу и упакована в пластиковую такую таблетку вакуумированную.

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

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

Бри из предыдущей жизни (2009) был, что интересно, по вкусу похуже и выглядел так:

IMG_1020

В общем, главное теперь чтобы РФ с Арменией не разругалась, считаю для себя это основным вектором российской внешней политики )

link3 comments|post comment

Турникеты [Apr. 4th, 2017|06:09 pm]
ermouth
[Tags|]

Жванецкий прекрасен.

link1 comment|post comment

Рой [Apr. 2nd, 2017|05:52 pm]
ermouth
[Tags|]

Посмотрел «Фантастические твари и где они обитают» – хорошо сделанное, динамичное и умеренно скучное кино по сценарию Джоан Роулинг (но HP-free). Промотал половину.

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

Достижения компьютерной графики прибавили к списку новую категорию – рой.

Снимок экрана 2017-04-02 в 17.31.30

Мне эта структура напомнила оболочку Мандельброта 8 порядка, которая выглядит так (клик – картинка на 16 мегапикселей):

Power_8_mandelbulb_fractal_16mpx

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

Сам фильм совсем детский, но вот за Обскура – уважуха.

linkpost comment

Bevel Lemelisk vs Galen Erso [Apr. 2nd, 2017|01:13 am]
ermouth
[Tags|]

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

Жаль только вместо Бевела Лемелиска, сравнительно канонического генерального конструктора Звезды смерти, в фильме какой-то вообще невнятный лошпед.

До появления Rogue One генконструктор Звезды смерти выглядел вот так:

Lemelisk-BotF_by_Joel_Hustak

У меня Бевел Лемелиск много лет как увековечен в мануале на jquerymy.com есчо. Сконструировать агрегат диаметром 120 км, на 1.7 миллиона человек персонала – это серьёзное инженерное достижение ) Я бы гордился ггг

Отдельно позабавил Донни Енг. Его персонаж очень смешно срисован с Затоичи-2003 в исполнении Такеши Китано, который срисован с Затоичи-62…74 в исполнении Синтаро Кацу. Тень тени вымышленного персонажа из японской pulp fiction, вау.

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

Вообще, от Rogue One ощущение такое, как будто Бессон, Тарантино и Лукас совместно упоролись в студии Диснея. Клюква полнейшая, но смотрится прекрасно, рекомендую.

link4 comments|post comment

Тёмная сторона [Apr. 1st, 2017|02:48 pm]
ermouth
Глядя на все те ужасы, что творит Навальный и его преступная клика, я решил вступить в Единую Россию. Буду защищать Россию и императора Палпатина от нападок продажных агентов госдепартамента и всяких оранжевых революций.

Призываю всё прогрессивное человечество присоединяться )

UPD. C 1 апреля есчо
link1 comment|post comment

Воскресное [Mar. 26th, 2017|10:40 am]
ermouth
В России сегодня происходит особенное шапито. Официальные борцы с коррупцией прессуют и задерживают народных борцов с коррупцией.

Коррупция тем временем наблюдает за клоунадой с усмешкой, но сама не участвует – divide et impera, да и воскресенье же.
link2 comments|post comment

Контекстно зависимый лог [Mar. 24th, 2017|04:06 pm]
ermouth
[Tags|]

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

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

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

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

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

В общем, с задачкой на логи я второй раз в жизни сталкиваюсь всерьёз, и во второй раз оказывается, что лог – очень особенный зверёк с инженерной точки зрения.

UPD. Нет худа без добра ) Функционал с контекстно зависимым логом и вообще полным пересозданием контекста мы решили сохранить, просто под другим именем. То-есть у нас будет require() и include().

Обычный require будет работать так же, как нодовский (и CouchDB-шный) CommonJS require. А вот include будет подключать модуль с расширенным контекстом.
linkpost comment

Как спамит nic.ru [Mar. 22nd, 2017|01:14 pm]
ermouth
[Tags|]

Наш «национальные регистратор» совсем пробил днище.

Мне на днях на административный email пришла реклама каких-то деятелей под названием kingbird – предложили доверить создание сайтов и мобильных приложений этой студии.

Я, откровенно говоря, оторопел – и специально перечитал договор с nic.ru, пытаясь понять, в каком месте я дал согласие присылать мне на критическую почту рекламу сторонних организаций. Выяснилось, что ни в каком не давал, в договоре про это ни слова. То-есть права такого у nic.ru нет.

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

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

Сайт этой шелупони встречает надписью, сразу подсказывающей, чего ждать дальше – «Мы number one. но в рейтинге почему-то на 10 месте..». Орфография и пунктуация взяты прямо с сайта. По-русски это называется голожопый понт, особенно если учитывать что рейтинг, о котором идёт речь – это рейтинг CMS magazine, сайта о CMS-ках, который сам загружается 5+ секунд. Сапожники без сапог, зато рейтинги делают же.

Саппорт nic.ru на просьбу выключить это говно навсегда выключил мне... свои информационные рассылки. Видимо, абьюзать базу контактов «национальный регистратор» уже научился, а вот до галочки в ЛК «Не присылать мне рекламу всякой шелупони» руки так и не дошли.

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

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

UPD. nic.ru извинился и признал, что у него нет ничего подтверждающего моё согласие получать рекламные рассылки. Не сомневаюсь, правда, что взять денег со своих партнёров за незаконную рассылку nic.ru не забыл. Поди и наплёл ещё что-нибудь про уникальную клиентскую базу.

UPD2. Скрыл было пост, вот только на след день с утра опять пришёл рекламный высер от nic.ru. Национальный регистратор же – все черты налицо. Мудацкая поддержка, которая врёт, абьюз базы, нарушение закона – всё по-россиянски. Поэтому висеть этому посту тут вечно.
linkpost comment

1280÷7 [Mar. 21st, 2017|10:51 pm]
ermouth
[Tags|]

Начал тестировать одну софтинку на всяком старье – и сразу словил гемор, вестимо из IE, хоть и не слишком старого, 11 версии.

В CSS3 можно задавать размеры элементов, используя выражения типа width:(100% / 7) или width:(50% - 10px +1em) – то-есть сочетать разные единицы измерения в одном выражении. Исключительно удобая штука, хотя и дорогая в плане CPU и перерисовки.

Так вот, по мнению IE11, если поставить рядом 7 элементов с шириной calc(100% / 7), они в ряд почти всегда не помещаются, если эти 100% в пикселях на 7 нацело не делятся. При этом айтемы с шириной calc((100% - 0.01px) / 7) помещаются всегда.

То-есть второй факт однозначно свидетельствует, что внутренние расчёты всё таки subpixel-точности (как и требует стандарт). Вот только первый факт свидетельствует о том, что fp-арифметика там внутри скорее всего не IEEE-754, либо она хуже по точности, чем binary32.

Любопытно, что с обычной 64-битной fp-точностью все вычисления n/7*7 для целых n из нужного мне интервала [1250,1280] возвращают n точно. То-есть это роботы в IE team сидели и специально придумывали какую-нибудь недооптимизацию своей тормозной поделки, ну и по пути напакостили.

Типичное, впрочем, явление вообще для всего софта Microsoft, что я видел. 
link2 comments|post comment

Два порядка [Mar. 16th, 2017|09:45 pm]
ermouth
[Tags|, ]

Разница на два порядка – в 100 раз – редкое явление, когда речь идёт о человеческих качествах.

Мы, конечно, говорим иногда «в 100 раз умней» или «в 100 раз быстрей» – но обычно это эмоциональная гипербола.

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

У меня даже настроение улучшилось после того, как я точно посчитал – всегда приятно встретить в жизни феномен, который до того полагал невозможным в рамках обычной человеческой вариативности. Век живи – два учись.
link4 comments|post comment

CRDT [Mar. 13th, 2017|09:30 pm]
ermouth
[Tags|]

Аббревиатура от Сonflict-free Replicated Data Types, https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type. Коротко, CRDT – это специальным образом задизайненные типы данных, которые позволяют гарантровать strong eventual consistency в распределённых системах. С математической точки зрения это такой дизайн данных, что:

If the system is monotonically increasing in state, clients never observe state rolling back. The set of system states is partially ordered, and the merge operation being commutative, associative and idempotent, the set of all system states is a semilattice, and the merge operation is the semilattice join.

Вполне достижимо не слишком большими усилиями, если речь не идёт о больших массивах бинарных данных, типа видео или картинок.

linkpost comment

The Proxy object [Mar. 12th, 2017|12:39 am]
ermouth
[Tags|, ]

В javascript ES6 появилась новая волшебная фича – прокси-объекты. К фиче не существует вменяемого polyfill-а в ES5, поэтому мы её до последнего времени не юзали. Её нет, например, в IE 11– и node.js 6–.

Фича работает примерно как в Java: выставляет перед объектом перехватчик, который позволяет реализовывать абстрактный интерфейс к объекту. Очень полезный функционал – lazy partial constructors там, контроль доступа к объектам в памяти, когда заранее неизвестно, какой код будет объекты обрабатывать, и всякое такое.

В общем, в конце прошлого года я решил, что время пришло.

Сейчас у нас в стадии поздней беты большой серверный компонент, который в существенной степени построен именно на прокси-объектах. То-есть там много однопоточных процессов, в каждом процессе выводок виртуальных машинок, а в каждой машинке по одному инстансу лямбды.

Собственно, вся эта кухня нагорожена для изоляции лямбд и их горячей замены. Код лямбд хранится в БД и распространяется по узлам в одном потоке репликации с данными, которые он должен обрабатывать. По приходу обновлений лямбд их надо а) заменять по-горячему, б) иметь pre-compiled образ для быстрого старта нескольких инстансов одной лямбды. Erlang inspired architecture.

Контекст (объект this) каждого вызова лямбды состоит из трёх частей, две из них приходят из БД, а третья – lazy плагины с файловой системы. Контекст между лямбдами частично shared. Целиком пересобирать здоровый объект перед каждым вызовом лямбды или дорого, или получается unsafe. Тут и пригодились Proxy-объекты.

По результатам всестороннего облизывания оказалось, что они чрезвычайно упрощают меж-VM-ное взаимодействие и вполне себе в ноде ужé быстрые (были адово медленные когда только появились).

Жаль, IE портит всю малину на клиенте. 
linkpost comment

Склонения [Mar. 11th, 2017|12:43 am]
ermouth
[Tags|]

Читал ленты и наткнулся на скриншот диалога с девицами, которых замели за акцию у Кремля. Девица там поправляет слово «организатор» на «организаторка».

Это настолько неблагозвучно, что даже смешно. Типа слова «балерун».

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

UPD. Вот у Лейбова про это же http://r-l.livejournal.com/2774571.html
link4 comments|post comment

Папиллярное II [Mar. 3rd, 2017|08:13 pm]
ermouth
[Tags|, ]

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

Похоже, дело было всё же во влажности. У нас околоноля™ уже неделю – и считыватель работает просто прекрасно.
linkpost comment

Притяжение [Mar. 2nd, 2017|04:49 am]
ermouth
[Tags|]

Посмотрел сабж. Впечатления двойственные.

В плане операторской работы, монтажа и спецэффектов – вполне. Местами просто даже впечатляюще.

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

В целом – уровень средней руки голливудского сайфай муви 5-летней давности. Промотал треть примерно.

Подумалось по пути, что в том же чертановском антураже можно было одновременно, причём с теми же актёрами, чуть подгримировав, снимать кино про зомби-апокалипсис лайт.
link2 comments|post comment

La Piovra [Feb. 26th, 2017|04:55 am]
ermouth
[Tags|, , ]

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

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

v46

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

v47

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

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

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

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

linkpost comment

navigation
[ viewing | most recent entries ]
[ go | earlier ]