All streams
Search
Write a publication
Pull to refresh
143
0
Виталик Гордон @alex_blank

незаслуженный народный артист™

Send message

> из js можно заиметь доступ к видеокарте


WebGL

А что у нас есть такого на блокчейне?

Крипто-котики.

Замечательная статья, спасибо!


а вектор (a, b) считается нормализованным (длина вектора равна нулю)

Хм-м, наверное, всё же единице?

Вероятно, имелось в виду что-то такое, а не typeof:


Array.isArray([1, 2, 3]);  // true
Array.isArray({foo: 123}); // false
Array.isArray('foobar');   // false
Array.isArray(undefined);  // false
Несмотря на то что react изобрел виртуальный дум со слоганом что реальный дум медленный, а виртуальный быстрый потому что он сравнивает только деревья объектов в памяти, а в реальном думе обновляет только измененные части, в реальности мы не можем при любом обновлении данных в приложении вызвать это сравнение виртуального дума для всего приложения потому что это медленно.

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


Подробнее можно почитать в моей статье на хабре.

Костыльно-ориентированное программирование.

Monadic-style computation без синтаксической поддержки со стороны языка — это всегда печально и неудобно. В Haskell есть do-нотация. В JavaScript, к примеру, когда появились Promises (это по сути монады для асинхронных вычислений), все очень страдали, пока не появился async/await синтаксис для них.


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

Ещё есть бранч в uglify, называется uglify-es, тот тоже якобы может ES6, но я сам не пробовал..

Да, я советовал тому челу его попробовать, но он сказал что тот валится с out-of-memory-error, т.к. он запускает свой проект на amazon tiny instance, а там памяти как на калькуляторе...

Пришло время собирать наши модули как ES2015

Ох, как раз недавно столкнулись с такой бедой, когда «скрипя сердцем» решили дропнуть ES5-транспилирование в нашем проекте — и выяснили, что в популярных фронтенд фреймворках, типа Nuxt, в конфиге babel-loader тупо захардкодено исключение node_modules из сборки. И включить это назад там не так-то просто бывает. Разработчики же этого Nuxt вообще не понимают, зачем кому-то может понадобиться импортировать ES6 модуль — мол, «я ни разу не видел не пред-транспилированного модуля, а значит, этого не бывает».


Причём ломается это все в итоге даже не в браузере пользователя — слава богу, основные браузеры уже умеют в ES6 — а на таких замечательных и непременных штуках в тулчейнах девелоперов, как Uglify или Google Closure Compiler. Которые в 2017 году до сих пор не умеют даже в классы, какое там async/await...


К счастью, нашу либу в основном юзают из Node, поэтому это оказалось не так страшно. Но и там нашлись свои приколы: поле engine в package.json, судя по всему, не работает так, как многие думают. С его помощью вы не сможете запретить устанавливать ваш пакет в ранние версии Node (где ещё не появился, скажем, async/await). Раньше в NPM был флаг engineStrict, но теперь его убрали. И, убрав поддержку ES5 в своем проекте, мы столкнулись с тем, что многие юзеры до сих пор сидят на доисторических версиях Node и совсем не понимают, почему после npm update у них всё вдруг перестало работать...


В целом многие JS девелоперы вообще не понимают что такое Babel и как его настраивать. Вот например тут человек целый день провозился с настройкой вебпака, в итоге обматерил меня и мой проект, и написал свой собственный аналог :)


Транспилирование библиотек должно умереть, конечно же — т.к. ES модули позволяют импортировать только ту часть кода, которая реально используется (tree shaking). В ином случае, чтобы достичь подобного, приходится разбивать большие модули на миллион маленьких микромодулей (в пределе — до уровня отдельных функций), что крайне неудобно в плане поддержки...

Я вообще неадекватный, нормальный человек.

Хм-м..

Делал как-то либу для логгинга, которая умеет ANSI цвета выводить в Chrome DevTools (ну и еще кучу всего):


https://github.com/xpl/ololog


Мб пригодится кому.

Математика без структуры – это просто множества

Ну нет, множества это уже структуры ;)
Из статьи:

Брокман говорит, что научиться такому умению для ИИ – задача тривиальная, и она никогда не была основной для исследований в OpenAI. Он говорит, что институтский бот справился бы и без информации от API, но «он просто потратил бы гораздо больше времени на приобретение навыков зрения, которое и так работает, так в чём же тогда смысл?»

Нет, имеется в виду именно stake, в смысле денег. Это очень важно в свете перехода на алгоритм proof-of-stake (PoS), где хакер смог бы получить слишком много влияния благодаря украденным деньгам.

> Чтобы построить график известной функции


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

f(x) = w1' * tanh(w1 * x + b1) +… + w5' * tanh(w5 * x + b5) + b

Сделал визуализатор — можно потаскать за точки и увидеть эту аппроксимацию наглядно. Фиолетовые линии это линейные функции (w1 * x + b1), оранжевые — взвешенные гиперболические тангенсы (w * tanh (..)). Красное — итоговая сумма.


Веса у тангенсов задаются расстоянием между точками (чем больше, тем больше вес):


https://www.khanacademy.org/computer-programming/function-approximation-editorvisualizer/5512363205263360


> Курс Zcash (ZXC) в течение последнего месяца во время того, как неизвестный злоумышленник или злоумышленница обналичивал(-а) средства

> Во-первых, криптовалюта ZCash не считается официльным ..

Вы точно не путаете Zerocoin (ZCoin) и ZCash? Это совершенно разные проекты.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity