Как стать автором
Обновить
62
0
Владислав Радюк @vlad_radziuk

Инженер данных

Отправить сообщение
Мы уже привыкли, что роботы проводят сложнейшие хирургические операции, а нейросети считывают знаки дорожного движения в реальном времени. Но как быть с творчеством? Хватит ли у алгоритмов души, чтобы сочинить стихотворение в духе Есенина? Сможет ли «железный дровосек» выразить тоску по сердцу так, чтобы сердца защемило у настоящих людей? Вот и проверим! Вместе с организаторами конкурса робототехники Ozon RoboFactory мы сделали хабровский аналог теста Тьюринга. Участникам нужно отличить продукцию механизмов и программ от лампового человеческого контента.
Меня не обманешь!
Всего голосов 30: ↑30 и ↓0 +30
Комментарии 12

Саморазвитие: как я не усидел на двух стульях и нашел третий

Время на прочтение 19 мин
Количество просмотров 41K


Всем привет! Я руковожу командой антиспама в Mail.ru Group, а также несколькими группами по машинному обучению. Тема этой статьи — саморазвитие для тимлидов/руководителей, но на самом деле многие техники и рецепты совершенно не зависят от роли. Для меня этот вопрос очень актуален, так как машинное обучение развивается крайне стремительно, и чтобы хотя бы быть в теме, надо потратить уйму времени. Поэтому вопрос, как и на что тратить время для развития, стоит достаточно остро.

Контент статьи, разумеется, не истина в последней инстанции, а всего лишь описание результатов моего продолжающегося квеста, в котором изложены сработавшие для меня подходы, основанные на книгах и тренингах, на пробах и ошибках. Буду рад подискутировать с вами в комментариях.
Читать дальше →
Всего голосов 62: ↑59 и ↓3 +56
Комментарии 27

Почему современная наука основана на вере?

Время на прочтение 12 мин
Количество просмотров 45K

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

Проблема неполной индукции

Знаменитый древнегреческий философ Аристотель в своем трактате «Аналитика» выделяет два вида возможных умозаключений - индуктивное и дедуктивное.

Дедуктивное умозаключение - это логический вывод о частных случаях исходя из общего правила. Индуктивное умозаключение - это логический вывод об общем правиле исходя из частных случаев.

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

Индукцию Аристотель делил на два вида: полную и неполную. Полная индукция - это вывод общего правила на основе свойств всех элементов множества, а неполная - это предположение об общем правиле на основе части элементов множества.

Читать далее
Всего голосов 122: ↑99 и ↓23 +76
Комментарии 623

Как надёжно удалить файлы и зачистить HDD/SSD

Время на прочтение 7 мин
Количество просмотров 87K


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

Естественно, в квартире находят множество улик, позволяющих квалифицировать гражданина сразу по нескольким статьям.

В таких условиях чрезвычайно важно перед обыском надёжно удалить всю информацию с накопителей и мобильных устройств, чтобы злоумышленник не получил доступ к контактной книге, аккаунтам в социальных сетях и мессенджерах — иначе вы подставите своих товарищей и предоставите дополнительные улики следствию.
Читать дальше →
Всего голосов 129: ↑110 и ↓19 +91
Комментарии 309

Науч-поп: как это делали на заре Нового времени

Время на прочтение 4 мин
Количество просмотров 5.8K


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

Точнее, про Оксфорд. В 1650-х годах там сформировался кружок из полутора десятка относительно молодых и образованных людей, который они сами называли просто The Company или «невидимый колледж».
Читать дальше →
Всего голосов 47: ↑47 и ↓0 +47
Комментарии 12

Zettelkasten: как один немецкий учёный стал невероятно продуктивным

Время на прочтение 18 мин
Количество просмотров 364K
Изображение предоставлено автором. Основано на фотографии Патрика Томаса с Ансплэша

Это перевод статьи Дэвида Клира о методе ведения заметок Zettelkasten, благодаря которому немецкий социолог Никлас Луман написал более 70 книг и 400 научных статей. Стоит читать, если вы хотите создать собственную базу знаний, систематизировать идеи и перестать забывать важные мысли.

Статья бережно перенесена из блога бегущего редактора. Кстати, следить за анонсами новых статей можно в моём телеграм-канале. Подписывайтесь, чтобы ничего не пропустить!
Читать дальше →
Всего голосов 52: ↑48 и ↓4 +44
Комментарии 82

Что делает Rust универсальным языком программирования

Время на прочтение 17 мин
Количество просмотров 43K

Владей и заимствуй


Долгое время Rust позиционировался исключительно как язык для системного программирования. Попытки использовать Rust для высокоуровневых прикладных задач зачастую вызывали усмешку у значительной части сообщества: зачем использовать инструмент в том качестве, на которое он не рассчитан? Какая польза от возни с типами и анализатором заимствований (borrow checker), если есть Python и Java со сборкой мусора? Но другая часть сообщества всегда видела потенциал Rust именно как языка прикладного, и даже находила его удобным в использовании для быстрого прототипирования — во многом благодаря его особенностям, а не вопреки им.

Читать дальше →
Всего голосов 83: ↑78 и ↓5 +73
Комментарии 234

Docker: как развернуть фуллстек-приложение и не поседеть

Время на прочтение 13 мин
Количество просмотров 144K
«Нам нужен DevOps!»
(самая популярная фраза в конце любого хакатона)

Сначала немного лирики.

Когда разработчик является отличным девопсом, умеющим развернуть своё детище на любой машине под любой OC, это плюс. Однако, если он вообще ничего не смыслит дальше своей IDE, это не минус — в конце концов, деньги ему платят за код, а не за умение его разворачивать. Узкий глубокий специалист на рынке ценится выше, чем средней квалификации «мастер на все руки». Для таких, как мы, «пользователей IDE», хорошие люди придумали Docker.

Принцип Docker следующий: «работает у меня — работает везде». Единственная программа, необходимая для деплоя копии Вашего приложения где угодно — это Docker. Если Вы запустили своё приложение в докере у себя на машине, оно гарантированно с тем же успехом запустится в любом другом докере. И ничего, кроме докера, устанавливать не нужно. У меня, к примеру, на виртуальном сервере даже Java не стоит.
Читать дальше →
Всего голосов 19: ↑13 и ↓6 +7
Комментарии 40

В этой статье слишком много воды

Время на прочтение 9 мин
Количество просмотров 40K
«Мы начинаем разработку новой игры, и нам нужна классная вода. Такую сможешь?»


, — cпросили меня. «Да не вопрос! Конечно, смогу», — ответил я, но голос предательски задрожал. «А, еще и на Unity?», — и мне стало понятно, что впереди очень много работы.
Читать дальше →
Всего голосов 175: ↑174 и ↓1 +173
Комментарии 36

Опасность внутриигрового сбора данных

Время на прочтение 10 мин
Количество просмотров 10K
image

Ник Йи торгует секретами.

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

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

Йи основал в 2015 году компанию Quantic Foundry, занимающуюся продажей его данных в такие игровые компании, как Tencent (владелица League of Legends), PopCap (студия, разработавшая Plants vs Zombies) и Wizards of the Coast (издатель Magic: The Gathering).

«В прошлом отрасль разработки игр не могла узнать истинных данных», — рассказывает Йи. «Когда люди играли на консолях без Интернета, разработчики не получали обратной связи. Они не могли составить чёткой картины того, как пользователи играют в их игры».

Теперь, по словам разработчиков, у них есть большие объёмы данных, как от телеметрии продуктов (внутриигрового поведения игроков), так и из внешних источников (например из опросов Йи). И некоторые люди начинают опасаться, что у них может быть слишком много информации.

По мнению многих разработчиков, частые утечки паролей из соцсетей, компаний и других источников делают приватность в играх очень важным аспектом. Кроме того, развитие взаимосвязанных государственных систем, например, китайской системы социального кредита ставит перед нами вопрос: может ли внутриигровое поведение влиять на то, как тебя воспринимают в реальном мире?
Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Комментарии 43

Жизнь на частицах

Время на прочтение 4 мин
Количество просмотров 64K
Всем привет! Сегодня я расскажу о своих экспериментах с системами частиц. Основной целью было нахождение простых правил, которые бы порождали интересное поведение.

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

Под катом много мегабайт гифок.

Читать дальше →
Всего голосов 269: ↑267 и ↓2 +265
Комментарии 67

Эта гениальная карта объясняет, как всё в физике подогнано друг к другу

Время на прочтение 2 мин
Количество просмотров 60K

Источник изображения: DominicWalliman/YouTube

От пространства-времени до теории хаоса


Физика — огромная и сложная область знаний. Но кроме того, она ещё одна из самых захватывающих наук, потому что имеет дело с «чёрными дырами», «червоточинами», квантовой телепортацией и гравитационными волнами.
Всего голосов 40: ↑33 и ↓7 +26
Комментарии 96

Интерактивная карта клиентов — Apache Spark Streaming и Яндекс.Карты

Время на прочтение 6 мин
Количество просмотров 17K
Бигдата напирает. Бизнесу уже недостаточно уметь обрабатывать ночью накопленные за день данные и принимать решение с задержкой в сутки. Хотят, чтобы система анализировала данные в режиме онлайн и реагировала быстро на:
  • изменение котировок
  • действия пользователей в онлайн-игре
  • отображала агрегированную информацию из соцсетей в различных проекциях

и т.д. Если вы так не умеете, то смузи уже не нальют.

Читать дальше →
Всего голосов 14: ↑11 и ↓3 +8
Комментарии 18

Два мира или “инженерам есть, что сказать”. О различных типах сложных задач и процессах связанных с ними

Время на прочтение 4 мин
Количество просмотров 9.3K
Я думаю руководители отделов IT департамента согласятся со мной, что иногда кажется, что мы находимся на границе двух миров, живущих по разным законам, в разных временных ритмах, а нам приходится жить в обоих этих мирах. И, если трансляцию “образа жизни” сверху вниз, от вышестоящих менеджеров до инженеров, мы, в силу своих должностных обязанностей, осуществляем регулярно, то вот в обратную сторону — увы…

Поэтому этот пост о том, что я, как инженер, хочу сказать нашим дорогим менеджерам и тем, кто считает их “образ жизни” единственно верным. :)

Планирование, диаграммы ганта, “следование процессу”, дисциплина, deadline, распорядок, “два раза не объясняю одно и тоже”, “не успел, значит плохо планировал”… — знакомые вещи? Это сущности и методы “мира менеджеров”. Понятно, что где-то больше, где-то меньше и вообще упрощение, но речь не об этом мире. Он безусловно важен. Его методы отлично работают во многих вещах. Но есть огромный пласт задач, где ничего из этого не работает, а работает совсем другое, подчас противоположное.
Читать дальше →
Всего голосов 26: ↑24 и ↓2 +22
Комментарии 22

Все, что вы хотели знать об обработке запросов, но стеснялись спросить

Время на прочтение 12 мин
Количество просмотров 18K

Что такое сетевой сервис? Это программа, которая принимает входящие запросы по сети и обрабатывает их, возможно, возвращая ответы.


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


Выбор способа обработки запросов имеет далеко идущие последствия. Как сделать чат-сервис, выдерживающий 100.000 одновременных соединений? Какой подход выбрать для извлечения данных из потока слабоструктурированных файлов? Неправильный выбор приведет к пустой трате сил и времени.


В статье рассмотрены такие подходы как пул процессов/потоков, событийно-ориентированная обработка, half sync/half async паттерн и многие другие. Приводятся многочисленные примеры, рассматриваются плюсы и минусы подходов, их особенности и области применения.

Читать дальше →
Всего голосов 23: ↑22 и ↓1 +21
Комментарии 5

Радость Haxe. Роман с обделенным вниманием языком программирования

Время на прочтение 11 мин
Количество просмотров 6.9K
Привет, Хабр! Представляю вашему вниманию перевод статьи The Joy of Haxe. FontStruct’s love affair with a neglected programming language.

Логотип Haxe в редакторе шрифтов FontStruct

Довольно грубая попытка воспроизвести логотип Haxe в редакторе шрифтов FontStruct

Недавно мы открыли исходный код наиболее важной части нашего модуля для создания шрифтов. Это библиотека fonthx для создания TrueType-шрифтов, и написана она на Haxe.
В данной статье практически нет кода. Если же вас интересует только код, то ознакомиться с ним можно на github, а его работа показана на примере простейшего редактора пиксельных шрифтов, построенного с использованием библиотеки fonthx.
Читать дальше →
Всего голосов 21: ↑19 и ↓2 +17
Комментарии 36

Вещи, которые должен делать каждый: Code Review

Время на прочтение 4 мин
Количество просмотров 55K
Code review

Самая значимая вещь, которая делает код в компании Google таким хорошим проста — code review (далее CR). Google не единственная компания, использующая CR. Всем известно, что это хорошая идея и множество разработчиков делают это. Но я не видел ни одной другой большой компании, в которой CR был бы так грамотно внедрен. В Google ни одна линия кода не уходит в production пока не получит позитивную оценку на CR.

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

Что же вы получите от использования CR?
Читать дальше →
Всего голосов 66: ↑49 и ↓17 +32
Комментарии 32

Целостность данных в микросервисной архитектуре — как её обеспечить без распределенных транзакций и жёсткой связности

Время на прочтение 9 мин
Количество просмотров 61K

Всем привет. Как вы, возможно, знаете, раньше я все больше писал и рассказывал про хранилища, Vertica, хранилища больших данных и прочие аналитические вещи. Сейчас в область моей ответственности упали и все остальные базы, не только аналитические, но и OLTP (PostgreSQL), и NOSQL (MongoDB, Redis, Tarantool).


Эта ситуация позволила мне взглянуть на организацию, имеющую несколько баз данных, как на организацию, имеющую одну распределенную гетерогенную (разнородную) базу. Единую распределенную гетерогенную базу, состоящую из кучи PostgreSQL, Redis-ов и Монг… И, возможно, из одной-двух баз Vertica.


Работа этой единой распределенной базы порождает кучу интересных задач. Прежде всего, с точки зрения бизнеса важно, чтобы с данными, движущимися по такой базе, все было нормально. Я специально не использую здесь термин целостность, consistency, т.к. термин это сложный, и в разных нюансах рассмотрения СУБД (ACID и CAP теорема) он имеет разный смысл.


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


Всего голосов 77: ↑76 и ↓1 +75
Комментарии 73

Карты из шестиугольников в Unity: вода, объекты рельефа и крепостные стены

Время на прочтение 77 мин
Количество просмотров 12K
Части 1-3: сетка, цвета и высоты ячеек

Части 4-7: неровности, реки и дороги

Части 8-11: вода, объекты рельефа и крепостные стены

Части 12-15: сохранение и загрузка, текстуры, расстояния

Части 16-19: поиск пути, отряды игрока, анимации

Части 20-23: туман войны, исследование карты, процедурная генерация

Части 24-27: круговорот воды, эрозия, биомы, цилиндрическая карта

Часть 8: вода


  • Добавляем в ячейки воду.
  • Триангулируем поверхность воды.
  • Создаём прибой с пеной.
  • Объединяем воду и реки.

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


Вода прибывает.
Всего голосов 30: ↑30 и ↓0 +30
Комментарии 4

Как парни из Storyline вернулись из Кремниевой долины в Минск с $770 тысячами на стартап

Время на прочтение 16 мин
Количество просмотров 24K
В 2017 году Василий Шинкоренко и Максим Абрамчук создали сервис Storyline, где можно разрабатывать приложения для голосового помощника от Amazon не используя программирование. Парни участвовали в двух акселераторах в Кремниевой долине — Boost VC и Y Combinator. Весной 2018 они получили $770 тысяч инвестиций.

Мы с fillpackart позвонили им и обо всем расспросили — что под капотом сервиса, каково быть разработчиком в стартапе, как им жилось в долине и как скоро голосовые ассистенты изменят мир.


Всего голосов 40: ↑38 и ↓2 +36
Комментарии 75

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность