Pull to refresh
55
0
Виктор Мельник @aNNiMON

Пользователь

Send message

Самый худший UI управления громкостью звука

Reading time1 min
Views209K
Группа разработчиков и дизайнеров решила начать флешмоб на реддите, чтобы выяснить у кого получится сделать самый худший интерфейс управления звуком в мире.



Осторожно! Много картинок и трафика!


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

Почему плохо, когда Интернет знает о вас всё?

Reading time11 min
Views9.3K

Привет, Хабр! Предлагаю вашему вниманию перевод статьи "The Dangers of Overpersonalization" авторов Kim Flaherty и Kate Moran.


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


image

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

Не нервничай, не спеши, не перебивай: история одной трагедии

Reading time15 min
Views138K
На этой неделе исполнилось 42 года со дня ужасного террористического акта на Канарских островах, который привел к гибели почти 600 человек. Нет, сам взрыв бомбы, устроенный боевиком из Движения за независимость Канарских островов (организация на сегодняшний день не существует; автор данной статьи решительно против любых форм терроризма) привел только к ранениям 8 человек. Однако череда последующих событий, включающих технические сбои, неодолимые внешние факторы, недочеты в управлении персоналом, человеческую психологию в стрессовых условиях и просто грубые нарушения правил, сложилась в такой клубок невероятных трагических совпадений, что заслуживает самого внимательного анализа.


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

Стажёр Вася и его истории об идемпотентности API

Reading time11 min
Views261K

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


Меня зовут Денис Исаев, и я руковожу одной из бэкенд групп в Яндекс.Такси. Сегодня я поделюсь с читателями Хабра описанием проблем, которые могут возникнуть, если не учитывать идемпотентность распределенных систем в своем проекте. Для этого я выбрал формат вымышленных историй о стажёре Васе, который только-только учится работать с API. Так будет нагляднее и полезнее. Поехали.


image

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

Иди-ка ты на !@# со своей «токсичностью»

Reading time5 min
Views215K
IT — не детский садик. Это место для взрослых, руководствующихся логикой и здравым смыслом. Их не надо опекать, не надо следить за словами, не надо переживать, что у них сформируются комплексы. Если человек некомпетентен, надо дать ему об этом явно понять, а не беречь его нежные чувства в ущерб всем остальным.

Так какого же чёрта моё прекрасное IT превращается в детский сад «Весёлый Програм-Мишка»?
Читать дальше →

Загоризонтный Дятел: недолгая история объекта «Чернобыль-2»

Reading time9 min
Views107K

С лета 1976-го коротковолновую связь по всему миру начал терроризировать «эфирный хулиган». На ряде частот, выделенных для гражданской связи и авиации, поселился характерный стучащий сигнал с частотой 10 импульсов в секунду, мешающий переговорам и трансляциям во множестве стран. Этот стук доводил до белого каления как радиолюбителей, так и тех, для кого радиосвязь была профессиональным инструментом. Судите сами:

https://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:Woodpecker.ogg

Причём сигнал был «плавающий» — поработав несколько минут на одной частоте, он переходил на другую. Загадочность и создаваемые неудобства привели к тому, что военные ряда стран попытались запеленговать источник. Оказалось, что он расположен в глубине Советского Союза. А поскольку сигнал — к тому времени получивший прозвище «Русский Дятел», — периодически вторгался на частоты, зарезервированные для авиации, этим не замедлили воспользоваться США, Великобритания и Канада, заявившие СССР протест. СССР сделал удивлённое лицо и ответил, что ничего не знает ни о каком сигнале.
Читать дальше →

Уязвимость графического пароля

Reading time4 min
Views387K
Предыстория: моя жена постоянно норовит как-нибудь мне напортачить: поставить будильник на 3 часа ночи, поменять мелодию звонка, снести настройки синхронизации, удалить свою смс и потом доказывать, что она этого не говорила.
Шутки шутками, но в какой-то момент я решил: “Довольно!” — и поставил графический пароль на свой андроид.



Жена усмехнулась и сказала, что подберёт. Я посмеялся в ответ, на том и разошлись. Только теперь её волновал вопрос, как подобрать, а меня какова вероятность этого события.
И начал я чесать голову

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

Reading time21 min
Views183K

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

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

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


И ладно бы только русские дяди Степы беспокоили, пишут и западные Пинкертоны.
Читать дальше →

4 визуальных новеллы для изучения английского

Reading time8 min
Views32K
Игровой процесс в изучении английского успешно используется уже долгое время и преподаватели ищут новые возможности для его улучшения.

Визуальная новелла — это что-то среднее между компьютерной игрой и классической книгой. По сути это интерактивная история, основу которой составляет текст, но для удобства восприятия читателю демонстрируют картинки героев и локаций.

Именно из-за акцента на тексте визуальные новеллы считаются отличным способом изучения иностранных языков. Но есть несколько нюансов.

  • Во-первых, большинство визуальных новелл создается в Японии. Естественно, на японском. Если вы учите японский — радуйтесь и пользуйтесь. Но для изучения английского нужно обратить внимание на локализацию — далеко не всегда они получаются хорошими.
  • Во-вторых, если локализация удалась, то это вдвойне хорошо. Ведь при переводе локализаторы очень нечасто используют сложные или малоиспользуемые конструкции и лексику, ограничиваясь общеизвестной. Поэтому практически все хорошие новеллы можно читать с уровнем английского Intermediate и Upper-Intermediate.

Многие визуальные новеллы позволяют читателю влиять на сюжет через выбор вариантов ответов в диалогах. И эти выборы прямо влияют на результат игры — разработчики предусматривают отдельные концовки, которые меняются в зависимости от выборов.

Прелесть визуальных новелл для изучения английского в том, что вы вручную управляете текстом. То есть, абзац будет на экране до тех пор, пока вы его не прочитаете. При надобности можно 10 или 20 минут сидеть над репликой, чтобы понять все ее нюансы и подтекст — механика визуальных новелл это позволяет.

Мы подобрали несколько популярных визуальных новелл с отличным переводом, которые помогут вам прокачать английский.
Читать дальше →

Первокурснику: Вуз.Инструкция 1.0

Reading time15 min
Views74K
Мне всегда казалось, что нет более уязвимого и потерянного в реальности человека, чем первокурсник в первом своём семестре. Точнее, казалось так не всегда, а начиная со своего первого курса. Потом были сессии, аспирантура, работа преподавателем на несчастном первом курсе и мнение только укреплялось. Представьте себе: человека выдернули из школы и поместили в абсолютно другую среду со странными чертами: группа похожа на класс, те же парты и доска, учебники и злой библиотекарь, те же пары, так похожие на уроки. Но, чёрт возьми, что происходит? Я вам расскажу, что.

То же самое, но про инженеров — ниже. 1:1, пацаны
Читать дальше →

Внутренняя структура игры Contra

Reading time22 min
Views51K
image

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

ZX Spectrum: 35-летний юбилей

Reading time5 min
Views32K


35 лет назад, 23 апреля 1982, появился ZX Spectrum — замечательный домашний компьютер, который приобщил к программированию немало людей. В первой половине 1990-х эти 8-битные компактные устройства были очень популярны в России. По сути, ZX Spectrum’ы заполнили нишу бюджетных игровых приставок, но при этом позволяли писать полноценные программы на Basic (и не только). В честь очередной годовщины мы решили вспомнить наиболее яркие игры, покорившие сердца многих пользователей ZX Spectrum.

Руководство начинающего программиста графических шейдеров

Reading time8 min
Views47K
Умение писать графические шейдеры открывает перед вами всю мощь современных GPU, которые сегодня уже содержат в себе тысячи ядер, способных выполнять ваш код быстро и параллельно. Программирование шейдеров требует несколько иного взгляда на некоторые вещи, но открывающийся потенциал стоит некоторых затрат времени на его изучение.

Практически каждая современная графическая сцена являет собой результат работы некоторого кода, написанного специально для GPU — от реалистичных эффектов освещения в новейших ААА-играх до 2D-эффектов и симуляции жидкости.

image
Сцена в Minecraft до и после применения нескольких шейдеров.

Цель этой инструкции


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

Android Tips and Tricks

Reading time13 min
Views47K
В данном материале можно будет увидеть различные инструменты и подсказки, которые здорово облегчают жизнь Android разработчикам. Большая часть собрана напрямую от знакомых разработчиков и содержит вещи, которые должен знать каждый. Дополнения и расширения приветствуются, и если вы знаете о каком-то крутом механизме, который не был упомянут в статье, не поленитесь перейти в оригинал и открыть pull request.
Читать дальше →

«Во все тяжкие» или суровые реальности инди разработки Dark Forester

Reading time11 min
Views35K
image

Я хочу сразу сказать, что в первой части будет мало о самой разработке, а больше именно истории, трудности, социальные аспекты, проблемы с которыми может столкнутся инди разработчик, а также я не могу не упомянуть Москву, покер и спорт — без которых эта история не была бы полной. Итак, прежде, чем я начну с легенды, для того чтобы немного заинтересовать читателя, за время разработки с 2013 года по 2015 год я потолстел на 22кг и превратился из спортивного парня в человека, который с трудом узнавал себя в зеркале, я выпивал в год около тысячи банок ред булла, все началось с одной-двух, сейчас уже бывает редко, чтобы я пил меньше трех. Я спал по пять, а то и четыре часа. В течении двух лет я вставал в будние дни в пять утра и ехал на работу в другой город на электричке, чтобы вечером оставалось время поработать над игрой. Я по глупости отказался от предложения в 250.000 евро на разработку игры. Вероятно итогом такой жизни стало тяжелое воспаление легких, суд с бывшим работодателем, а также серьезные проблемы со спиной из-за постоянно сидячего образа жизни. Ах ну и если этого мало, то я бросил университет и сам уволился с работы!

Что ж поехали…
Читать дальше →

Персона. Джон Бэкус — создатель первого языка программирования высокого уровня

Reading time8 min
Views19K
image

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

Премия была присуждена Джону Бэкусу «… за глубокий и важный вклад в создание практических систем программирования высокого уровня. В особенности – за работы по Fortran и частые публикации формальных процедур для спецификации языков программирования».

В 50-х годах ХХ века труд программиста по написанию, вводу и отладке программ был далеко не легким: сначала программы писались на машинном языке.

Для облегчения участи программистов были придуманы подпрограммы, а затем первые ассемблеры. Но эффективность программирования от этого существенно не повысилась. Если бы кто-то мог написать транслятор, который позволил бы вводить команды из слов и символов, а затем автоматически конвертировать их в машинный код…
Читать дальше →

Реверс-инжиниринг процедурной генерации в No Man's Sky

Reading time20 min
Views45K


No Man’s Sky — это игра про исследование космоса, в которой используется технология процедурной генерации игрового окружения и ресурсов (текстур, моделей, рельефа и т.д.). Я был в восторге, когда объявили о её разработке в 2013 году, не только из-за самой игры, но в основном из-за возможности изучить игровые файлы и узнать, как она работает. После выпуска игра получила самые противоречивые отзывы, но мне всё равно интересно, что же происходит у неё внутри.

Если вы установите игру, то увидите, что по объёму она очень невелика, и это действительно так. Основная причина этого в том, что игра работает с очень ограниченным набором ресурсов и с помощью процедурной генерации создаёт на их основе буквально сотни вариантов. Я сосредоточусь на контенте, связанном с 3D-моделями игры, потому что для меня они всегда наиболее интересны. Статья будет разделена на три основные категории: геометрия, текстуры и анимации.

Стилизация изображений с помощью нейронных сетей: никакой мистики, просто матан

Reading time14 min
Views92K

Приветствую тебя, Хабр! Наверняка вы заметили, что тема стилизации фотографий под различные художественные стили активно обсуждается в этих ваших интернетах. Читая все эти популярные статьи, вы можете подумать, что под капотом этих приложений творится магия, и нейронная сеть действительно фантазирует и перерисовывает изображение с нуля. Так уж получилось, что наша команда столкнулась с подобной задачей: в рамках внутрикорпоративного хакатона мы сделали стилизацию видео, т.к. приложение для фоточек уже было. В этом посте мы с вами разберемся, как это сеть "перерисовывает" изображения, и разберем статьи, благодаря которым это стало возможно. Рекомендую ознакомиться с прошлым постом перед прочтением этого материала и вообще с основами сверточных нейронных сетей. Вас ждет немного формул, немного кода (примеры я буду приводить на Theano и Lasagne), а также много картинок. Этот пост построен в хронологическом порядке появления статей и, соответственно, самих идей. Иногда я буду его разбавлять нашим недавним опытом. Вот вам мальчик из ада для привлечения внимания.


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

Эффективное использование Github

Reading time13 min
Views127K

Github — важная часть жизни современного разработчика: он стал стандартом для размещения opensource-проектов. В «2ГИС» мы используем гитхаб для разработки проектов web-отдела и хостинга проектов с открытым кодом.

Хотя большинство из нас пользуются сервисом практически каждый день, не все знают, что у него есть много фишек, помогающих облегчить работу или рутинные операции. Например, получение публичного ключа из URL; отслеживание того, с каких сайтов пользователи приходят в репозиторий; правильный шаринг ссылок на файлы, которые живут в репозиториях гитхаба; горячие клавиши и тому подобное. Цель этой статьи — рассказать о неочевидных вещах и вообще о том, что сделает вашу работу с гитхабом продуктивнее и веселее (я не буду рассматривать здесь работу с API гитхаба, так как эта тема заслуживает отдельной статьи).


Содержание



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

Снегопад с помощью фильтров FFmpeg

Reading time6 min
Views19K
FFmpeg — мощное ПО со большим набором возможностей. В статье я постараюсь рассказать о немного необычном применении фильтров ffmpeg и о том что можно сделать используя исключительно их. Видео ниже сделано с помощью 1 команды ffmpeg (ни один графический редактор не пострадал).

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

Information

Rating
Does not participate
Location
Украина
Registered
Activity

Specialization

Software Developer, Backend Developer
From 1 ₴
Java
Linux
Bash