Как стать автором
Обновить
3
0
Илья @iluha1337

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

Отправить сообщение

Как заставить генеративные изображения выглядеть естественно при помощи математических алгоритмов

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

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

Этот пост не о языке и не о фреймворке. Мы будем говорить только о технике.

И давайте сразу договоримся, пожалуйста: я не утверждаю, что работы, которые выглядят натурально, в какой-либо степени лучше тех, которые выглядят цифровыми. Не нужно ставить естественность целью. Я гонюсь за ней просто потому что мне это нравится, таковы мои вкусы.
Начать
Всего голосов 28: ↑28 и ↓0+28
Комментарии12

Принципы SOLID в картинках

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


Если вы знакомы с объектно-ориентированным программированием, то наверняка слышали и о принципах SOLID. Эти пять правил разработки ПО задают траекторию, по которой нужно следовать, когда пишешь программы, чтобы их проще было масштабировать и поддерживать. Они получили известность благодаря программисту Роберту Мартину.

В Сети множество отличных статей, где рассказывается о принципах SOLID, но иллюстрированных среди них мне практически не попадалось. Из-за этого таким людям со склонностью к визуальному восприятию информации – таким, как я – бывает сложно схватывать суть и не отвлекаться.

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

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

Ну, приступим.
Читать дальше →
Всего голосов 57: ↑52 и ↓5+54
Комментарии26

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

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


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

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

Справочник по собеседованиям для тех программистов, которые их не понимают

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

На Хабре с завидной периодичностью возникают посты от возмущенных программистов, которые справедливо (наверное) негодуют, почему на собеседовании никто не спросил про их прошлые проекты, не посмотрел их код, но задавал шаблонные справочные вопросы или заставлял решать алгоритмические задачи, которые, скорее всего (в 99%), не будут применяться на вакантной работе.

Чтобы уменьшить поток этих публикаций (святая простота), ниже будет краткий, но лаконичный справочник по типам собеседований, которые вам стоит ожидать от конкретного типа компании. Справочник основан на личном многолетнем опыте. Надеюсь, это поможет вам (именно тебе, да) выбрать лучшую стратегию успешного получения работы.
Погнали!
Всего голосов 204: ↑183 и ↓21+225
Комментарии335

На создание участка карты мозга дрозофилы ушло 12 лет, усилия 250 человек и $40 млн

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


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

Пригодились эти мушки и ученым, которые занимаются изучением мозга. Поскольку ганглий у этих насекомых небольшой, то и отсканировать его можно без особых проблем. На днях ученые из Janelia Research Campus опубликовали результат своей 12-летней работы — карту мозга дрозофилы, самую подробную на текущий момент.
Всего голосов 55: ↑54 и ↓1+75
Комментарии134

Чтобы пацанам было не стыдно показать

Время на прочтение3 мин
Количество просмотров107K
Я стар и уже глуп, а у вас всё впереди, уважаемый программист. Но позвольте дать вам один совет, который наверняка поможет в вашей карьере – если, конечно, вы планируете остаться программистом.

Советы типа «писать красивый код», «хорошо комментировать свои доработки», «изучать современные фреймворки» — очень полезные, но, увы, второстепенные. Они идут прицепом к главному качеству программиста, которое надо в себе развивать.

Вот это главное качество: пытливый ум.
Читать дальше →
Всего голосов 251: ↑227 и ↓24+267
Комментарии172

Как бороться с привычками запрограммированным людям

Время на прочтение6 мин
Количество просмотров48K
Перевод статьи из микроблога биохакера Сержа Фаге.

В человеке есть запрограммированные паттерны поведения, которые всегда запускаются одним и тем же механическим, линейным способом. Так называемые «страстные желания» (англ. – cravings) – вещи и занятия, которые очень хочется начать делать в определённые моменты времени.

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


Читать дальше →
Всего голосов 59: ↑46 и ↓13+51
Комментарии121

Как проходят секции по машинному обучению на собеседованиях в Яндекс

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

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


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


image

Всего голосов 36: ↑29 и ↓7+22
Комментарии7

Как стать лучшим в мире в какой-то нише

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


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


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

Как вы можете себе представить, вероятность стать игроком НБА очень низкая: всего есть 30 команд по 15 игроков в каждой, что дает в общей сложности около 450 человек — не так уж много, особенно если учесть, что в молодежный баскетбол играет более полумиллиона ребят. Несложные подсчеты показывают, что меньше чем один из тысячи становится профессионалом.

image
Источник: Томас Пуэйо

Так что давайте будем реалистами: вы не попадете в НБА, не станете ни президентом, ни величайшим писателем в мире, ни лучшим шахматистом, ни самым искусным оратором. Вы никогда не станете лучшим в мире в каком-либо конкретном навыке: всегда найдется кто-то, кто выкладывается больше, у кого лучше генетические данные, кому больше везет (или всё сразу).

image
Большинство людей (в синей области) слабо владеют конкретным навыком. Если немного постараться, вы быстро попадете в 10% лучших (зеленая область). Но как только вы присоединились к этой элите, двигаться дальше становится всё сложнее, потому что ваши конкуренты всё чаще — люди, глубоко преданные этому делу.

Пытаться стать лучшим в одном деле — не самый разумный путь к успеху. Лучше приложить усилия в освоении сочетания навыков. То есть, решением является комбинирование навыков — концепция, популяризируемая Скоттом Адамсом. Принцип ее работы следующий.

Переведено в Alconost
Читать дальше →
Всего голосов 96: ↑89 и ↓7+82
Комментарии115

Какие soft skills нужны разработчику? Мнения из Яндекса

Время на прочтение7 мин
Количество просмотров22K
Скоро начнется большая студенческая олимпиада «Я — профессионал». Она уже несколько лет проходит в онлайне и офлайне. Участвовать могут студенты самых разных специальностей, включая технические. Олимпиаду организуют 26 ведущих вузов: НИУ ВШЭ, МГУ, МГТУ, МФТИ, МИФИ, СПбГУ, Университет ИТМО и другие.

Яндекс — технический партнер проекта. Для нас «Я — профессионал» уже второй год подряд становится хорошим поводом поговорить про важность софт-скиллз (гибких навыков) в работе разработчиков и других специалистов. Год назад в нашем московском офисе прошла встреча для участников олимпиады, посвященная софт-скиллам. Говорил о них и руководитель офиса разработки Яндекса в Новосибирске Сергей Бражник, выступая на тренинге, входящем в программу «Я — профессионал». Сегодня Сергей и еще двое руководителей в Яндексе — Анна Федосова и Олег Мохов Olegbl4 — расскажут для Хабра о гибких навыках: какие они бывают, какие из них нужны разработчику, где их получать и как их наличие сказывается на росте в компании.

Сергей Бражник, руководитель офиса разработки в Новосибирске, директор по развитию региональных образовательных проектов




— Для разработчика важны «4К»: критическое мышление, креативность, кооперация и коммуникация. Принято считать, что коммуникация в этой профессии — не важный навык, но если задуматься, он необходим для профессионального роста: нужно уметь задавать вопросы, слушать и слышать собеседника, объяснять свою точку зрения и принимать чужую, говорить и договариваться. Стажер может не уметь работать в команде или критически мыслить — и это нормально, потому что у него еще нет такого бэкграунда.
Читать дальше →
Всего голосов 38: ↑28 и ↓10+18
Комментарии18

C/C++ из Python (ctypes)

Время на прочтение6 мин
Количество просмотров65K
main

Про то как вызывать Python из C написал в прошлой статье, теперь поговорим как делать наоборот и вызывать C/C++ из Python3. Раз начал писать об этом, то раскроем всю тему до конца. Тем более, что ни чего сложного здесь нет тоже.

Читать дальше →
Всего голосов 27: ↑25 и ↓2+23
Комментарии44

Доступное объяснение алгоритма коллапса волновой функции

Время на прочтение9 мин
Количество просмотров36K
Алгоритм коллапса волновой функции (Wavefunction Collapse Algorithm) учит компьютер импровизировать. На входе он получает архетипичные данные и создаёт процедурно генерируемые данные, похожие на исходные.


(Источник)

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


(Источник)

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

Большинство реализаций и объяснений коллапса волновой функции — это полная, оптимизированная по скорости версия алгоритма. Разумеется, все они важны и необходимы, но в них сложно разобраться с нуля. В этом посте я буду объяснять всё понятным я простым языком, сосредоточившись на версии Wavefunction с ограничениями, которую я назвал Even Simpler Tiled Model. Кроме того, я выложил пример реализации ESTM на Github. Код в нём неэффективный и медленный, но очень хорошо читаемый и подробно прокомментирован. Как только вы разберётесь в технологии, лежащей в основе ESTM, то станете ближе к пониманию более сложных версий алгоритма. Если хотите понять алгоритм коллапса волновой функции, то эта статья будет хорошим началом.
Читать дальше →
Всего голосов 56: ↑55 и ↓1+54
Комментарии19

Лопнул ли пузырь машинного обучения, или начало новой зари

Время на прочтение10 мин
Количество просмотров111K
Недавно вышла статья, которая неплохо показывает тенденцию в машинном обучении последних лет. Если коротко: число стартапов в области машинного обучения в последние два года резко упало.

image

Ну что. Разберём «лопнул ли пузырь», «как дальше жить» и поговорим откуда вообще такая загогулина.
Всего голосов 185: ↑181 и ↓4+177
Комментарии350

Как прийти в небо и стать пилотом

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


Привет! Сегодня я расскажу о том, как можно прийти в небо, что нужно для этого сделать, сколько оно все стоит. Также поделюсь своим опытом обучения на частного пилота в Великобритании и развею некоторые мифы, связанные с авиацией. Под катом много текста и фоточек :)

Читать дальше →
Всего голосов 134: ↑127 и ↓7+120
Комментарии171

Исследование: СМИ идут за контентом в Телеграм-каналы

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

В вебе только и разговоров, что о Телеграм-каналах.


Однако, ещё никто не оценил численно: какое влияние оказывают Телеграм-каналы на СМИ? Сегодня мы попытаемся это исправить — и сделаем первый шаг в анализе связки медиа и Телеграма.


Ключевой вопрос исследования:


Какую роль играют Telegram-каналы в формировании медиаповестки?

Для оценки будем использовать следующий подход: соберем датасет новостей и оценим, какая часть приходится на Телеграм-каналы. Здесь мы собрали для анализа 67 тысяч постов медузы и проанализировали их источники и ссылки.


Начнем с интересного: новости на Медузе имеют специально выделенный "официальный" источник, а также в тексте присутствуют ссылки на другие источники, назовем их здесь "неофициальными".


Начнем с новостей, где источником указан Телеграм: официально (синий график) и в тексте (красный) — разница пятикратная. Как мы видим, медуза только начала официально и вообще в принципе ссылаться на Телеграм. Тренд: количество Телеграм-новостей растет: как в виде официального источника, так и в виде ссылок!



Данные: для воспроизведения результатов и дальнейших исследований выложены в открытый доступ: датасет (67к исходных текстов статей) и CSV c метаинформацией. См. методологию сбора и код в предыдущей статье по анализу Медузы.


Под катом:


  • Анализ — Телеграм vs Facebook (и vs Twitter).
  • Где находится Телеграм среди других ньюсмейкеров и источников?
  • Как растет влияние Телеграма?
  • На какие каналы чаще всего ссылаются?
  • Что из всего этого можно вывести?
Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии12

Отправляем «анонимное» СМС из Консоли на нужный номер используя сервис bytehand и C++

Время на прочтение4 мин
Количество просмотров22K
Порой появляется необходимость отправки анонимного сообщения нужному адресату, не используя при этом своего телефона или тогда, когда под рукой только компьютер, работающий интернет и открытая консоль.

Во многих фильмах есть момент, когда хакеру, взламывающего человека, нужно отправить сообщение на его номер, чтобы его отвлечь или напугать и в таких ситуациях самое важное, чтобы, когда человек позвонит на номер с которого пришло СМС у вас не загорелся экран смартфона и не заиграла музыка. Упс… Неловкая ситуация. В этой теме мы напишем программу на C++, которая позволит отправить СМС не используя вашего номера, сим-карты и души.

Mr. Robot TV Show
Читать дальше →
Всего голосов 40: ↑32 и ↓8+24
Комментарии21

Информация

В рейтинге
4 685-й
Зарегистрирован
Активность