Архив за 29 февраля 2016 - 10

Немного о хранении данных и опыте 1cloud - 1

Объем данных, генерируемых человечеством, с каждым годом увеличивается, причем по экспоненте. Этот факт способствует развитию новых инновационных технологий, благодаря которым в сфере хранения данных периодически происходят мини-революции.Читать полностью »

Результаты последнего исследования, опубликованного Bloomberg New Energy Finance, указывают на то, что цена на электромобили будет продолжать снижаться в ближайшие несколько лет одновременно с удешевлением аккумуляторных батарей, которые используются в подобной технике.

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

Как балансируются настольные и разные другие игры – краткий обзор способов - 1

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

Конечная цель любой балансировки игры – увеличение возврата игроков или времени партии. То есть играбельности механики:

  • Не должно быть однозначной ультимативной стратегии победы, иначе игра потеряет вариативность и интерес.
  • Игрок должен чувствовать, что от его действий и навыков зависит игра. Иначе получится Mass Effect, который, скорее, фильм, нежели RPG.
  • Баланс должен быть «амортизированным», то есть прощать некоторые ошибки – иначе запоздалый на миллисекунду клик в Starcraft по первому рабочему из-за «эффекта бича» вызывал бы проигрыш через 4 часа идеальной партии. Наша настольная формула – 5-7 важных решений за игру, в двух можно ошибиться.
  • У настолок есть ещё социальное условие: игроки не должны выпадать по ходу пьесы – интересно должно быть всем и до конца.

Теперь – методы.Читать полностью »

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

Простой расчет контрольной суммы - 1

Чтобы упростить алгоритм, без потери качества, нужно немного «битовой магии», что интересная тема сама по себе.
Читать полностью »

Rutracker блокируется в транзитном трафике для иностранных пользователей - 1Как известно, с 25 января 2016 года российские провайдеры блокируют запросы к rutracker.org. Большинство пользователей используют различные способы обхода блокировки, коих довольно много: VPN, прокси-серверы, расширения к браузерам и т.д. Остаются доступными и зеркала Rutracker. Статистика фиксирует лишь незначительное снижение посещаемости, что можно объяснить тем, что многие пользователи теперь учитываются как один, потому что используют вышеупомянутые способы обхода блокировки.

Интересно, что в последние несколько дней (примерно с 25 февраля) от решения Мосгорсуда страдают и некоторые жители других стран, для которых Rutracker тоже стал недоступен. Причина в том, что с 25 февраля часть иностранного трафика пошла через сети в Москве, хотя отправители и получатель запроса (Rutracker) находятся за границей.

Причина этого ещё более интересна: для защиты от DDoS-атак владельцы Rutracker, судя по всему, воспользовались услугами российской компании!
Читать полностью »

[ScanDoc] предобработка сканов - 1

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

Какие проблемы приходится решать:

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

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

Совсем недавно вышел релиз Kotlin, а его команда разработчиков предлагала задавать вопросы про язык. Он сейчас на слуху и, возможно, многим хочется его попробовать.
Пару недель назад тимлид сделал для компании презентацию о том, что в Котлине хорошо. Одним из самых интересных вопросов был «А как в Котлине выстрелить себе в ногу?» Так получилось, что ответил на этот вопрос я.

Disclaimer:
Не стоит воспринимать эту статью как «Kotlin — отстой». Хотя я отношусь скорее к категории тех, кому и со Scala хорошо, я считаю, что язык неплохой.
Все пункты спорные, но раз в год и палка стреляет. Когда-то вы себе прострелите заодно и башку, а когда-то у вас получится выстрелить только в полночь полнолуния, если вы предварительно совершите черный ритуал создания плохого кода.

Наша команда недавно закончила большой проект на Scala, сейчас делаем проект помельче на Kotlin, поэтому в спойлерах будет сравнение со Scala. Я буду считать, что Nullable в Kotlin — это эквивалент Option, хотя это совсем не так, но, скорее всего, большинство из тех, кто работал с Option, будут вместо него использовать Nullable.

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

То, о чем я попытаюсь сейчас рассказать, выглядит как настоящая магия.

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

Итак, магия:
Байесовская нейронная сеть — потому что а почему бы и нет, черт возьми (часть 1) - 1

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

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

Предсказание биологической активности молекул. Часть 3а. Точно в цель - 1
Модель 5-HT3-рецептора. A.J.Thompson//Trends in Pharmacological Sciences, 2013, Vol. 34, p. 100-109.
   Часть 1.
   Часть 2.
   Прежде чем продолжить, я бы хотел сказать, что тему предсказания биологической активности химических соединений до меня поднимали a00 и odevinyak. Вот ссылки на их сообщения:
https://geektimes.ru/post/191864/
https://geektimes.ru/post/142602/
   С точки зрения drug design наиболее интересными представляются ответы на следующие вопросы:
— проявляет ли соединение Х биологическую активность в отношении мишени Y, и каким образом можно улучшить эту активность;
— к каким мишеням в принципе может проявлять активность соединение Х.
   Несмотря на то, что сходные по своей сути задачи требуют несколько разных подходов, все они основаны на одном важном абстрактном понятии. Мне всё время хочется определить его так, как никто ещё в мире не делал (через геометрическое место точек) но пока не получается. Может, это сумеет сделать кто-нибудь из вас (правда, у меня есть сомнения в том, что это возможно)?
   Читать полностью »

Оценка и оптимизация производительности вычислений на многоядерных системах - 1
Данная публикация является переводом первой части статьи Characterization and Optimization Methodology Applied to Stencil Computations инженеров компании Intel. Эта часть посвящена анализу производительности и построению roofline модели на примере довольно распространенного вычислительного ядра, которая позволяет оценить перспективы оптимизации приложения на данной платформе.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js