User
Как на самом деле устроена торговля на бирже: Простой алгоритм (часть 2)

Мы продолжаем цикл статей, посвященный тому, как устроен высокочастотный трейдинг простым и понятным языком. В прошлом материале бывший квант Марк Стуккио рассказывал о механике процесса в целом. В этот раз поговорим о понятиях «раскрытия цены» и о ликвидности.
Нечёткий поиск в тексте и словаре
Введение
Алгоритмы нечеткого поиска (также известного как поиск по сходству или fuzzy string search) являются основой систем проверки орфографии и полноценных поисковых систем вроде Google или Yandex. Например, такие алгоритмы используются для функций наподобие «Возможно вы имели в виду …» в тех же поисковых системах.
В этой обзорной статье я рассмотрю следующие понятия, методы и алгоритмы:
- Расстояние Левенштейна
- Расстояние Дамерау-Левенштейна
- Алгоритм Bitap с модификациями от Wu и Manber
- Алгоритм расширения выборки
- Метод N-грамм
- Хеширование по сигнатуре
- BK-деревья
Прощай, объектно-ориентированное программирование

Я в течение десятилетий программировал на объектно-ориентированных языках. Первым из них стал С++, затем был Smalltalk, и наконец .NET и Java. Я фанатично использовал преимущества наследования, инкапсуляции и полиморфизма, этих трёх столпов парадигмы объектно-ориентированного программирования. Мне очень хотелось воспользоваться обещанным повторным использованием и прикоснуться к мудрости, накопленной моими предшественниками в этой новой и захватывающей сфере. Меня волновала сама мысль о том, что я могу мапить объекты реального мира в классы и думал, что весь мир можно аккуратно разложить по местам.
Я не мог ошибаться сильнее.
О ценообразовании для инди-игр

(Примечание переводчика: статья была написана в феврале 2015 года, но, как мне кажется, не утратила актуальности.)
На этой неделе мы объявили дату выпуска и стоимость Axiom Verge. Я работал над этой игрой вместе с Томом около шести месяцев, и если уж я настолько рад выпуску игры, то могу только догадываться, насколько в восторге Том, работавший над ней в одиночку пять лет!
Большинство отзывов были положительными, но у пары людей вызвали вопросы выбор цены $19,99. На самом деле я пишу этот пост в блог не затем, чтобы оправдать стоимость. Скорее я сосредоточусь на размышлениях о процессе выбора цены, потому что многие разработчики на протяжении многих лет спрашивали у меня совета о том, как подходить к ценообразованию для их игр.
Математика для искусственных нейронных сетей для новичков, часть 1 — линейная регрессия
Оглавление
Часть 1 — линейная регрессия
Часть 2 — градиентный спуск
Часть 3 — градиентный спуск продолжение
Введение
Этим постом я начну цикл «Нейронные сети для новичков». Он посвящен искусственным нейронным сетям (внезапно). Целью цикла является объяснение данной математической модели. Часто после прочтения подобных статей у меня оставалось чувство недосказанности, недопонимания — НС по-прежнему оставались «черным ящиком» — в общих чертах известно, как они устроены, известно, что делают, известны входные и выходные данные. Но тем не менее полное, всестороннее понимание отсутствует. А современные библиотеки с очень приятными и удобными абстракциями только усиливают ощущение «черного ящика». Не могу сказать, что это однозначно плохо, но и разобраться в используемых инструментах тоже никогда не поздно. Поэтому моей первичной целью является подробное объяснение устройства нейронных сетей так, чтобы абсолютно ни у кого не осталось вопросов об их устройстве; так, чтобы НС не казались волшебством. Так как это не математический трактат, я ограничусь описанием нескольких методов простым языком (но не исключая формул, конечно же), предоставляя поясняющие иллюстрации и примеры.
Цикл рассчитан на базовый ВУЗовский математический уровень читающего. Код будет написан на Python3.5 с numpy 1.11. Список остальных вспомогательных библиотек будет в конце каждого поста. Абсолютно все будет написано с нуля. В качестве подопытного выбрана база MNIST — это черно-белые, центрированные изображения рукописных цифр размером 28*28 пикселей. По-умолчанию, 60000 изображений отмечены для обучения, а 10000 для тестирования. В примерах я не буду изменять распределения по-умолчанию.
5 организаций, которые дарят студентам ВУЗ'ов платные инструменты для разработки

Привет Хабр!
На сегодняшний день многие организации устраивают для студентов своеобразные «акции», позволяющие получить от них бесплатный софт, либо какие-то бонусы и привилегии (а иногда и не от самих организаций, а от их партнеров).
Итак, если ты читаешь этот пост, являешься студентом ВУЗа и у тебя есть желание поучаствовать в программе (возможно даже не одной) бесплатного доступа к различному софту и другим плюшкам от крупных организаций — прошу под кат.
Результаты и разбор задач финала Яндекс.Алгоритма 2016
29 июля в Минске прошёл финальный раунд чемпионата по программированию Яндекс.Алгоритм. Победителем стал Егор EgorK Куликов — выпускник мехмата МГУ и бывший сотрудник Яндекса. Второе место — у Николы Йокича из Швейцарской высшей технической школы Цюриха. В составе команды школы он был финалистом ACM ICPC. Третье место занял Макото Соэдзима, выпускник Университета Токио. Геннадий Короткевич, победитель двух предыдущих Алгоритмов, занял шестое место.
Как и в прошлые годы, мы публикуем подробный разбор финальных задач. 31 июля мы впервые провели зеркало Алгоритма. Поэтому, чтобы не испортить его участникам удовольствие, не стали публиковать ответы сразу же после финала, как мы это обычно делаем.
В этом году мы получили на четверть больше заявок на участие в Алгоритме, чем год назад, — 4578. Среди участников пока немного девушек — 372. В списке зарегистрировавшихся есть представители 70 стран; больше всего соревнующихся — из России, Индии, Украины, Беларуси, Казахстана, США и Китая. В финале приняли участие 25 человек.
Задачи для Яндекс.Алгоритма составляют сотрудники Яндекса и приглашённые эксперты, среди которых — финалисты и призёры ACM ICPC. По условиям состязания, участники могут использовать разные языки программирования. Статистика Яндекс.Алгоритма показывает, что самый популярный язык — С++; его выбрали более двух тысяч человек. Второе место поделили Python и Java.
Важные уроки о user experience, полученные при разработке боевого HUD для игры Dreadnought
Предисловие
Пользовательские интерфейсы (UI) для игр с экшн-геймплеем, таких как Overwatch и Battlefield, уникальны тем, что обязаны предоставлять игроку всю критически важную игровую информацию, в то же время не отвлекая его от игрового процесса. В этой статье я опишу уроки о user experience, полученные мной при создании боевого HUD для игры Dreadnought. По большому счёту, это эссе подробно рассматривает способы модификации широко известных подходов к анализу паттернов user experience, таких как закон Фиттса, для их использования в HUD экшн-игр.
Взлёт и падение (в основном падение) Yahoo

Недавно компания Yahoo сообщила, что продаёт сотовому оператору Verizon свои основные профильные активы за 4,8 млрд. долларов. Это лишь немногим больше, чем Verizon в прошлом году заплатила за AOL — другую потерпевшую неудачу компанию эпохи взлёта интернета.
Рыночная капитализация Yahoo в 2000 году составляла 125 млрд. долларов. Следующие 16 лет она постоянно снижалась, в основном из-за бездействия и упущенных возможностей.
Можно составить целый MBA-курс, исследуя все грубые стратегически ошибки, которые сделала Yahoo. Я сэкономлю вам некоторую сумму на обучение и дам краткую справку прямо здесь, за 5 минут.
Почему одни продвигаются (ну а другие нет)
Успех не линеен. Терпение и труд, конечно, всё перетрут, но сами по себе они не обеспечивают дальнейшего логического развития.
Заметьте, как часто люди, ужасно выполняющие свою работу, не теряют её, – а даже получают повышение! – пока остальные находятся в ступоре или уходят из-за того, что не могут продвинуться. Здесь имеют место несколько факторов. Даже прежние заслуги не имеют такого определяющего значения, так что все награды можно поставить на полочку.
Как думать на SQL?
Надо “SELECT * WHERE a=b FROM c
” или “SELECT WHERE a=b FROM c ON *
” ?
Если вы похожи на меня, то согласитесь: SQL — это одна из тех штук, которые на первый взгляд кажутся легкими (читается как будто по-английски!), но почему-то приходится гуглить каждый простой запрос, чтобы найти правильный синтаксис.
А потом начинаются джойны, агрегирование, подзапросы, и получается совсем белиберда. Вроде такой:
SELECT members.firstname || ' ' || members.lastname
AS "Full Name"
FROM borrowings
INNER JOIN members
ON members.memberid=borrowings.memberid
INNER JOIN books
ON books.bookid=borrowings.bookid
WHERE borrowings.bookid IN (SELECT bookid
FROM books
WHERE stock>(SELECT avg(stock)
FROM books))
GROUP BY members.firstname, members.lastname;
Буэ! Такое спугнет любого новичка, или даже разработчика среднего уровня, если он видит SQL впервые. Но не все так плохо.
Легко запомнить то, что интуитивно понятно, и с помощью этого руководства я надеюсь снизить порог входа в SQL для новичков, а уже опытным предложить по-новому взглянуть на SQL.
Лучшие пакеты для машинного обучения в R, часть 2
Сейчас в CRAN доступен 8341 пакет. Кроме CRAN, есть и другие репозитории с большим количеством пакетов. Синтаксис для установки любого из них прост:
install.packages(“Name_Of_R_Package”)
.Вот несколько пакетов, без которых вы вряд ли обойдетесь, как специалист по анализу данных:
dplyr, ggplot2, reshape2
. Безусловно, это не полный список. В этой статье мы подробнее остановимся на пакетах, применяемых в машинном обучении.Эффективное использование Github

Github — важная часть жизни современного разработчика: он стал стандартом для размещения opensource-проектов. В «2ГИС» мы используем гитхаб для разработки проектов web-отдела и хостинга проектов с открытым кодом.
Хотя большинство из нас пользуются сервисом практически каждый день, не все знают, что у него есть много фишек, помогающих облегчить работу или рутинные операции. Например, получение публичного ключа из URL; отслеживание того, с каких сайтов пользователи приходят в репозиторий; правильный шаринг ссылок на файлы, которые живут в репозиториях гитхаба; горячие клавиши и тому подобное. Цель этой статьи — рассказать о неочевидных вещах и вообще о том, что сделает вашу работу с гитхабом продуктивнее и веселее (я не буду рассматривать здесь работу с API гитхаба, так как эта тема заслуживает отдельной статьи).
Содержание
- Трюки с URL
- Горячие клавиши
- Тикеты и пулл-реквесты
- Github markdown
- Аккаунт
- Работа с репозиториями
- Поиск кода
- Командная строка и Github
- User scripts
- Github-вандализм
- Дополнительные Github-ресурсы
- Полезные ссылки
Как изучать языки программирования

Я ни в коей мере не утверждаю, что указанный мной способ лучший из возможных. Более того, я вовсе не уверен в том, что он вообще правильный. Возможно, если бы моим первым языком был не Си, а какой-либо из функциональных языков или ассемблеров, моё мнение было бы иным, и жизнь моя сложилось бы совсем иначе. Так что весь нижеизложенный материал воспринимайте со здоровым скептицизмом.
2D магия в деталях. Часть первая. Свет

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

Скорость, с которой мы что-то познаем, способна определить качество нашей жизни.
Бесчисленные эксперты в области обучения и исследователи выявили, что изучить что-то на порядок быстрее среднего расчетного времени возможно. Все дело лишь в соблюдении верных принципов. Итак, я не обещаю никаких чудес. Вам придется потом и кровью зарабатывать право попасть туда, куда вы стремитесь.
Но если вы решите серьезно отнестись к этим 6 приемам и внедрить их в учебный процесс, то окажетесь там гораздо быстрее.
Нейронные сети на Javascript

Идея для написания этой статьи возникла прошлым летом, когда я слушал доклад на конференции BigData по нейронным сетям. Лектор «посыпал» слушателей непривычными словечками «нейрон», «обучающая выборка», «тренировать модель»… «Ничего не понял — пора в менеджеры», — подумал я. Но недавно тема нейронных сетей все же коснулась моей работы и я решил на простом примере показать, как использовать этот инструмент на языке JavaScript.
Мы создадим нейронную сеть, с помощью которой будем распознавать ручное написание цифры от 0 до 9. Рабочий пример займет несколько строк. Код будет понятен даже тем программистам, которые не имели дело с нейронными сетями ранее. Как это все работает, можно будет посмотреть прямо в браузере.
Делаем игру 2048 на AngularJS
В этой статье мы вместе построим клон этой игры при помощи фреймворка AngularJS. По ссылке можно посмотреть демонстрацию конечного результата.
Information
- Rating
- Does not participate
- Registered
- Activity