Pull to refresh
0
0
Артем Седых @sedyh

Backend / ML Developer

Send message

Увеличь это! Современное увеличение разрешения

Reading time21 min
Views182K

Я уже перестал вздрагивать и удивляться, когда звонит телефон и в трубке раздается жесткий уверенный голос: «Вас беспокоит капитан такой-то (майор такой-то), вы можете ответить на пару вопросов?» Почему бы не поговорить с родной полицией…

Вопросы всегда одни и те же. «У нас есть видео с подозреваемым, пожалуйста, помогите восстановить лицо»… «Помогите увеличить номер с видеорегистратора»… «Здесь не видно рук человека, пожалуйста, помогите увеличить»… И так далее в том же духе.

Чтобы было понятно о чем речь — вот реальный пример присланного сильно сжатого видео, где просят восстановить размытое лицо (размер которого эквивалентен примерно 8 пикселям):


И ладно бы только русские дяди Степы беспокоили, пишут и западные Пинкертоны.
Читать дальше →
Total votes 377: ↑376 and ↓1+375
Comments262

Патент на настольную игру в России

Reading time5 min
Views25K

Недавно я и Антон Ендресяк начали второй сезон подкаста об интеллектуальной собственности «Копикаст», и в новом выпуске обсудили вопрос о правовой охране настольной игры как объекта интеллектуальной собственности. По ходу дела мы развенчали миф о невозможности патентования настольных игр в России. Перескажу кое-что из нашего разговора и немного дополню.



Читать дальше →
Total votes 39: ↑33 and ↓6+27
Comments17

Введение в программирование: простой 3D-шутер с нуля за выходные, часть 2

Reading time4 min
Views38K
Продолжаем разговор про 3Д шутер за выходные. Если что, то напоминаю, что это вторая половина:


Как я и говорил, я всеми силами поддерживаю желание в студентах делать что-то своими руками. В частности, когда я читаю курс лекций по введению в программирование, то в качестве практических занятий я оставляю им практически полную свободу. Ограничений только два: язык программирования (С++) и тема проекта, это должна быть видеоигра. Вот пример одной из сотен игр, которые сделали мои студенты-первокурсники:


К сожалению, большинство студентов выбирает простые игры типа 2Д платформеров. Я пишу эту статью для того, чтобы показать, что создание иллюзии трёхмерного мира ничуть не сложнее клонирования марио броз.
Читать дальше →
Total votes 84: ↑82 and ↓2+80
Comments29

«Во всех проектах делали именно то, что считали нужным»: Luxoft о Java и не только

Reading time8 min
Views13K
В преддверии Joker 2016 продолжаем серию текстов о тех компаниях, в жизни которых Java-разработка точно играет большую роль: спонсорах Joker. В Luxoft нам ответили на очень разные вопросы — от того, какие Java-технологии используют чаще всего, до того, почему предубеждения по поводу аутсорс-разработки неверны.



Нашими собеседниками стали:

  • Олег Золотых, управляющий директор Luxoft Russia
  • Михаил Дружинин, архитектор и лидер архитектурного комьюнити (а также спикер HolyJS 2016)
  • Максим Сячин, Java-разработчик (а также спикер Joker 2016)
  • Анастасия Тихомирова, специалист по маркетингу
Читать дальше →
Total votes 24: ↑21 and ↓3+18
Comments0

Процедурная генерация текстур планет на основе алгоритма Diamond-Square, часть 1

Reading time14 min
Views42K
image

Доброго времени суток. Как со мной бывает, как только я разобрался в каком-то сложном для себя вопросе, я сразу хочу рассказать всем решение. Поэтому решил написать серию из двух статей по такой интересной теме, как процедурная генерация. А конкретнее, я буду рассказывать про генерацию текстур планет. В этот раз я подготовился основательнее и постараюсь сделать материал качественнее, чем в моем предыдущем посте «Простая система событий в Unity» (кстати, спасибо всем за ответные посты). Прежде чем продолжить, хочу обратить ваше внимание на несколько моментов:

1) Этот генератор не претендует на реалистичность, и писал я его для того, чтобы сгенерировать уникальные текстуры для сотни маленьких шариков, которые занимают 10% экрана и к тому же прикрыты облаками.
2) Чисто технический момент: я пишу на C# под Unity3d, так что думать о том, как выводить в изображение с приемлимой скоростью вам придется самим, для каждого языка и платформы свои способы.

Читать дальше →
Total votes 34: ↑31 and ↓3+28
Comments21

Алгоритм «diamond-square» для построения фрактальных ландшафтов

Reading time12 min
Views117K
Карта игры Minecraft, созданная с помощью приложения CartographДумаю, многие знакомы с весьма необычной игрой Minecraft (справа — пример сгенерированной в ней карты), в которой игрок находится на (практически) бесконечной поверхности Земли и может исследовать окружающий мир с минимальными ограничениями.

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

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

Читать дальше →
Total votes 148: ↑147 and ↓1+146
Comments58

Вы не поверите, насколько прекрасный офис у Нотча

Reading time1 min
Views138K
Ну, быть может, поверите. Minecraft от Mojang — это история успеха. Это не только означает, что шеф Mojang-а Notch (он же Markus Persson) может позволить себе хорошие шляпы, это также означает, что студия может позволить себе хорошее рабочее место. Ребята, да только посмотрите на это рабочее место!

Студия недавно переехала на новую большую площадку. Сейчас это самый красивый офис в Швеции, поскольку он был номинирован на «Sveriges Snyggaste Kontor 2012». Поздравляем! Всегда приятно видеть, что люди делают что-то хорошо.

Вот, посмотрите на рабочее место Mojang, облачённое в кожу и покрытое деревом:
Читать дальше →
Total votes 90: ↑77 and ↓13+64
Comments67

Сотрудники Google добавили квантовую физику в Minecraft

Reading time1 min
Views141K
Группа разработки искусственного интеллекта Google Quantum A.I. Lab Team выпустила мод Minecraft под названием qCraft, который привносит в игровую вселенную некоторые принципы квантовой физики.



Это не симуляция квантовой физики, а скорее весёлый эксперимент. В мире qCraft можно встретить объекты, которые одновременно и существуют и не существуют, вид которых зависит от позиции наблюдателя, возникающие из ниоткуда колодцы и пропадающие лестницы — своеобразные аналоги того, что происходит с частицами в планковском масштабе, принципов запутанности и суперпозиции.
Читать дальше →
Total votes 70: ↑60 and ↓10+50
Comments29

В Minecraft создали работающий смартфон с сотовой вышкой

Reading time2 min
Views18K


Когда Minecraft впервые «засветился» на международной арене, никто и не предполагал, что эта игра станет больше, чем игрой. Тем не менее, так и случилось. При помощи Minecraft пользователи отстраивают Starship Enterprise, создают модель Арктики, проектируют калькуляторы.

Разного рода моды дополняют функциональность игрушки. К примеру, используя один из модов, пользователю удалось настроить управление своей WiFi лампочкой, с размещением органов управления (выключатель) в Minecraft. Но это все цветочки. Ягодка же — создание функционирующего смартфона, с функцией видеосвязи.
Читать дальше →
Total votes 20: ↑14 and ↓6+8
Comments15

Решил написать свой язык аппаратного синтеза, для Minecraft и что из этого вышло

Reading time3 min
Views30K


Мне всегда было интересно, как люди делают в играх сложные инженерные конструкции, и всегда хотелось попробовать повторить. Очень давно я увидел ролик на YouTube о том, как один человек построил процессор на редстоуне. И решил попробовать: чем я хуже? Тогда я собрал несколько прототипов отдельных элементов и понял, что эта задача мне не по плечу. К этому времени я немного освоил Verilog. Родилась мысль: почему никто не пытался использовать языки аппаратного синтеза для построения сложных логических схем в minecraft? Чуть углубившись в различные форумы, я не нашел ни одной похожей утилиты, а свой процессор на редстоуне очень хотелось. Пришлось взяться за написание компилятора самому. Что из этого получилось, читайте под катом.
Читать дальше →
Total votes 50: ↑43 and ↓7+36
Comments19

История о том, как я ОС в Minecraft писал

Reading time6 min
Views97K
image

В далеком 2011 году мир увидел такую игру как Minecraft — воксельную песочницу, где каждый творит все, что душе угодно. Спустя некоторое время народные умельцы стали писать различные модификации для нее, делающие геймплей более разнообразным. Не так давно появился мод под названием «OpenComputers», добавляющий полноценные компьютеры, программируемые на скриптовом языке Lua. И в этой статье я хочу поделиться с вами небольшим опытом, приобретенным при изучении этого крайне интересного мода.
Читать дальше →
Total votes 107: ↑101 and ↓6+95
Comments125

Опыт создания игры для Android в одиночку с нуля и как ее зафичерили на Google Play

Reading time3 min
Views108K
Привет! Меня зовут Ибрагим, я — начинающий инди-разработчик. У меня всегда было желание заняться программированием, но меня отпугивала сложность и неопределенность выбора (что именно изучать и делать). И лишь 2 года назад я все-таки преодолел этот психологический барьер, смог высвободить достаточно времени, и решил уже основательно подойти к задаче. Я был решительно настроен найти и освоить профессию, от которой я бы получал кайф.

Сужать круг поиска, чем именно заниматься, было тяжело. Знакомых в этой области не было, поэтому решил отталкиваться от каких-то общих соображений. Так как в приоритете было в первую очередь найти что-то интересное, выбор пал на геймдев. Понравилась идея для начала сделать простенькую 2D-игру под Android и выложить на Google Play.
Читать дальше →
Total votes 26: ↑21 and ↓5+16
Comments23

90 рекомендаций по стилю написания программ на C++

Reading time20 min
Views412K
От переводчика. Искал в интернете простой и легко применимый гайдлайн по написанию программ на C++. Мне понравился один из вариантов, и я решил его перевести и опубликовать. Если хабрапользователи хорошо встретят этот топик, могу перевести и другие связанные документы, а также гайдлайны по написанию кода от других компаний.

1 Введение


Настоящий документ содержит рекомендации по написанию программ на языке C++.

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

Но для появления ещё одного списка рекомендаций, помимо указанных источников, есть несколько причин. Основная причина — их излишняя обобщённость, поскольку зачастую требуется задать частные правила (в особенности правила именования). Данный документ содержит комментарии, что делает его более удобным в использовании при проведении ревизий кода, чем другие уже существующие документы. К тому же, рекомендации по программированию обычно вперемешку содержат описания проблем стиля и технических проблем, что не совсем удобно. Этот документ не содержит каких-либо технических рекомендаций по C++, делая упор на вопросах стиля.
Читать дальше →
Total votes 181: ↑137 and ↓44+93
Comments213

Руководство хакера по нейронным сетям. Глава 2: Машинное обучение. Обобщаем SVM до нейронной сети

Reading time4 min
Views13K
Содержание:
Глава 1: Схемы реальных значений
Часть 1:
   Введение   
      Базовый сценарий: Простой логический элемент в схеме
      Цель
         Стратегия №1: Произвольный локальный поиск

Часть 2:
         Стратегия №2: Числовой градиент

Часть 3:
         Стратегия №3: Аналитический градиент

Часть 4:
      Схемы с несколькими логическими элементами
         Обратное распространение ошибки

Часть 5:
         Шаблоны в «обратном» потоке 
      Пример "Один нейрон"

Часть 6:
      Становимся мастером обратного распространения ошибки


Глава 2: Машинное обучение
Часть 7:
      Бинарная классификация

Часть 8:
      Обучение сети на основе метода опорных векторов (SVM)

Часть 9:
      Обобщаем SVM до нейронной сети

Часть 10:
      Более традиционный подход: Функции потерь



Интересен тот факт, что SVM является всего лишь отдельным видом очень простой схемы (схемы, которая вычисляет score = a*x + b*y + c, где a,b,c являются весовыми функциями, а x,y представляют собой точки ввода данных). Его можно легко расширить до более сложных функций. Например, давайте запишем двухслойную нейронную сеть, которая выполняет бинарную классификацию. Проход вперед будет выглядеть следующим образом:
Читать дальше →
Total votes 15: ↑11 and ↓4+7
Comments1

Искусственные нейронные сети выращивают навигационные клетки как в мозге

Reading time5 min
Views9.2K


Наличие способности находить короткий путь, самый прямой из точки «А» в точку «Б» не выглядит сегодня впечатляющим тестом разумности. Тем не менее, согласно новому отчету, который был опубликован в журнале Nature некоторое время назад, в котором исследователи рассказали о своей навигационной системе искусственного интеллекта, способность исследовать сложные симулированные пространства и находить кратчайший маршрут к цели, ставит системы такого рода на один уровень с человеком и другими животными.
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments1

Gitpab. Приятно познакомиться

Reading time7 min
Views6.7K
Здравствуй. Я Gitpab. Рад знакомству. Меня сделали для того, чтобы легче было надзирать за программистами. Я беру часы, которые разработчики отметили в Gitlab, и подсчитываю, кто сколько затратил времени на работы по задачам. И по проекту в целом. Поговаривают, что большие начальники с моей помощью считают зарплату прогеров и рентабельность проектов. И это действительно так. Еще с моей помощью можно повысить маржинальность софтверных проектов. А сейчас я расскажу, чем могу быть полезен твоей команде и тебе лично.

image
Читать дальше →
Total votes 33: ↑17 and ↓16+1
Comments24

Хрупкий кабель дисплея MacBook Pro: очередная ловушка, в которую загнали себя инженеры Apple

Reading time3 min
Views94K

Кабели, о которых идёт речь, свободно обёрнуты вокруг платы контроллера дисплея. Они туго натягиваются при открытии крышки экрана, что со временем приводит к надрыву

Специалисты iFixit подробно разобрали очередную ошибку дизайна в ноутбуках Apple. Ошибки проектирования в устройствах этой компании имеют особенно грустные последствия, потому что ноутбуки и смартфоны Apple с трудом поддаются ремонту, а комплектующие зачастую очень дороги или недоступны. Такая же ситуация и здесь. Apple спроектировала кабель как часть дисплея, поэтому его невозможно заменить. Пользователю придётся менять весь дисплей. В итоге вместо $6 он отдаст за ремонт $600.
Читать дальше →
Total votes 104: ↑99 and ↓5+94
Comments500

Как ООО заплатить в 133 раза меньше налогов

Reading time9 min
Views81K

Тема, которую сегодня хотелось бы осветить, довольно сложная и объёмная, поэтому пришлось потрудиться, чтобы представить её в более-менее наглядном и понятном виде. Те, кто доберётся до конца статьи, узнают ответ на вопрос в заголовке. Поверьте, там так оно и есть.
Читать дальше →
Total votes 37: ↑33 and ↓4+29
Comments12

Новый язык программирования Mash

Reading time6 min
Views49K
На протяжении нескольких лет я пробовал свои силы в разработке своего языка программирования. Мне хотелось создать на мой взгляд максимально простой, полнофункциональный и удобный язык.

В этой статье я хочу осветить основные этапы своей работы и для начала описать созданный концепт языка и его первую реализацию над которой сейчас работаю.
Читать дальше →
Total votes 86: ↑70 and ↓16+54
Comments201

Information

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