Pull to refresh
417
0
Вадим Шевяков @Sirion

Пролетарий умственного труда

Send message

VAX — инструмент для визуального программирования, или как написать SQL мышкой

Reading time7 min
Views40K


Я хочу рассказать про созданный мною web редактор для «визуального программирования» и его историю создания.
Читать дальше →
Total votes 49: ↑48 and ↓1+47
Comments88

Настольные игры ЦРУ

Reading time5 min
Views34K


Все мы в детстве любили настольные игры. Это прекрасное средство развития навыков социализации и логического мышления. Но потом мы постарели выросли, большинство из нас «повзрослели» и стали пренебрежительно относиться к настолкам. Некоторые перешли на «взрослые» настольные игры, вроде того же Magic The Gathering. Но оказывается, что настольными играми не пренебрегает даже такая серьёзная организация ЦРУ. В этой кузнице шпионов нашего наиболее вероятного мирового партнёра разработаны специальные игры для обучения агентов. Может, большинству из нас пора пересмотреть своё отношение к настолкам? Под катом рассказ Сэма Машковича о дивном мире настольных игр в которые играют агенты западных спецслужб. На эту историю я набрел совершенно случайно. Грех было не перевести. Оригинал доступен тут. Надеюсь после публикации этой заметки у меня не возникнет проблем за границами нашей Родины.
Читать дальше →
Total votes 69: ↑67 and ↓2+65
Comments20

Квантовые шахматы

Reading time12 min
Views74K

Intro


Этот пост написан под впечатлением от вот этого отличного поста с Хабра, в котором автор наглядно, при помощи двумерных моделек, которые рисует его программа, объясняет как работает Специальная Теория Относительности.


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


Модель, которую я рассматриваю – отнюдь не нова. Более полугода назад Chris Cantwell разместил на YouTube анонс новой настольной игры: квантовых шахмат (многим, возможно, известно об этом из вот этого вирусного ролика).


Недавно игра вышла в Steam, она стоит 249 руб. Есть ещё другая реализация – бесплатное приложение для iOS (не знаю, есть ли оно в Google Play). Однако в процессе игр с друзьями я экспериментально выяснил, что она неправильная с точки зрения квантовой механики. Такую реализацию скорее можно назвать статистическими шахматами, а не квантовыми.


Поэтому я решил написать свою реализацию, с запутанностью и суперпозициями. В своей реализации я постарался исправить те недостатки, которые на мой взгляд присутствуют в версии на Steam (например, у меня пешки тоже могут ходить квантовыми ходами, как и все остальные фигуры). Про приложение для iOS и так всё понятно: любая реализация квантовых шахмат должна быть по-настоящему квантовой, т.е. не только быть вероятностной, но поддерживать такие эффекты квантовой механики как интерференция, запутанность, etc.

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

Как дизайнеры управляют удачей в играх

Reading time10 min
Views19K

16 сентября 2007 года японский ютубер под ником Computing Aesthetic загрузил 48-секундное видео с громким названием «ULTRA MEGA SUPER LUCKY SHOT» («УЛЬТРАМЕГАСУПЕРУДАЧНЫЙ ВЫСТРЕЛ»). В видео показан сверхрезультативный выстрел в популярной игре Peggle, частично основанной на принципе японских автоматов для пачинко. В этой игре шарик летает по экрану, зарабатывая очки при ударах об разноцветные штырьки, которые после удара почти сразу исчезают; чем больше ударов, тем больше очков. Хотя в Peggle и требуется мастерство — перед выстрелом игрок должен точно прицелиться — принципиально игра зависит от удачности отскоков шарика. В видео Computing Aesthetic игрок зарабатывает огромное количество очков благодаря удачным отскокам между штырьками. Чтобы подчеркнуть кажущуюся удачность выстрела, игра до последних кадров видео проигрывает эйфорическую «Оду к радости» Бетховена, после чего шарик падает в лунку внизу игрового поля и на экране появляется мерцающая надпись «FEVER SCORE». В описании к видео, просмотренному почти четверть миллиона раз, написано «I couldn’t balieve this when it happened!!!!!!!!!» («Не могу паверить, что это случилось!!!»)
Total votes 36: ↑33 and ↓3+30
Comments20

Тень на плетень, или 25 елок для Адама Дженсена

Reading time10 min
Views10K
Рассказ о том, как я попробовал построить красивые трехмерные тени не выходя за рамки уютного двухмерного гейм-девелопмента, и что из этого получилось.


Читать дальше →
Total votes 35: ↑34 and ↓1+33
Comments29

Почему зелёных звёзд не бывает?

Reading time4 min
Views61K
image

Выйдите на улицу тёмной безлунной ночью. Посмотрите наверх. Если это декабрь или январь, обратите внимание на Бетельгейзе, горящую красным светом на плече Ориона, и Ригель, ярко-голубую звезду у его колена. Через месяц в созвездии Возничий появится жёлтая Капелла.

Если это июль, отыщите Вегу, голубой сапфир Лиры, или Антарес, оранжево-красное сердце Скорпиона.

Зелёных звёзд нет! В любое время года в небе можно обнаружить разные звёзды. Большинство выглядят белыми, но у самых ярких проявляется цвет. Красный, оранжевый, жёлтый, голубой – почти все цвета радуги… Но, погодите-ка, а где же зелёные? Разве не должны мы видеть и такие?

Нет. Это очень частый вопрос, и никаких зелёных звёзд мы не видим. И вот, почему.
Читать дальше →
Total votes 74: ↑68 and ↓6+62
Comments117

Практическое руководство по взлому (и защите) игр на Unity

Reading time7 min
Views204K


Когда речь идёт о программном обеспечении, термин «взлом» зачастую ассоциируют с пиратством и нарушением авторских прав. Данная статья не об этом; напротив, я решительно не одобряю любые действия, которые прямо или косвенно могут навредить другим разработчикам. Тем не менее, эта статья всё же является практическим руководством по взлому. Используя инструменты и методы о которых далее пойдёт речь, вы сможете проверить защиту собственной Unity игры и узнаете, как обезопасить её от взлома и кражи ресурсов.
Читать дальше →
Total votes 36: ↑33 and ↓3+30
Comments31

Какая фигура из одинаковых плоских предметов будет дальше всего выглядывать за край стола?

Reading time5 min
Views34K
image

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

Вопрос 1


В классической задаче построения нависающей фигуры все блоки должны быть однородными, одинаковыми по размеру и форме, и их длина принимается за единицу. На каждом уровне фигуры может быть только один блок. Блоки нельзя соединять или склеивать. Если у вас есть пять таких блоков, на какую максимальную длину может высунуться конец верхнего блока за край стола, на котором они лежат? Можете ли вы вывести формулу для максимального нависания при использовании n блоков?
Читать дальше →
Total votes 47: ↑43 and ↓4+39
Comments17

Спидран Legend of Zelda путём манипуляций памятью игры

Reading time8 min
Views15K


Первая часть Legend of Zelda — бессмертная классика. Обычному игроку требуется на её прохождение пара дней, а для самых опытных спидраннеров это вопрос получаса. Однако очень запутанный и сложный баг, открытый Sockfolder, позволяет пользователю исполнять произвольный код прямо из игры, чтобы пройти игру меньше чем за три минуты.

Вкратце это происходит так:

  1. Вводим код на экране ввода имени.
  2. Входим во второе подземелье, берём свисток.
  3. Переходим на кладбище, вызываем десять призраков.
  4. Дожидаемся нужных условий, ставим игру на паузу, когда создания находятся в определённых местах.
  5. Снимаем паузу, нажимаем одновременно A и B, и всё!

Да, это потрясающе. Теперь давайте рассмотрим подробнее, что же происходит в игре, и как выполняется этот удивительный баг Legend of Zelda.
Читать дальше →
Total votes 31: ↑28 and ↓3+25
Comments15

Музыкальная теория для гиков

Reading time17 min
Views120K
imageКто-то считает музыку уделом избранных талантов, кто-то — набором физических закономерностей. Автор материала делает попытку объяснить знакомые каждому музыкальные термины, такие как тон, интервал, амплитуда, нота, октава, партитура, аккорд и так далее с помощью расчетов и технических обоснований. Ниже перевод оригинального текста.

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

Все остальные правила для меня выглядят совершенно, ну просто абсолютно произвольно. Почему у нас есть 12 нот, но для их обозначения применяются только 7 букв? Откуда взялись знаки при ключе? Почему ни одну статью по музыке в Википедии просто невозможно понять, не прочитав сперва все остальные?
Читать дальше →
Total votes 107: ↑104 and ↓3+101
Comments99

Что будет, если подать в электросеть постоянный ток

Reading time10 min
Views207K
Война токов завершилась, и Тесла с Вестингаузом, похоже, победили. Сети постоянного тока сейчас используются кое-где на железной дороге, а также в виде свервысоковольтных линий передачи.

Подавляющее большинство энергосетей работают на переменном токе. Но давайте представим, что вместо переменного напряжения с действующим значением 220 вольт в ваш дом внезапно стали поступать те же 220 В, но постоянного тока.
Читать дальше →
Total votes 153: ↑150 and ↓3+147
Comments241

Как проверить причинную связь без эксперимента?

Reading time9 min
Views15K


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

Действительно ли пациентам, тестирующим новое лекарство, становится лучше из-за лекарства, или они все все равно бы выздоровели? Ваши продавцы действительно эффективны или же они говорят с теми клиентами, которые и так готовы совершить покупку? Действительно ли Сойлент (или рекламная кампания, которая обойдётся фирме в миллион долларов) стоит вашего времени?
Читать дальше →
Total votes 34: ↑30 and ↓4+26
Comments7

Мультиплеер в быстрых играх (части I, II)

Reading time7 min
Views141K


  1. Части I, II (синглплеер с авторитарным сервером)
  2. Часть III (Появление врага)
  3. Часть IV (Хэдшот!)


Предлагаю вашему вниманию перевод статьи Fast-Paced Multiplayer (Part I): Introduction.

Разработка игры — само по себе непростое занятие. Но мультиплеерные игры создают совершенно новые проблемы, требующие разрешения. Забавно, что у наших проблем всего две причины: человеческая натура и законы физики. Законы физики привнесут проблемы из области теории относительности, а человеческая натура не даст нам доверять сообщениям с клиента.
Читать дальше →
Total votes 136: ↑132 and ↓4+128
Comments109

История ещё одного 3д-куба 10х10х10

Reading time6 min
Views33K
В последнее время на портале появлялись статьи о создании светодиодных кубов. Это своего рода игрушки, которые могут формировать трёхмерную картинку, но сделать большое разрешение очень проблематично и трудоёмко. Большинство работ ограничивается форматом 3х3х3, или в лучшем случае 5х5х5. Спустя время я нашёл свой старый 10 “этажный” куб, немного восстановил его и решил написать о своём опыте создания устройства.

Первый куб я спаял где-то в 2012 году, на подарок, с разрешением 4x4x4, в нем использовалась готовая схемотехника и программа, найденная в интернете. Увлёкшись, решил сделать такой же себе, но, увеличив разрешение до 5x5x5. Схемотехнику, опираясь на готовое решение, сделал сам, полностью скопировав саму логику подачи напряжения на ноги светодиодов.
Читать дальше →
Total votes 58: ↑58 and ↓0+58
Comments39

Я хочу, чтобы сайты открывались мгновенно

Reading time10 min
Views139K
Здравствуйте, меня зовут Александр Зеленин и я веб-разработчик. Я расскажу, как сделать так, чтобы ваш сайт открывался быстро. Очень быстро.


Я хочу, чтобы мой сайт открывался быстро
Total votes 130: ↑122 and ↓8+114
Comments87

Создание веб-сайта. Курс молодого бойца

Reading time24 min
Views819K
Как-то меня попросили провести небольшой семинар в лицее, где я когда-то учился, по созданию веб-сайта. В процессе написания речи я подумал, что она может вылиться в материал, который, возможно, будет полезен многим начинающим в области веб-дизайна, вёрстки веб-страниц и пр. Я не претендую на истину в первой инстанции и всё изложенное носит чисто личностный взгляд на работу с дизайном и кодом. Статья даёт поверхностный взгляд на понятия и средства, которые, на мой взгляд, могут стать неплохим стартом для того, кто готов идти дальше.
Читать дальше →
Total votes 86: ↑77 and ↓9+68
Comments46

«Страшные» абстракции Haskell без математики и без кода (почти). Часть I

Reading time31 min
Views47K
— Для чего нужны монады?
— Для того, чтобы отделить чистые вычисления от побочных эффектов.
(из сетевых дискуссий о языке Haskell)

Шерлок Холмс и доктор Ватсон летят на воздушном шаре. Попадают в густой туман и теряют ориентацию. Тут небольшой просвет — и они видят на земле человека.
— Уважаемый, не подскажете ли, где мы находимся?
— В корзине воздушного шара, сэр.
Тут их относит дальше и они опять ничего не видят.
— Это был математик, – говорит Холмс.
— Но почему?
— Его ответ совершенно точен, но при этом абсолютно бесполезен.
(анекдот)

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

То, что сделали эти умные ленивые египтяне, называется абстракцией. Они подметили нечто общее, что свойственно всем записям о количестве чего-либо, и отделили это общее от частных свойств подсчитываемых предметов. Если вы понимаете смысл этой абстракции, которую мы сегодня называем числами, и то, насколько она облегчила жизнь людям, то вам не составит труда понять и абстракции языка Haskell — все эти непонятные, на первый взгляд, функторы, моноиды, аппликативные функторы и монады. Несмотря на их пугающие названия, пришедшие к нам из математической теории категорий, понять их не сложнее, чем абстракцию под названием «числа». Для их понимания совершенно не требуется знать ни теорию категорий, ни даже математику в объёме средней школы (арифметики вполне достаточно). И объяснить их тоже можно, не прибегая к пугающим многих математическим понятиям. А смысл абстракций языка Haskell точно такой же, как и у чисел — они значительно облегчают программистам жизнь (и вы пока даже не представляете, насколько!).
Читать дальше →
Total votes 53: ↑49 and ↓4+45
Comments36

История собаченьки. Создание персонажа для новой игры «Эволюция: Битва за Утопию»

Reading time6 min
Views25K
Каждая игра, будь то маленький инди-проект или глобальная игра ААА класса, начинается с предпродакшена. Это, если вы не знали, смутное время, когда разработчики пытаются понять, что за игру, собственно, они собираются делать. Будучи художником, я очень люблю этот этап разработки, поскольку именно в этот период процесс еще не встал на отлаженную колею, нет выматывающей рутины и можно креативить от души.

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


Итак…
Читать дальше →
Total votes 69: ↑54 and ↓15+39
Comments29

SVG-иконки – много и со стилем

Reading time14 min
Views50K

Маленький рассказ о том, как наша команда решила организовать иконки в грядущем проекте. Чуть-чуть исторического экскурса, взгляды по сторонам (на PNG и векторные шрифты) и рассказ о том, как мы всё-таки обустроились в итоге.

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

В общем, есть (и продолжают создаваться) иконки. Надо их положить на веб-страницу. Надо сделать это так, чтобы потом голова не болела про них весь остаток проекта и ещё пару лет в поддержке. Ну и есть дополнительные хотелки:
  • хочется вектора. Ну, ладно, вектор – это средство, а не цель. Цель – не беспокоиться ВООБЩЕ об изменении размеров, ретина дисплеях, сохранении изображения в разных форматах для разных целей.
  • хочется стилизации иконок. Потому что у нас из коробки как минимум два набора тем (светлая и тёмная), а то и контрастная, для людей с нестандартным зрением, а то и оранжевенькая какая-нибудь появится ближе к Новому году… В общем – одна и та же по сути иконка должна выглядеть слегка иначе в зависимости от выбранной на странице темы.
  • хочется динамической стилизации иконок. Статики – нам мало. Этого хватает для скриншотиков и рекламных буклетиков, но не для живых пользователей. А мы хотели жизни! Мы хотели ховера! Мы хотели селекшена!!! И дизаблить, дизаблить их всех!.. Извините.
  • НЕ хочется, чтобы в этом участвовал JavaScript в любой его форме и проявлении. Иконки – это внешний вид, а за него ответственный HTML + CSS. Ну, ладно, класс selected я готов навесить на элементы, но это последняя граница…

Есть и факторы, облегчающие задачу. Иконки сейчас (2015, осень, начинает снежить) в моде плоские, строгие. Если лет пять назад иконки пестрели, то сейчас это ушло под влиянием МС, Эппла, Материал Дизайна…

tl;dr Внимание. Следующие несколько разделов – это расплывание мыcлею по древу, причём вширь, обзор решений (в том числе – неудачных) и котик в разных ракурсах.
Кому хочется технических подробностей того, что же вышло в итоге – пожалуйте сюда.
А для остальных начнём по порядку...
Total votes 61: ↑58 and ↓3+55
Comments34

Information

Rating
Does not participate
Location
Калуга, Калужская обл., Россия
Date of birth
Registered
Activity