Архив января 2017

*почти

Бодрый день, дамы и господа. Я наконец решил, что негоже мне сидеть в рид-онли, когда у меня в голове зреет столько полезных и нужных комментариев, и пора получить инвайт. А значит, надо писать пост. О чём? Конечно же, о том, что я люблю и знаю — об играх. Конкретно — о головоломках.

Огромный недостаток головоломки по сравнения с какими-нибудь ММОРПГ — очень малая реиграбельность. Я всегда думал, что технология стирания памяти в «Вечном сиянии чистого разума» использовалась не по назначению. Вместо того, чтобы изжить из воспоминаний какую-то женщину, не лучше ли забыть своё прохождение любимой игры, а потом пройти её заново? К сожалению, пока что это фантастика. Поэтому всё, что я могу — изнывая от ностальгии, в письменной форме вспоминать все эти прекрасные вещи, вернуться к которым мне, увы, не суждено.

Учитывая «одноразовость» головоломок, тем более странно и в чём-то даже преступно, что о замечательнейших представителях этого жанра узнаёшь практически случайно. Мой пост имеет целью исправление этой несправедливости, и я как раз заканчиваю затянувшееся предисловие и перехожу к сути.
Читать полностью »

Данная статья является логическим продолжением статьи "Интеграция почтового анти-спама rspamd с opensmtpd" из-за некоторого вызова, который мне бросили, сказав, что сложно реализовать greylisting в связке opensmtpd+rspamd.

"Историй успеха" интеграции greylisting в opensmtpd я не встречал (если они существуют, то просьба написать в комментариях).

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

Мне удалось реализовать простой способ greylisting'а.

Читать полностью »

image
10 Декабря 2016 года в Киеве прошла конференция MageConf 2016. Тематика конференции — весь стек технологий, используемых в Magento. Конференция прошла в 2 потока: Backend и Frontend.

Под катом вы сможете найти видео всех докладов презентованных на конференции:
Читать полностью »

Чистая архитектура в Python: пошаговая демонстрация. Часть 5 - 1

Содержание

REST-слой (часть1)

Git tag: Step12

Наступил завершающий этап нашего приключения за чистой архитектурой. Мы создали модели предметной области, сериализаторы, сценарии и хранилище. Но пока отсутствует интерфейс, который склеивает все вместе: получает параметры вызова от пользователя, инициализирует сценарий с хранилищем, выполняет сценарий, который получает модели предметной области из хранилища, и преобразует их в стандартный формат. Этот слой может быть представлен с помощью множества интерфейсов и технологий. Например, с помощью интерфейса командной строки (CLI): получать параметры с помощью ключей командной строки и возвращать результат в виде текста на консоли. Но та же базовая система может быть использована и для web-страницы, которая получает параметры вызова из набора виджетов, выполняет описанные выше шаги, и разбирает возвращенные данные в формате JSON для отображения результата на той же странице.

Вне зависимости от выбранной технологии для взаимодействия с пользователем, сбора входных данных и предоставления выходных результатов, нам необходимо взаимодействовать с недавно созданной чистой архитектурой. Поэтому сейчас мы создадим слой для вынесения наружу API для работы с HTTP. Реализовано это будет при помощи сервера, который предоставляет набор HTTP-адресов (конечных точек API), при обращении к которым возвращаются некоторые данные. Такой слой обычно называют REST-слой, потому что, как правило, семантика адресов схожа с рекомендациями REST.

Читать полностью »

В США собираются отключить сервер с 24 годами аптайма - 1

В 1993 году уже год президентом США был Билл Клинтон. В этом же году вышли Windows NT 3.1 и «Парк Юрского периода». В России в то время случилось событие, которое позже стали называть «Конституционный кризис 1993 года». Тогда же Фил Хоган, ИТ-архитектор в компании Great Lakes Works запустил новый отказоустойчивый сервер от Stratus Technologies, Stratus XA/R 10.

С того времени поменялось очень много всего, появились новые страны, прошло несколько войн, крупных и мелких, в науке и технике случилась если не революция, то качественный скачок. А сервер от Stratus Technologies до сих пор работает, и проблем с ним практически нет. Аптайм машины составляет 24 года.
Читать полностью »

image

Феномен квантовой запутанности (entanglement), когда разделенные в пространстве частицы мистическим образом взаимодействуют друг с другом, нахально нарушая запрет на передачу взаимодействий со сверхсветовой скоростью, давно считается частью науки и у научного сообщества не вызывает никаких сомнений. Вполне серьезно изучаются перспективы создания на этой основе квантовых компьютеров. Считается, что их элементы данных — кубиты будут изменять и передавать свое информационное состояние посредством механизма квантовой запутанности. Такая прагматичная организация, как DARPA щедро финансирует эту чудесную науку. А между тем имеет серьезные основания точка зрения, согласно которой квантовая запутанность в смысле парадокса ЭПР — это миф, который прижился в поверхностном слое понимания квантовой механики.Читать полностью »

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

Согласно исследованию, проведенному правительственными структурами США, Секретная служба до сих пор пользуется компьютерной системой, созданной в 80-х годах прошлого века. Подобные «старые» решения также стоят на вооружении многих стран мира и применяются для управления баллистическими комплексами, системами подлодок и самолетов.

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

«Работает — не трогай»: Старый код и компьютеры, которые до сих пор функционируют - 1Читать полностью »

Всем привет! Сейчас я работаю в VRTech, и в рамках работы я натолкнулся на интересную задачу о которой хочется рассказать. Задача заключалась в том, чтобы получить анаморфное отображение картинки. Я попытаюсь рассказать, что такое анаморфные искажения, как рассчитать простейший случай линейного отображения такого искажения на плоскость, а так же предложу своё решение реализованное с помощью Unity.

image
Читать полностью »

Несмотря на то, что Smart TV появились на рынке СНГ и стали набирать популярность достаточно давно (~2010) — технологии/подходы разработки приложений для них сильно отстают во времени, порой обвивая приятными воспоминаниями из 7х или ранее годов.

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

Что такое приложения для Smart TV ?

В "приложение для Smart TV" я вкладываю определение как web приложения, специальным таким образом подогнанное под телевизор. По большому счету, отличий не так и много, по большей части это несовместимость/отсутствие некоторого API на различных устройствах, к тому же не стоит забывать, что телевизор не компьютер и его ресурсы более ограничены.

Ключевые (как по мне) отличия:

  • Ограниченные ресурсы.
  • Специальная навигация.
  • Местами неожиданное поведение на различных устройствах.
  • Немного запутанные способы тестирования.
  • Неожиданные варианты деплоймента и обновления приложения.

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

Но я хочу рассказать именно о первых двух.

Читать полностью »

Взять и победить: ИИ выиграл покерный турнир у четырех профи - 1

Искусственный интеллект (слабая его форма), разработанная представителями Школы информатики университета Карнеги-Меллон, обыграл четырех профессиональных игроков в покер. Речь идет о турнире в Техасский холдем, который проходил в питтсбургском казино Rivers. Это одна из наиболее популярных разновидностей покера. В ходе турнира было сыграно около 120 тысяч раздач. ИИ взял банк в $1,7 миллиона.

Авторы программы — Томас Сэндхолм и Ноам Браун. По словам разработчиков, покер — игра, участники которой не знают, какие карты у всех остальных. По этой причине просчитать что-то крайне сложно. Джимми Чу, один из участников турнира, пожаловался на то, что он с коллегами недооценил возможности Libratus: «Бот каждый день играл все лучше. Он как будто более умелая наша версия».
Читать полностью »