Pull to refresh
8
0
Евгений Набоков @enabokov

Прпограммист веб-сервисов

Send message

Машинное обучение на C#: введение в ML.NET

Reading time22 min
Views42K


ML.NET претендует на звание самой мощной библиотеки для машинного обучения на платформе .NET. Так ли это на самом деле? На вопрос отвечает Джефф Просайз.

Джефф Просайз — один из создателей компании Wintellect, коллега по цеху знаменитого Джеффри Рихтера, автор более девяти книг и множества статей по разработке приложений, сейчас работает с Azure и разрабатывает различные AI-решения.

Под катом перевод и видео доклада Джеффа с конференции DotNext 2019 Moscow в оригинале.

Видео лекций Computer Science клуба

Reading time1 min
Views5.2K
Computer Science клуб — это открытые лекции по компьютерным наукам в Санкт-Петербургском отделении Математического института РАН. Филиалы CS клуба действуют в Новосибирске и Казани.

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

image

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

Как я на спор развернул двусвязный список за O(1)

Reading time7 min
Views72K

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

Вернее, не так.

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

  • Почему по умолчанию все решают задачу именно так?
  • Можно ли сделать лучше?
Читать дальше →

8 учебных проектов

Reading time3 min
Views149K
«Мастер совершает больше ошибок, чем новичок — попыток»

Предлагаем 8 вариантов проектов, которые можно сделать «по фану», дабы получить реальный опыт разработки.

Проект 1. Клон Trello


image


Клон Trello от Indrek Lasn .

Что вы освоите:

  • Организация маршрутов обработки запросов (Routing).
  • Drag and drop.
  • Как создавать новые объекты (доски, списки, карточки).
  • Обработка и проверка входных данных.
  • Со стороны клиента: как использовать локальное хранилище, как сохранять данные в локальном хранилище, как читать данные из локального хранилища.
  • Со стороны сервера: как использовать базы данных, как сохранять данных в базе, как читать данные из базы.

Тут пример репозитория, сделанного на React+Redux.
Читать дальше →

Как разработчик, я никогда не знаю себе цену, потому что её нет. Но вся система построена так, как будто она есть

Reading time11 min
Views105K


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

Читать дальше →

Курс лекций «Основы цифровой обработки сигналов»

Reading time12 min
Views204K
Всем привет!

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

Большая часть обучающего материала для наглядного и интерактивного представления реализована с использованием Jupyter Notebook. Предполагается, что читатель имеет базовые знания из области высшей математики, а также немного владеет языком программирования Python.


Читать дальше →

Математики обнаружили идеальный способ перемножения чисел

Reading time5 min
Views145K

Разбивая крупные числа на мелкие, исследователи превысили фундаментальное математическое ограничение скорости



Четыре тысячи лет назад жители Вавилонии изобрели умножение. А в марте этого года математики усовершенствовали его.

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

«Все думают, что метод умножения, который они учили в школе, наилучший, но на самом деле в этой области идут активные исследования», — говорит Йорис ван дер Хувен, математик из Французского национального центра научных исследований, один из соавторов работы.
Читать дальше →

Что позволено Jupyter?

Reading time12 min
Views9.6K
Наша история началась с, казалось бы, несложной задачи. Нужно было настроить аналитические инструменты для data science специалистов и просто аналитиков данных. С таким заданием к нам обратились коллеги из подразделений розничных рисков и CRM, где исторически высока концентрация data science-специалистов. У заказчиков было простое желание —  писать код на Python, импортировать продвинутые библиотеки (xgboost, pytorch, tensorflow и пр.) и запускать алгоритмы на данных, поднятых с hdfs-кластера.



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

Мат слоном и конём. Метод TWIX

Reading time13 min
Views77K

Ушенина (на фото слева, играет белыми) — Гиря (на фото справа, играет чёрными). Ничья.
Гран-При среди женщин, 4-й тур
6 мая 2013 года, Женева


В 2013 ходу российский гроссмейстер Ольга Гиря в безнадёжной позиции, вместо того, чтобы сдаться, применила нестандартное читерство.

Имея на две фигуры меньше, она нашла остроумный способ добиться ничьей с чемпионкой мира (на тот момент) Анной Ушениной. Ольга просто разменяла всё, что только можно и свела партию к эндшпилю «король + слон + конь VS король». Украинская шахматистка полсотни ходов безуспешно пыталась заматовать вражеского короля, после чего результат партии был признан ничейным.

Обидная ничья существенно повлияла на результат Ушениной в турнире. Она заняла 5-6 место, а выигрыш позволил бы разделить бронзу (3-5 место).
А если бы знала метод TWIX - всё было бы иначе

Краткое введение в SIM-карты

Reading time6 min
Views230K
Когда на вопрос «кем вы работаете?» я отвечал «разработчиком ПО для SIM-карт», даже технически подкованные люди частенько удивлялись. Многие думают, что SIM-карта это «что-то типа флешки».

В этой статье я постараюсь кратко рассказать что такое SIM-карта (и смарт-карты в общем), зачем она нужна и что у нее внутри.

На самом деле SIM-карта — это частный случай контактной смарт-карты с микропроцессором. По сути, представляет из себя достаточно защищенный микрокомпьютер с CPU, ROM (опционально), RAM и NVRAM (которая выступает в качестве аналога жесткого диска в PC), с аппаратными генераторами случайных чисел и аппаратной реализацией крипто-алгоритмов.

В некотором приближении архитектуру микропроцессорной смарт-карты можно представить так:
Архитектура смарт-карты

Читать дальше →

Как Денис Крючков выкупил Хабр у Mail.ru

Reading time6 min
Views297K
Денис Крючков (deniskin) рассказал Roem.ru о том, что он смог выкупить акции «Тематических медиа» у Mail.Ru Group и теперь сможет управлять компанией единолично. Мы думаем, что это одно из самых эпохальных событий в истории «Хабрахабра» и по такому случаю у Дениса стоит взять интервью



— Привет, позволь тебя поздравить. Как у тебя получилось выкупить долю Mail.ru в «Хабре»? Никто же не будет продавать курицу, несущую золотые яйца
— Спасибо! Да, конечно, для этого пришлось довольно долго искать деньги.
И где же их Денис нашёл?

История игрушки. Поле Чудес

Reading time11 min
Views302K
Случилось это в городе, закрытом от шпионов, цыган и бед социалистической экономики. В Советском Союзе было ровно 10 таких городов, повязанных атомным секретом.

Жизнь мальчиков с математическими способностями в атомных городах была предопределена — школа с пятерками по алгебре и геометрии, мех-мат столичного университета, возвращение в систему, квартира через год, кандидатская степень в 40 лет, ВАЗ 2103 к пятидесяти годам, звание доктора, гараж, шесть соток, четыре квадратных метра.

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

Pole Chudes для iPhone

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

Читать дальше →

Как работает метод главных компонент (PCA) на простом примере

Reading time10 min
Views292K


В этой статье я бы хотел рассказать о том, как именно работает метод анализа главных компонент (PCA – principal component analysis) с точки зрения интуиции, стоящей за ее математическим аппаратом. Максимально просто, но подробно.
Читать дальше →

Почему прокрастинаторы прокрастинируют (откладывают дела «на потом») и как побороть прокрастинацию

Reading time14 min
Views297K
image

pro-cras-ti-na-tion |prəˌkrastəˈnāSHən, prō-|
существительное
задержка или откладывание чего-либо: первый совет — избегайте прокрастинации.

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

Избегать прокрастинации. Так элегантно в своей простоте…

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

Нет, «избегайте прокрастинации» — хороший совет только для не настоящих прокрастинаторов. Для тех, кто говорит «Я захожу на Facebook несколько раз в день на работе. Я такой прокрастинатор!». Это те люди, которые будут говорить настоящему прокрастинатору «Не откладывай дела на потом и у тебя все будет хорошо».

Дело в том, что ни словари ни не настоящие прокрастинаторы не понимают, что для настоящих прокрастинаторов прокрастинация — не дополнительная опция. Это что-то, что они не знают как не делать.
Читать дальше →

10 неочевидных преимуществ использования Rust

Reading time12 min
Views40K

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



Все это уже хорошо известно всем, кто хоть немного следит за развитием современных технологий программирования. Но что если вы не системный программист, да и многопоточного кода в ваших проектах не много, но вас все же привлекает производительность Rust'а. Получите ли вы какие-то дополнительные преимущества от его использования в прикладных задачах? Или все, что он вам даст дополнительно — это суровую борьбу с компилятором, который будет заставлять вас писать программу так, чтобы она неотступно следовала правилам языка по заимствованию и владению?


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

Читать дальше →

Книга «Программирование для детей. Мои первые программы на Scratch»

Reading time1 min
Views5.1K
image

Всем привет! Мы издали книгу для младших школьников о программировании в простой бесплатной и русскоязычной среде визуального программирования Scratch. Подробности внутри.
Читать дальше →

Python для ребёнка: выбор самоучителя

Reading time8 min
Views124K
Python для ребёнка: выбор книги для самостоятельного изучения языка в 2018 году

Мой сын заинтересовался программированием на Python, и у меня появился вопрос – есть ли сегодня возможность купить книгу для ребёнка в качестве самоучителя? Самоучители для взрослых детям не подходят – мотивации продираться самостоятельно через учебники программирования и у взрослых не всегда хватает, а у ребёнка скучное «академическое» изложение вообще может убить весь интерес к предмету на пятой странице.

К счастью, на момент написания статьи (конец 2018 года) выбор оказался весьма широк – есть как переводные, так и отечественные книги, нацеленные на детскую и подростковую аудиторию. В ходе поиска, отсеяв книги по Python 2, я смог найти 10 свежих книг по Python 3 для детей, изучил каждую их них вживую в офлайн-магазинах, и результатами своих изысканий хочу поделиться с вами в статье под катом.
Читать дальше →

4 видео о прокрастинации

Reading time1 min
Views21K
8 лет занимаюсь психологией. Начинал с личной эффективности, продуктивности, gtd. Даже написал книжку.

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

Понять статистику нам мешает наше нежелание меняться

Reading time5 min
Views23K

Исследование показало, что люди предпочитают сложные методы, потому что привыкли к ним



Незаконное обвинение Салли Кларк в убийстве двоих её сыновей – знаменитый пример неправильного использования статистики в суде

В 1999 году британский солиситор Салли Кларк попала под суд за убийство двух своих малолетних сыновей. Она утверждала, что оба они стали жертвами синдрома внезапной младенческой смерти. Эксперт, свидетель обвинения, Рой Мидоу, утверждал, что шансы на то, что этот синдром заберёт жизни двух младенцев из богатой семьи, составляли 1 к 73 млн, что уравнивало их с шансом ставить на скачках на лошадь с коэффициентом 80 к 1 четыре года подряд и всё время выигрывать. Жюри присяжных приговорило Кларк к пожизненному заключению.
Читать дальше →

Укрощаем UEFI SecureBoot

Reading time11 min
Views180K
Данные обещания надо выполнять, тем более, если они сделаны сначала в заключительной части опуса о безопасности UEFI, а потом повторены со сцены ZeroNights 2015, поэтому сегодня поговорим о том, как заставить UEFI SecureBoot работать не на благо Microsoft, как это чаще всего настроено по умолчанию, а на благо нас с вами.
Если вам интересно, как сгенерировать свои собственные ключи для SecureBoot, как установить их вместо стандартных (или вместе с ними), как подписать ваш любимый EFI-загрузчик, как запретить загрузку неподписанного или подписанного чужими ключами кода, как выглядит интерфейс для настройки SecureBoot у AMI, Insyde и Phoenix и почему это, по большому счету, совершенно не важно — добро пожаловать под кат, но опасайтесь большого количества картинок и длинных консольных команд.
Войти в клетку

Information

Rating
Does not participate
Location
British Columbia, Канада
Date of birth
Registered
Activity

Specialization

Software Developer, Frontend Developer
Senior
C#
TypeScript
Rust