Pull to refresh
15
0
Send message

Методы Монте-Карло для марковских цепей (MCMC). Введение

Reading time10 min
Views11K
Привет, Хабр!

Напоминаем, что ранее мы анонсировали книгу "Машинное обучение без лишних слов" — и теперь она уже в продаже. Притом, что для начинающих специалистов по МО книга действительно может стать настольной, некоторые темы в ней все-таки затронуты не были. Поэтому всем заинтересованным предлагаем перевод статьи Саймона Керстенса о сути алгоритмов MCMC с реализацией такого алгоритма на Python.
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments2

Использование QubesOS для работы с Windows 7

Reading time9 min
Views20K

На Хабре не так много статей, посвященных операционной системе Qubes, а те, что я видел мало описывают опыт применения. Под катом надеюсь это исправить на примере использования Qubes в качестве средства защиты (от) среды Windows и, попутно, оценить количество русскоговорящих пользователей системы.


qubes-os

Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments24

Интервальное голодание — как точно вычислить время

Reading time12 min
Views82K

Интервальное голодание — паттерн питания в котором регулируются циклы с едой и без нее.


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


Интересно. В ходе исследования мы сделали полезное открытие, которое позволяет информировано настраивать индивидуальные циклы еды с максимально полезным результатом и легко внедряемыми интервалами. Статья написана в хронологии проведённого исследования и логика вывода довольно проста и понятна.


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


Читать дальше →
Total votes 15: ↑10 and ↓5+5
Comments30

У меня нулевая текучка

Reading time9 min
Views179K
Однажды на заводе, где я работал ИТ-директором, готовили отчетность к какому-то очередному мероприятию. Надо было рассчитать и предоставить показатели по выданному перечню, среди них затесалась текучесть кадров. И тут оказалось, что у меня она равна нулю.

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

В сумме я работал руководителем лет 7-10 (точно не знаю, какие периоды сюда включать), но нулевая текучка сохранилась. Никто никогда от меня не уходил, никого никогда я не выгонял. Только набирал.

Нулевая текучка, как показатель, никогда не была моей самоцелью. Но я стараюсь делать так, чтобы вложенные в людей усилия не пропадали даром. Сейчас расскажу примерно, как я руковожу так, что люди не уходят – вдруг что полезное для себя найдете. На полноту раскрытия темы не претендую, т.к. основываюсь только на личном опыте. Вполне возможно, что я всё делаю неправильно.
Читать дальше →
Total votes 317: ↑283 and ↓34+249
Comments534

Исследование шейдера песка игры Journey

Reading time19 min
Views13K
Среди множества инди-игр, выпущенных за последние 10 лет, одной из самых любимых для меня определённо является Journey. Благодаря своей потрясающей эстетике и красивому саундтреку Journey стала примером превосходства практически в каждом аспекте разработки.

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


В этой статье, разделённой на два поста, я отдам должное наследию Journey, научив вас тому, как воссоздать точно такой же рендеринг песка при помощи шейдеров. Вне зависимости от того, нужны ли в вашей игре песчаные дюны, эта серия туториалов позволит вам научиться воссоздавать конкретную эстетику в вашей собственной игре. Если вы хотите воссоздать красивый шейдер песка, использованный в Journey, то сначала нужно понять, как он был построен. И хотя он выглядит чрезвычайно сложным, на самом деле он состоит из нескольких относительно простых эффектов. Такой подход к написанию шейдеров необходим для того, чтобы стать успешным техническим художником. Поэтому я надеюсь, что вы совершите со мной это путешествие, в котором мы не только исследуем создание шейдеров, но и научимся сочетать эстетику и геймплей.
Total votes 26: ↑26 and ↓0+26
Comments2

Советские мечты о будущем, часть 2. Теперь с сепульками

Reading time8 min
Views28K


В предыдущей серии: мы составили подборку советской мультипликационной научной фантастики. Собрали комментарии о тех мультфильмах, которые не вошли в первую часть — и рассказываем о них сейчас.
Total votes 51: ↑50 and ↓1+49
Comments24

Советские мечты о будущем

Reading time9 min
Views92K


Помните очаровательного котика, которые чихал в заставке советского мультфильма? Мы помним, и нашли его — вместе с ворохом другой рисованной фантастики. В детстве она пугала и обескураживала, поскольку поднимала серьезные, взрослые темы. Настала пора пересмотреть старые мультфильмы, чтобы узнать, о каком будущем мечтали в той стране.
Total votes 138: ↑136 and ↓2+134
Comments144

Конфиденциальность данных, IoT и Mozilla WebThings

Reading time7 min
Views3K


От переводчика: краткий пересказ статьи
Централизация устройств умного дома (вроде Apple Home Kit, Xiaomi и прочих) — это плохо, потому что:

  1. Пользователь становится зависим от определённого вендора, ведь устройства не могут общаться между собой за пределами одного производителя;
  2. Вендоры используют даные о пользователях по своему усмотрению, не оставляя пользователю выбора;
  3. Централизация делает пользователя более уязвимым, поскольку при хакерской атаке становятся уязвимыми сразу миллионы пользователей.

Mozilla провели исследование, в котором выяснили:

  1. Некоторые пользователи готовы пожертвовать конфиденциальностью данных ради комфорта;
  2. Большинство привыкло, что о них собирают данные, и удивляются, когда этого не происходит;
  3. Значительной части пользователей хотелось бы отказаться от слежки, но у них нет выбора.

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

Дальше пойдут подробности, ссылки, результаты исследований Mozilla.


Устройства умного дома помогают сделать жизнь чуточку легче, но в то же время для работы они требуют передачи контроля над вашей информацией своим компаниям-производителям. В недавней статье от New York Times Privacy Project о защите конфиденциальности онлайн, автор рекомендовал покупать устройства IoT только в том случае, когда пользователь «готов пожертвовать некоторой приватностью ради удобства».

Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments8

Шейдеры 3D-игр для начинающих

Reading time19 min
Views24K
image

Хотите научиться добавлять в свою 3D-игру текстуры, освещение, тени, карты нормалей, светящиеся объекты, ambient occlusion и другие эффекты? Отлично! В этой статье представлен набор техник затенения, способных поднять уровень графики вашей игры на новые высоты. Я объясняю каждую технику таким образом, чтобы вы могли применить/портировать эту информацию в любом стеке инструментов, будь то Godot, Unity или что-то иное.

В качестве «клея» между шейдерами я решил использовать великолепный игровой движок Panda3D и OpenGL Shading Language (GLSL). Если вы пользуетесь таким же стеком, то получите дополнительное преимущество — узнаете, как использовать техники затенения конкретно в Panda3D и OpenGL.
Читать дальше →
Total votes 46: ↑46 and ↓0+46
Comments6

Шейдеры 3D-игр для начинающих: эффекты

Reading time18 min
Views13K
[Первая часть]

Разобравшись с основами, в этой части статьи мы реализуем такие эффекты, как контуры объектов, bloom, SSAO, размытие, глубина резкости, пикселизация и другие.

Контуры



Создание контуров вокруг геометрии сцены придаёт игре уникальный внешний вид, напоминающий комиксы или мультфильмы.

Diffuse материала


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

uniform struct
  { vec4 diffuse
  ;
  } p3d_Material;

out vec4 fragColor;

void main() {
  vec3 diffuseColor = p3d_Material.diffuse.rgb;
  fragColor = vec4(diffuseColor, 1);
}

Здесь показан небольшой фрагментный шейдер, который рендерит диффузный цвет материала геометрии в текстуру буфера кадров. Эта текстура диффузного цвета из буфера кадров будет входящей текстурой для шейдера контуров.
Читать дальше →
Total votes 43: ↑41 and ↓2+39
Comments5

Можно ли рендерить реалистичные изображения без чисел с плавающей запятой?

Reading time19 min
Views23K

Введение




«Что получится, если мы заменим числа с плавающей запятой на рациональные числа и попытаемся отрендерить изображение?»

Такой вопрос я задал себе после размышлений над твитом исследователя и преподавателя компьютерной графики Моргана Макгвайра. Он рассуждал о том, насколько сильно студенты компьютерных наук удивляются, когда впервые узнают, что для хранения привычных нам чисел с плавающей запятой в современных компьютерах нужно идти на компромиссы. И эти компромиссы делают сложными простые задачи, например, проверку принадлежности точки треугольнику. Проблема, разумеется, заключается в том, что проверка нахождения четырёх точек в одной плоскости (копланарности) с помощью определителя или какого-нибудь векторного умножения (а на самом деле это одно и то же) никогда не даст значение, точно равное нулю, чего требуют эти математические методы. Даже если бы настоящие вычисления нахождения на одной плоскости были бы точны, те же компромиссы с точностью почти с вероятностью в 1,0 дали бы ответ, что сами четыре точки не копланарны.

Это зародило во мне мысль — если допустить, что все входящие данные рендерера (координаты вершин, 3D-преобразования и т.д.) были бы заданы как рациональные числа, то создавали бы все операции, от создания луча, обхода ускоряющей структуры и до пересечения лучей с треугольниками только рациональные числа? Если это было бы так, то мы бы смогли выполнять проверку копланарности совершенно точно! Возможно, вы зададитесь вопросом, почему 3D-сцена, выраженная в рациональных числах должна давать результаты тоже только в рациональных числах…


Простая сцена, трассировка пути в которой выполнена рациональной арифметикой. Здесь используется система чисел «с плавающей чертой дроби», а не числа с плавающей запятой.
Читать дальше →
Total votes 98: ↑98 and ↓0+98
Comments60

Нил Стивенсон: голод инноваций, большие проекты и научная фантастика

Reading time11 min
Views24K
«Седой ветеран из NASA как-то сказал мне, что посадка на Луну корабля серии «Аполлон» было самым великим достижением коммунизма.»
«Это же вы, вы ослабили хватку!» – объявил Майкл Кроу, президент университета штата Аризона. Конечно же, он обращался к писателям Научной Фантастики. Он как будто бы говорит, что ученые и инженеры в боевой готовности и ищут, чем бы таким себя занять. Пришло время писателям НФ начать выполнять свою часть работы и подпитывать нас большими мечтами, полными смысла.
image

Я успел застать тот период, когда у Соединенных Штатов Америки появилась возможность отправлять людей в космос. У меня сохранились самые ранние воспоминания о том, как я сидел на плетеном коврике перед гигантским черно-белым телевизором и смотрел первые запуски кораблей серии «Джемини». Этим летом, в возрасте 51 года (прим. пер. статья 2011 года), совсем даже не преклонном, я смотрел по телевизору с плоским экраном как последний коспический корабль «Шаттл» покинул пусковую площадку. Видя, как программа по освоению космоса приходила в упадок, меня одолевали печаль и горечь. Где моя космическая станция тороидальной формы? Где мой билет на Марс? Хотя, до недавнего момента, я держал свои чувства при себе. У программы исследования космоса всегда были свои противники, но жалобы на спад активности в данной сфере означают поставить себя под удар, чем незамедлительно воспользуются те, в ком нет сострадания к состоятельному, белому американцу средних лет, детские мечты которого так и не воплотились в жизнь.

Тем не менее, я обеспокоен тем, что наша неспособность соответствовать достижениям программы по освоению космоса 60-х годов может быть симптомом общей несостоятельности нашего общества доводить до ума крупные проекты. Мои родители, бабушки и дедушки были свидетелями создания самолета, автомобиля, ядерной энергии, и компьютера – вот лишь несколько примеров.
Читать дальше →
Total votes 41: ↑39 and ↓2+37
Comments143

Современное состояние науки о сознании

Reading time5 min
Views36K
Чтобы немного отвлечься от физики, временно сменим тему. Мне понадобится концепция “философского зомби” — ее бы, вероятно, пришлось бы долго объяснять, но на помощь пришел сериал “Мир Дикого Запада”:

Читать дальше →
Total votes 58: ↑46 and ↓12+34
Comments1036

Четвертый уровень мульти-вселенной Макса Тегмарка

Reading time4 min
Views42K
Почти 10 лет назад я прочитал статью Макса Тегмарка, гениального физика и философа, и нашел в ней ответы на многие вопросы, которые мучали меня всю жизнь. Статья потрясающая, месяца два я ходил под впечатлением от нее. К сожалению, это лонгрид, к тому же на английском. Поэтому я решил даже не перевести ее – перевод все равно оказался бы слишком длинным для Хабр, но хотя бы изложить основную идею в том порядке, как мне это кажется логичным, и убрав излишние детали (да простит меня Макс!)

Читать дальше →
Total votes 53: ↑49 and ↓4+45
Comments138

Rust новости #5 (январь 2019)

Reading time8 min
Views14K

Предлагаю вашему вниманию субъективную подборку ржавых новостей за январь. В этой подборке: Rust 1.32, уход Стива Клабника и Ника Камерона, киш от Cloudflare, устройство rust-analyzer и страничной памяти, поиски GUI и async, Oxydyze конференция для встроенщиков.


КДПВ


Rust 1.32


Вышел Rust 1.32. По сравнению с масштабным прошлым выпуском, на котором было сконцентрировано множество сил всего сообщества, тут серьезных нововведений не очень много:



Подробности в переводе новости.


Стив Клабник и Ник Камерон уходят из Mozilla


NYT firefox 1.0


Печальные новости: Стив Клабник и Ник "nrc" Камерон покидают Мозиллу.

Читать дальше →
Total votes 54: ↑53 and ↓1+52
Comments12

Основы внедрения зависимостей

Reading time7 min
Views57K

Основы внедрения зависимостей


В этой статье я расскажу об основах внедрения зависимостей (англ. Dependency Injection, DI) простым языком, а также расскажу о причинах использования этого подхода. Эта статья предназначена для тех, кто не знает, что такое внедрение зависимостей, или сомневается в необходимости использования этого приёма. Итак, начнём.

Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments13

О-нотация в проектировании программного обеспечения

Reading time7 min
Views11K
Разбираясь с SOLID, я часто натыкался на то, что неследование этим принципам может приводить к проблемам. Проблемы известны, но плохо формализованы. Эта статья написана с целью формализовать типичные ситуации, возникающие в процессе написания кода возможные решений и вытекающие из этого последствия. Мы поговорим, чем нам грозит плохой код и как проблемы растут вместе с ростом программы.
Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments5

Как научить людей использовать Git

Reading time3 min
Views139K
По работе приходится участвовать в разных проектах, поэтому я хорошо знаю, как работают все мои коллеги. Помню, что компания начала использовать Git буквально за пару недель до моего прихода. На мониторах разработчиков кругом висели наклейки с напоминанием: сначала add, потом коммит, затем пуш.


Они не знали, зачем. Программистам просто сказали строго следовать инструкции, иначе беда. Но проблемы возникали так часто, что я решила провести семинар по Git.
Читать дальше →
Total votes 77: ↑69 and ↓8+61
Comments384

Как масштабируется обучение искусственного интеллекта

Reading time5 min
Views8.5K
Мы в OpenAI обнаружили, что масштаб градиентного шума [gradient noise scale], простой статистический метод, предсказывает параллелизуемость обучения нейтральной сети на широком спектре задач. Поскольку у более сложных задач градиент обычно становится более шумным, то увеличение размера пакетов, доступных для одновременной обработки, в будущем окажется полезным, и устранит одно из потенциальных ограничений ИИ-систем. В общем случае эти результаты показывают, что обучение нейросетей надо рассматривать не как загадочное искусство, и что ей можно придать точность и систематизировать.

За последние несколько лет исследователи ИИ достигали всё больше успеха в ускорении обучения нейросети при помощи распараллеливания данных, разбивающего большие пакеты данных на несколько компьютеров. Исследователи успешно использовали пакеты размером в десятки тысяч единиц для классификации изображений и моделирования языка, и даже в миллионы агентов обучения с подкреплением, игравших в Dota 2. Такие большие пакеты позволяют увеличивать объёмы вычислительных мощностей, которые эффективно участвуют в обучении одной модели, и являются одной из сил, движущих рост в области обучения ИИ. Однако со слишком большими пакетами данных происходит быстрое уменьшение алгоритмической отдачи, и непонятно, почему эти ограничения оказываются крупнее для одних задач и мельче для других.
Читать дальше →
Total votes 25: ↑22 and ↓3+19
Comments0

О фракталах, мартингалах и случайных интегралах. Часть первая

Reading time12 min
Views24K

На мой взгляд, стохастические исчисления — это один из тех великолепных разделов высшей математики (наряду с топологией и комплексным анализом), где формулы встречаются с поэзией; это место, где они обретают красоту, место где начинается простор для художественного творчества. Многие из тех, что прочли статью Винеровский хаос или Еще один способ подбросить монетку, даже если и мало, что поняли, всё же смогли оценить великолепие этой теории. Сегодня мы с вами продолжим наше математическое путешествие, мы погрузимся в мир случайных процессов, нетривиального интегрирования, финансовой математики и даже немного коснемся функционального программирования. Предупреждаю, держите наготове свои извилины, так как разговор у нас предстоит серьезный.
Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments5
1
23 ...

Information

Rating
Does not participate
Registered
Activity