Как стать автором
Обновить
46
0
Алексей Жихаревич @hippus

например, мне трудно сказать в двух словах, кто я

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

Двадцать задачек (по безумной, восхитительной геометрии)

Время на прочтение 6 мин
Количество просмотров 126K
Предупреждение врача. Остерегайтесь этих головоломок. Побочные эффекты могут включать потерянное послеобеденное время, скомканные волосы и восклицания «А-а-а-х, вот как это делается» настолько громкие, что могут треснуть оконные стёкла.

Несколько месяцев назад я наткнулся в твиттере на математические головоломки Катрионы Ширер. Они сразу меня увлекли: каждая головоломка такая осязаемая, ручной работы, словно просит её решить. И на каждую вы можете легко потратить час времени, а то и больше.

Катриона разрешила мне подвесить вас на эти задачки — и поделилась 20 своими любимыми головоломками. Она даже удовлетворила моё любопытство и восхищение, дав интервью (см. в конце статьи).

Наслаждайтесь. И не говорите, что врач не предупреждал.
Читать дальше →
Всего голосов 54: ↑52 и ↓2 +50
Комментарии 65

AI, практический курс. Глубокое обучение для генерации музыки

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


Это последняя статья в серии обучающих статей для разработчиков в сфере искусственного интеллекта. В ней рассматриваются шаги по созданию модели глубокого обучения для генерации музыки, выбор подходящей модели и предварительная обработка данных, а также описываются процедуры задания, обучения, тестирования и модификации BachBot.
Читать дальше →
Всего голосов 15: ↑12 и ↓3 +9
Комментарии 4

Курс о Deep Learning на пальцах

Время на прочтение 2 мин
Количество просмотров 172K
Я все еще не до конца понял, как так получилось, но в прошлом году я слово за слово подписался прочитать курс по Deep Learning и вот, на удивление, прочитал. Обещал — выкладываю!

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

Материалы курса были опробованы на студентах кафедры АФТИ Новосибирского Государственного Университета, поэтому есть шанс, что по ним действительно можно чему-то научиться.


Читать дальше →
Всего голосов 117: ↑117 и ↓0 +117
Комментарии 31

Искусственный интеллект и нейросети для .NET-разработчиков

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

Искусственный интеллект сейчас является одной из самых обсуждаемых тем и главным двигателем цифровой трансформации бизнеса. Стратегия Microsoft в области ИИ включает в себя демократизацию ИИ для разработчиков, т.е. предоставление простых в использовании фреймворков и сервисов для решения интеллектуальных задач. В этой статье рассказывается, как .NET-разработчики могут использовать возможности ИИ в своих проектах: начиная от готовых когнитивных сервисов, работающих в облаке, заканчивая обучением нейросетей на .NET-языках и запуском сложных нейросетевых моделей на компактных устройствах типа Raspberry Pi.


Прототипом статьи послужил доклад Дмитрия Сошникова на конференции DotNext 2017 Moscow. Дмитрий — технологический евангелист компании Майкрософт, занимается популяризацией современных технологий разработки программного обеспечения среди начинающих разработчиков. Специализируется в области интернета вещей, в разработке универсальных приложений Windows, в области функционального программирования и на платформе .NET (F#, Roslyn). Лично провел несколько десятков хакатонов по всей России, помогал многим студенческим стартапам начать свои проекты в различных областях. Доцент, к.ф.-м.н., ведет занятия в МФТИ и МАИ, член Российской ассоциации искусственного интеллекта, летом — ведущий кафедры компьютерных технологий детского лагеря ЮНИО-Р.


Осторожно, трафик! В этом посте присутствует огромное количество картинок — слайдов и скриншотов с видео в формате 720p.

Читать дальше →
Всего голосов 56: ↑52 и ↓4 +48
Комментарии 9

Нейрокурятник ч.0. Или нейро- без курятника

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

Или как правильно закоптиться в нейросети


image
Курочка снесла яичко. Сам процесс выглядит ужасно. Результат — съедобно. Массовый геноцид кур.

В этой статье будет описано:

  1. Где, как и почему можно получить небольшое качественное самообразование в сфере работы с нейросетями БЕСПЛАТНО, СЕЙЧАС и СОВСЕМ НЕ БЫСТРО;
  2. Будет описана логика рекурсии и будут порекомендованы книги по теме;
  3. Будет описан список основных терминов, которые нужно разобрать на 2-3 уровня абстракции вниз;
  4. Будет приведен ipynb-notebook, который содержит необходимые ссылки и базовые подходы;
  5. Будет немного своеобразного саркастичного юмора;
  6. Будут описаны некоторые простые закономерности, с которыми вы столкнетесь при работе с нейросетями;


Статьи про нейрокурятник
Заголовок спойлера
  1. Вступление про обучение себя нейросетям
  2. Железо, софт и конфиг для наблюдения за курами
  3. Бот, который постит события из жизни кур — без нейросети
  4. Разметка датасетов
  5. Работающая модель для распознавания кур в курятнике
  6. Итог — работающий бот, распознающий кур в курятнике

Всего голосов 38: ↑28 и ↓10 +18
Комментарии 10

Тематическое моделирование репозиториев на GitHub

Время на прочтение 9 мин
Количество просмотров 12K
word cloud
Тематическое моделирование — подраздел машинного обучения, посвященный извлечению абстрактных «тем» из набора «документов». Каждый «документ» представлен мешком слов, т.е. множеством слов вместе с их частотами. Введение в тематическое моделирование прекрасно описано проф. К. В. Воронцовым в лекциях ШАД [PDF]. Самая известная модель ТМ — это, конечно, Латентное размещение Дирихле (LDA). Константину Вячеславовичу удалось обобщить все возможные тематические модели на основе мешка слов в виде аддитивной регуляризации (ARTM). В частности, LDA тоже входит в множество моделей ARTM. Идеи ARTM воплощены в проекте BigARTM.

Обычно тематическое моделирование применяют к текстовым документам. Мы в source{d} (стартап в Испании) перевариваем биг дату, полученную из GitHub репозиториев (и скоро примемся за каждый публично доступный репозиторий в мире). Естественным образом возникла идея интерпретировать каждый репозиторий как мешок слов и натравить BigARTM. В этой статье пойдет речь о том как мы выполнили по сути первое в мире тематическое исследование крупнейшего хранилища open source проектов, что из этого получилось и как это повторить. docker inside!
Читать дальше →
Всего голосов 26: ↑26 и ↓0 +26
Комментарии 3

Криптография и защищённая связь: история первых шифров

Время на прочтение 4 мин
Количество просмотров 26K
Криптография и шифрование тысячи лет используются людьми для защиты своих секретов. С некоторой долей условности эту историю можно начать с Древнего Египта.

Древний Египет


Самый древний текст с элементами криптографии найден в гробнице древнеегипетского вельможи Хнумхотепа II, наследного князя и номарха города Менат-Хуфу, жившего почти 4000 лет назад. Где-то около 1900 г до н.э. писарь Хнумхотепа описывал жизнь своего господина в его гробнице. Среди иероглифов он использовал несколько необычных символов, которые скрывают прямое значение текста. Такой метод шифрования фактически представляет собой шифр подстановки, когда элементы исходного текста заменяются другими элементами по определённым правилам.


Символы из гробницы Хнумхотепа II и их расшифровка

По мере развития египетской культуры замены иероглифов встречались всё чаще. Есть разные версии, почему египтяне использовали такую систему шифрования. По одной версии, они хотели охранить свои религиозные ритуалы от обычных людей. По другой версии, таким образом писцы придавали тексту некий формальный вид, как в наше время юристы используют специфические выражения для замены обычных слов. Как и сейчас, египетская криптография тоже могла быть способом писца впечатлить других людей — показать, что он может изъясняться на более высоком уровне, чем они.
Читать дальше →
Всего голосов 19: ↑18 и ↓1 +17
Комментарии 7

NoSQL – коротко о главном

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


Сергей Туленцев (TextMaster)


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

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

Поговорим также про типичные примеры применения и как не надо применять NoSQL базы данных.
Читать дальше →
Всего голосов 94: ↑92 и ↓2 +90
Комментарии 39

Создание музыкальных интерфейсов

Время на прочтение 8 мин
Количество просмотров 12K
Звонок будильника, характерный писк, с которым открываются дверцы машины — мы постоянно взаимодействуем с техникой посредством звуков. Тем не менее, у многих сохраняется убеждение, что интерфейс транслирует информацию преимущественно через экран, в то время как огромный потенциал языка звуков остается без внимания.



Я занимаюсь дизайном уже 16 лет, а в свободное время пишу музыку. Владение этими навыками утвердило меня в мысли, что интерфейсы должны объединять в себе как минимум звук и изображение. Команда из компании Udemy, где я сейчас работаю, в данный момент разрабатывает новый подход к обучению. В ходе мозгового штурма возникла идея подключить звуковые сигналы к промежуточным экранам. Я увлекся и стал экспериментировать с синтезатором and MIDI-сэмплами, чтобы обеспечить пользователю аудиофидбэк в процессе прохождения и завершения курса. Мы пробовали разные инструменты, аккорды и темп. Сложность заключалась в том, чтобы аудиоконтент осмысленно демонстрировал прогресс и вместе с тем, выражал ценности нашей компании. Какие звуки могут рассказать о нас? В итоге мы остановились на коротких, ненавязчивых мотивах в ля мажор, наигранных на маримбе и арфе.
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 7

Говорит ли ваш код по-русски?

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

Да, это пока не широко распространено. Обработка естественного языка еще недостаточно развита и не интегрирована с разработкой. Также, как нет и удобных способов интегрировать код с поиском или виртуальным помощником (таким как Siri). Голосовые команды имитируют GUI пути (щелчок-открыть-щелчок). Семантический Веб пытается познакомить приложения со смыслом, но все еще не может достигнуть широкой аудитории. Behavior-driven development (BDD) полагается на DSL (предметно-ориентированный язык), который близок к естественному, но этого все еще недостаточно, чтобы научить ваш код говорить.


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


  • который будет адаптирован к естественному языку
  • которому будет легко обучить широкий круг людей
  • который может выступать связующим звеном между естественным языком и компьютерными сущностями
  • который сможет создавать окружение в как можно большем количестве областей программной инженерии
Читать дальше →
Всего голосов 19: ↑14 и ↓5 +9
Комментарии 12

Юникод: необходимый практический минимум для каждого разработчика

Время на прочтение 8 мин
Количество просмотров 114K
Юникод — это очень большой и сложный мир, ведь стандарт позволяет ни много ни мало представлять и работать в компьютере со всеми основными письменностями мира. Некоторые системы письма существуют уже более тысячи лет, причём многие из них развивались почти независимо друг от друга в разных уголках мира. Люди так много всего придумали и оно зачастую настолько непохоже друг на друга, что объединить всё это в единый стандарт было крайне непростой и амбициозной задачей.

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

В статье мы расскажем об основных принципах Юникода и осветим те важные практические вопросы, с которыми разработчики непременно столкнутся в своей повседневной работе.
Читать дальше →
Всего голосов 47: ↑45 и ↓2 +43
Комментарии 52

Программирование&Музыка: понимаем и пишем VSTi синтезатор на C# WPF. Часть 1

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

Занимаясь музыкальным творчеством, я часто делаю аранжировки и записи на компьютере — используя кучу всяких VST плагинов и инструментов. Стыдно признаться — я никогда не понимал, как "накручивают" звуки в синтезаторах. Программирование позволило мне написать свой синтезатор, "пропустить через себя" процесс создания звука.


Я планирую несколько статей, в которых будет пошагово рассказано, как написать свой VST плагин/инструмент: программирование осциллятора, частотного фильтра, различных эффектов и модуляции параметров. Упор будет сделан на практику, объяснение программисту простым языком, как же все это работает. Теорию (суровые выводы и доказательства) обойдем стороной (естественно, будут ссылки на статьи и книги).


Обычно плагины пишутся на C++ (кроссплатформенность, возможность эффективно реализовать алгоритмы), но я решил выбрать более подходящий для меня язык — C#; сфокусироваться на изучении самого синтезатора, алгоритмов, а не технических деталей программирования. Для создания красивого интерфейса я использовал WPF. Возможность использования архитектуры .NET дала возможность библиотека-обертка VST. NET.


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



Предстоит нелегкий путь, если вы готовы — добро пожаловать под кат.


Всего голосов 55: ↑54 и ↓1 +53
Комментарии 20

Обзор децентрализованных крипто-платформ. Часть1: Waves

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

В первом материале цикла речь пойдет об open source блокчейн-платформе Waves, которой к июню этого года в рамках краудфандинговой кампании удалось привлечь финансирование в размере 29 445 BTC, что по действовавшему на тот момент курсу составило более $15 млн.

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

В отличие от базирующегося в Канаде ядра команды Ethereum и немецкой команды Lisk, костяк команды Waves работает в Москве.
Читать дальше →
Всего голосов 37: ↑34 и ↓3 +31
Комментарии 0

Тестирование производительности баз данных при помощи tSQLt и SQLQueryStress

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


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

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

В итоге работа с БД может стать узким местом в производительности нашего приложения.

Чтобы избавить себя от подобного рода проблем, я предлагаю рассмотреть различные аспекты тестирования баз данных. К которым можно отнести нагрузочное тестирование и проверку производительности SQL Server в целом при помощи юнит-тестов.
Подробнее
Всего голосов 19: ↑18 и ↓1 +17
Комментарии 12

Тестирование в F#

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

Введение


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

Далее
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 9

Грамматика арифметики или пишем калькулятор на ANTLR

Время на прочтение 8 мин
Количество просмотров 34K
Когда встает вопрос о том, как вычислить арифметическое выражение, то, наверное, многие думают от обратной польской нотации. Поэтому в данном топике хотелось бы рассказать о том, как можно составить грамматику арифметического выражения и построить по ней лексический и синтаксический анализатор при помощи ANTLR.
Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 14

Бесплатный пакет возможностей для разработчика: Visual Studio Dev Essentials

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


Всем привет!

Бесплатные инструменты разработки от Microsoft, вопреки распространненому мнению, включают в себя не только многофункциональную и мощную IDE Visual Studio 2015 Community, но и ряд других полезных компонентов и продуктов. Например, Visual Studio Team Services имеет свое бесплатное предложение для команд не более 5 человек. Эти и многие другие предложения теперь доступны каждому разработчику по программе Visual Studio Dev Essentials.

Новая программа Visual Studio Dev Essentials, анонсированная в ноябре 2015 года, предоставляет централизованный доступ к основным бесплатным компонентам для разработчика на Visual Studio, а так же предлагает различные инструменты для обеспечения полного цикла создания ПО, включая инструменты и продукты сторонних компаний, например Parallels, Xamarin и т.д.

Так же по программе Dev Essentials в течение нескольких месяцев предоставляется доступ к обучающим материалам, таким, как Pluralsight, Xamarin University и т.д. А также возможность получения приоритетной поддержки на форумах.
Читать дальше →
Всего голосов 20: ↑18 и ↓2 +16
Комментарии 7

Вэнивар Буш: «Как мы можем мыслить» (As We May Think)

Время на прочтение 16 мин
Количество просмотров 16K
«Это не была война ученых, это была война в которой каждый принял участие. Ученые, похоронившие свои старые профессиональные разногласия, в угоду общему делу, многое разделили вместе и многому научились. Это было опьяняюще, работать в эффективных партнерских отношениях. Сейчас, для многих, это подходит к концу.
Что ученые будут делать дальше?»


image

Речь пойдёт об эссе американского инженера Вэнивара Буша «As We May Think», вышедшем в журнале The Atlantic в 1945 году. В нём Буш предсказал наступление информационной эпохи и появление некоторых её проявлений, например, персональных компьютеров, интернета. В статье описывается гипертекст реализованный «в железе».

Эта работа вдохновила и была ориентиром для первопроходцев информационных технологий Джозефа Ликлайдера (компьютерная сеть, разделение времени), Дугласа Энгельбарта (мышка, NLS, GUI, пруф), Теда Нельсона (гипертекст, Xanadu) и пр.

imageВ 1940 году Вэнивар Буш был назначен председателем Национального исследовательского комитета по вопросам обороны США, а с 1941 по 1947 год возглавлял организацию преемника комитета — Бюро научных исследований и развития, занимавшееся координацией усилий научного сообщества (6000 ведущих учёных страны) в целях военной обороны, разработкой ядерного оружия и Манхэттенским проектом.

Биография на Википедии.

  • Советник по науке при президенте Рузвельте.
  • Инициировал разработку дифференциального анализатора, аналогового компьютера, который мог решать дифференциальные уравнения с 18 независимыми переменными.
  • Научный руководитель Клода Шеннона (основатель теории информации) и Фредерика Термана («отец» кремниевой долины).

As We May Think


На Википедии
PDF
Скан самой газеты
Выдержки из статьи (на русском)

Под катом — перевод первой половины статьи.
(за перевод спасибо Алексею Ворсину)
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 1

Учимся у машинного обучения (субботнее, философское)

Время на прочтение 5 мин
Количество просмотров 14K
Машинное обучение втягивает в свою орбиту все новых энтузиастов. Таким энтузиастом стал я несколько лет назад. Я – представитель одной из групп «примкнувших», экономист с практикой работы с данными. Данные – всегда проблема в экономической науке (таковой и осталась, впрочем) и было легко купиться на мантру «большие данные». От больших данных было легко перейти, вслед за Гарнтером в 2016, к машинному обучению.



Чем больше занимаешься этой темой, тем более интересно становится, особенно в свете происходящих предсказаний типа наступления эры роботов, умных машин и т.п. И это не удивительно, что такие машины будут созданы, т.к. эволюция показывает, что человек учится расширять себя, создавая симбиоз человек-машина. Бывает идешь у своего забора, торчит гвоздь. Ох как трудно его забить без молотка. А молотком – раз и там. Поэтому не удивительно, что появляются такие же «помощники» для мозговой деятельности.

По ходу изучения темы, я не переставал думать о том, что, кажется, машинное обучение объясняет, как устроен наш разум. Ниже я перечислю уроки, которые я извлек о человеке, изучая машинное обучение. Не претендую на правоту, приношу извинения, если все это очевидно, буду рад, если материал позабавит, или если будут контр-примеры, чтобы начать (опять) жить верой в «непонятное». Кстати, у Вышки есть курс, где машинное обучение используется для понимания работы мозга.
Читать дальше →
Всего голосов 24: ↑18 и ↓6 +12
Комментарии 15

Настройка TeamCity для новичков

Время на прочтение 9 мин
Количество просмотров 158K
Эта статья в первую очередь пригодится тем, кто использует тот же стек технологий, что и наша команда, а именно: ASP.NET, C#, NUnit, Selenium 2, git, MSBuild. Будут рассмотрены такие задачи, как интеграция с git, сборка C#-проектов, NUnit-тесты (как модульные, так и тесты UI), а также деплой на сервер. Впрочем, наверняка найдётся интересное и для других пользователей, кроме разве что съевших на этом вопросе собаку. Но они опять же смогут обратить внимание на ошибки в статье или что-то посоветовать: например, как оптимизировать фазу деплоя.
Читать дальше →
Всего голосов 39: ↑35 и ↓4 +31
Комментарии 12
1

Информация

В рейтинге
Не участвует
Откуда
Псков, Псковская обл., Россия
Зарегистрирован
Активность