Search
Write a publication
Pull to refresh
192
0
Алексей Гришин @GRaAL

Разработчик широкого профиля

Send message

Почему нельзя доказать теорию эволюции

Reading time3 min
Views50K


Всем привет! У нашей команды Sci-One готово еще одно видео члена Комиссии по борьбе с лженаукой Александра Сергеева. На этот раз о том, почему теорию эволюции доказать невозможно. Видео и его расшифровка — под катом.
Читать дальше →

«Не узнаю вас в гриме» (с)

Reading time7 min
Views38K
Раз уж сегодня выходной, лето и вообще отпуска и семейный отдых, мы решили отвлечься от научных изысканий и технических решений ученых нашего университета и поговорить о клишировании и типизации человеческого мышления в несколько неожиданном ракурсе.

Позволите вопросик? Как вы думаете, кто изображен на этом рисунке — тот что справа?

image

Нет, это не буржуин из «Мальчиша-Кибальчиша», не мистер Пиквик и даже не доктор Ливси. Это, дорогие товарищи, наш родной, всемирно известный ветеринар доктор Айболит. И не надо, пожалуйста, бухтеть про «не похож» и «набрали маляров по объявлению». Это, к вашему сведению, не маляр рисовал, а великий художник Мстислав Валерьянович Добужинский. Просто рисовал очень давно – Добужинский, если запамятовали, – это художник, книжки с рисунками которого читали в детстве те художники, книжки с рисунками которых читали в детстве ваши родители.

Более того – перед вами первый, можно сказать, прижизненный портрет Айболита.

Дело в том, что
Читать дальше →

Браузерный сетевой шутер на Node.js

Reading time17 min
Views24K
Разработка многопользовательских игр сложна по множеству причин: их хостинг может оказаться дорогим, структура — неочевидной, а реализация — трудной. В этом туториале я постараюсь помочь вам преодолеть последний барьер.

Статья предназначена для разработчиков, умеющих создавать игры и знакомых с JavaScript, но никогда раньше не писавших мультиплеерные онлайн-игры. Завершив этот туториал, вы освоите реализацию базовых сетевых компонентов в своей игре и сможете развить её во что-то большее! Вот, что мы будем создавать:


Поиграть в готовую игру можно здесь! При нажатии клавиш W или «вверх» корабль приближается к курсору, при щелчке мыши — стреляет. (Если никого нет онлайн, то чтобы проверить, как работает мультиплеер, откройте два окна браузера на одном компьютере, или одно из них на телефоне, ). Если вы хотите запустить игру локально, то полный исходный код выложен на GitHub.
Читать дальше →

Создание мультяшного шейдера воды для веба. Часть 2

Reading time12 min
Views5.5K
В первой части мы рассмотрели настройку окружения и поверхности воды. В этой части мы придадим объектам плавучесть, добавим на поверхности линии воды и создадим линии пены с буфером глубин вокруг границ объектов, пересекающихся с поверхностью.

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

  • Добавил модели маяка и осьминога.
  • Добавил модель земли с цветом #FFA457.
  • Добавил камере цвет неба #6CC8FF.
  • Добавил в сцену цвет подсветки #FFC480 (эти параметры можно найти в настройках сцены).

Моя исходная сцена теперь выглядит так.

Читать дальше →

Блокировка Роскомнадзора Гимном Российской Федерации

Reading time8 min
Views82K
Опишу свой опыт общения с Роскомнадзором и прокуратурой по вопросу блокировки сайта, может кому пригодиться. Тут больше юридических аспектов, чем айтишных, но от сумы да Единого реестра не зарекайся.

По статистике Федеральной службой по надзору в сфере связи за всю ее историю было заблокировано порядка 500000 сайтов (указателей на страницы), и еще порядка 10 миллионов — неправомерно заблокированных из-за неосторожности быть на одном IP с нарушителем. Думаю, из этих сотен тысяч и миллионов есть люди, чьи права были нарушены по беспределу, и которые хотели бы их защитить. Небольшой ликбез ниже.
Читать дальше →

Школьный класс и маленький этюд социнжиниринга

Reading time5 min
Views51K


В каждом классе есть 3-4 ребёнка, которые орут и ломают весь сюжет, когда остальные пытаются что-то целенаправленно делать. Точнее, как — они просто гиперактивные, и их темп событий не даёт покоя остальным. Они не злонамеренные, а просто хотят причинить добро и радость в особо крупных размерах.

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

И вот, значит, он приходит на игротеку, а там не 3-4 гиперактивных ребёнка, а сразу примерно от четверти до трети класса. И игротека превращается в ад.

То, что придумал Денис — с моей точки зрения, просто прекрасный этюд социнжиниринга. Я сейчас доведу вам вводные, а потом расскажу решение. В промежутке можно будет попробовать придумать своё.
Читать дальше →

Что у бога под одеждой

Reading time5 min
Views55K


Почти два года на орбите у планеты-гиганта Юпитера работает автоматическая межпланетная станция NASA Juno. Несмотря на технические проблемы, станция собрала немало интересных данных, наснимала изобилие красочных фото и значительно приблизилась к целям своего исследования — узнать, что скрывается в облачных недрах самой большой планеты Солнечной системы.
Читать дальше →

Генная терапия дает шанс выжить маленьким пациентам c мышечной атрофией

Reading time3 min
Views6.6K


Пятнадцать младенцев, родившихся в США с диагнозом «мышечная атрофия», вероятно, не смогли бы выжить без нового экспериментального лечения. Оно позволило модифицировать гены только что родившихся маленьких человечков.

Заболевание, точное название которого — спинальная мышечная атрофия (СМА), обычно убивает своих жертв в возрасте до двух лет. И конечно, у малышей со СМА без лечения нет никакого шанса прожить до сколь-нибудь сознательного возраста. Но благодаря новой методике дети не просто выжили. Они могут говорить и сидеть без поддержки. Некоторые из них способны даже ходить.
Читать дальше →

Что технарю нужно знать о гуманитариях?

Reading time8 min
Views40K


Начнем с того, что разделение на физиков и лириков придумали в 60ые для смеха, типа западников и славянофилов, или патриотов и либералов, спартак или динамо — классическая “двухпартийная система” наглядно показанная в серии Южного Парка про клизму и бутерброд. Еще древние римляне называли этот принцип “разделяй и властвуй”.

В итоге разным командам дали разные книжки, а про чужие говорили «скучно, вам не понять, да и понимать НЕ НАДО», а понять меж тем легко, главное посмотреть сквозь другие очки, сменить парадигму. Ведь ни одна из парадигм не истина, а вот бинокулярное зрение сильно облегчает жизнь. А тут, дали людям разные очки, одним плюс, другим минус, гуманитариям шестеренок в часах не рассмотреть, а для технарей через 200 метров вся природа абстракция.

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

Читать дальше →

Блокировка в тишине

Reading time3 min
Views52K

Уже почти неделю Роскомнадзор блокирует огромные диапазоны IPv4 адресов интернет сервисов по своему усмотрению. В какой–то момент было заблокировано 0.5% от всего объема адресов. Немного ранее уже были рассмотрены и способы обхода блокировок, и комментарии пострадавших бизнесменов, и юридические аспекты. К сожалению, ни одна из крупных компаний «рунета» не высказалась по этому поводу.

Читать дальше →

Воссоздание эффекта воды из Super Mario Sunshine для Nintendo GameCube

Reading time6 min
Views14K
image

Примечание: В оригинале статьи есть демо на WebGL2, которые в переводе заменены на видео и GIF.

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

Недавно я расширил возможности моего приложения просмотра игровых моделей на основе WebGL, добавив поддержку некоторых игр с Nintendo GameCube, в том числе The Legend of Zelda: The Wind Waker и Super Mario Sunshine. В GameCube, если вы не знаете, установлен передовой, почти программируемый видеопроцессор, но с фиксированным функционалом. Разработчики не могли писать шейдеры, и вместо этого программировали наборы комбинаторов текстур способом, похожим на использованные в конвейерах glTexEnv, но доведённым до максимума возможностей.

Что такое Entity System Framework и зачем он нужен в геймдеве?

Reading time18 min
Views53K
На Хабре уже есть очень много интересных статей про создание игры с нуля, но мало статей, описывающих что делать, чтобы своя любимая поделка не превратилась во Франкенштейна и дошла до вменяемого состояния. Автор оригинальной статьи рассказывает, как эволюционировал код игрового движка от кучи хлама в основном цикле к продуманной, расширяемой архитектуре, использующей Entity Component System. В статье много кода, который почти весь часто повторяется — но я не стал его выбрасывать, поскольку с ним будет понятнее, какие изменения вносит автор и как это отражается на всей структуре. Статья рассчитана на новичков, вроде меня, которые уже настрочили несколько «гениальных» прототипов, но теперь не знают, как разобраться в их коде.
Читать дальше →

Вам действительно нужен Redux?

Reading time9 min
Views55K

Не так давно React позиционировал себя как "V in MVC". После этого коммита маркетинговый текст изменился, но суть осталась той же: React отвечает за отображение, разработчик — за все остальное, то есть, говоря в терминах MVC, за Model и Controller.


Одним из решений для управления Model (состоянием) вашего приложения стал Redux. Его появление мотивировано возросшей сложностью frontend-приложений, с которой не способен справиться MVC.


Главный Технический Императив Разработки ПО — управление сложностью

Совершенный код

Redux предлагает управлять сложностью с помощью предсказуемых изменений состояния. Предсказуемость достигается за счет трех фундаментальных принципов:


  • состояние всего приложения хранится в одном месте
  • единственный способ изменить состояние — отправка Action'ов
  • все изменения происходят с помощью чистых функций

Смог ли Redux побороть возросшую сложность и было ли с чем бороться?

Читать дальше →

Безопасный Android для ребёнка

Reading time8 min
Views57K
Подозреваю, что многие из читателей этой публикации в детстве не носили с собой мобильный телефон, или начали носить его только в старших классах — как ни странно, обыденные на сегодняшний момент мобильники появились не так давно. И даже после их появления в течение долгого времени мобильные телефоны были огромными и дорогими, и позволить их себе могли только серьёзные дядьки. Но на дворе 2018 год, и младшеклассники вовсю пользуются смартфонами.

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

Читать дальше →

Чему инди-разработчики могут научиться у инди-писателей

Reading time15 min
Views15K
image

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

Но представьте рынок, на котором такие рекомендации неприменимы. На нём нет таких вещей, как Steam Launch Visibility Round или рекомендации в App Store. Что, если нет прессы, с радостью пишущей обзоры? И что, если вместо 7667 игр, выпущенных в Steam в 2017 году, в тот же год выпущено больше 100 000 новых книг? А общее количество книг на рынке превышает 4 000 000 наименований?
Читать дальше →

Прошивка и программирование ATtiny13 при помощи Arduino UPD 17.03.2016

Reading time3 min
Views319K


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

Вот собственно всё то что ниже, только в видео формате:



Сегодня расскажу, как я зашиваю Arduino'вские скетчи в ATtiny13A.
Читать дальше →

Правда о лунной ракете Сатурн-5 (критика домыслов д.ф.-м.н. Попова)

Reading time29 min
Views55K
image

Консервная банка без экипажа, которая после взлета падала в океан (по мнению А.И. Попова)

«Против глупости сами Боги бороться бессильны!»
Фридрих Шиллер

Неутомимый борец с историей программы «Аполлон», доктор физ-мат наук А.И. Попов в 2012 написал статью «Краткая история американской лунной ракеты», в которой попытался доказать, что ракета Сатурн-5 не отправляла к Луне ни один из Аполлонов 8, 10, 11, 12, 13, 14, 15, 16, 17. По его мнению, Лунной Одиссеи 1968 не было вообще! Некоторые домыслы из статьи Попова выглядят довольно убедительно, а его докторская степень по физике вдохновляет сторонников лунной конспирологии (в дальнейшем «луноборцев»), которые в России составляют уже подавляющее большинство, а в мире их число растет эпидемически. При этом луноборцы, как правило, не сомневаются в программе Аполлон… поскольку они «точно знают», что США сняли ее в Голливуде и навязали человечеству при соучастии СССР.

Статья «Краткая история американской лунной ракеты» состоит из 5-ти независимых разделов и заключения о том, что Сатурн-5 не только никогда не отправлял людей к Луне, но даже на околоземную орбиту был не способен вывести ни грамма груза. Все заявления А.И. Попова разделены на основные тезисы, которые тщательно рассмотрены по одному. Скучно не будет.

Не учите ребенка, помогайте ему учиться самому

Reading time14 min
Views26K


Сугата Митра — ученый, преподаватель, визионер в мире образования. Его успешные эксперименты по обучению детей в индийских бедных кварталах вдохновили писателя Вика́са Свару́па на создание романа, по которому потом сняли оскароносную драму «Миллионер из трущоб».

Митра развивает подход, который сложно себе представить в традиционной системе образования, и называет его «Школа в облаках»: дайте ребенку компьютер с интернетом и не мешайте — он с другими детьми сам разберется в теории относительности.

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

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

Ричард Хэмминг: «Учитель должен готовить ученика к будущему ученика, а не к прошлому учителя»

Reading time7 min
Views25K
«В этих лекциях я пытаюсь передать студентам то, чего не передашь словами — суть стиля в науке и инженерном деле.»

imageПривет, Хабр.
Помните офигенную статью «Вы и ваша работа» (+219, 2041 в закладки, 328k прочтений)?

Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Давайте ее переведем, ведь мужик дело говорит.

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

Мы уже перевели 3 главы (правда, в порядке субъективных интересов):


Сегодня — Предисловие и Введение.
(За перевод спасибо Savva Sumin, который откликнулся на мой призыв в «предыдущей главе».)

Кто хочет помочь с переводом — пишите в личку или на почту magisterludi2016@yandex.ru

Предисловие


Спустя много лет давления и поддержки со стороны друзей, я решил изложить в форме записей содержание курса по инженерному делу, который я преподавал студентам Аспирантуры Университета Морской Пехоты в Монтеррее, Калифорния. В первую очередь, я сосредоточился на тех деталях, которые, по моему мнению, подлежали дальнейшей обработке, вместо того, чтобы оставить материал в виде несколько разобщённых лекций. В лектории содержание чаще следовало за интересом студентов, а многие из более поздних лекций стали результатом предложенных ими тем. Также, содержание лекций менялось от года к году, вместе с развитием соответствующих дисциплин. А нынешняя зависимость инженерного дела от связанных с ним научных областей склоняет меня к отождествлению этих терминов.
Читать дальше →

Рассказ о том, как создать хранилище и понять Redux

Reading time12 min
Views22K
Redux — это интересный шаблон, и, по своей сути, он очень прост. Но почему его сложно понять? В этом материале мы рассмотрим базовые концепции Redux и разберёмся с внутренними механизмами хранилищ. Поняв эти механизмы, вы сможете освоиться со всем тем, что происходит, что называется, «под капотом» Redux, а именно — с тем, как работают хранилища, редьюсеры и действия. Это поможет вам вывести на новый уровень отладку приложений, поможет писать более качественный код. Вы будете точно знать, какие именно функции выполняет та или иная строка вашей программы. Мы будем идти к пониманию Redux через практический пример, который заключается в создании собственного хранилища с использованием TypeScript.

image

Этот материал основан на исходном коде хранилища Redux, написанном на чистом TypeScript. Автор предлагает всем желающим взглянуть на этот код и разобраться с ним. Однако, он указывает на то, что этот проект предназначен для учебных целей.
Читать дальше →

Information

Rating
Does not participate
Location
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Registered
Activity

Specialization

Backend Developer, Software Architect
Lead
From 5,000 $