Как стать автором
Обновить
66
0
Дмитрий Ейбоженко @Meroving

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

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

BERT, ELMO и Ко в картинках (как в NLP пришло трансферное обучение)

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

2018 год стал переломной точкой для развития моделей машинного обучения, направленных на решение задач обработки текста (или, что более корректно, обработки естественного языка (Natural Language Processing, NLP)). Быстро растет концептуальное понимание того, как представлять слова и предложения для наиболее точного извлечения их смысловых значений и отношений между ними. Более того, NLP-сообщество продвигает невероятно мощные инструменты, которые можно бесплатно скачать и использовать в своих моделях и пайплайнах. Эту переломную точку также называют NLP’s ImageNet moment, ссылаясь на тот момент несколько лет назад, когда схожие разработки значительно ускорили развитие машинного обучения в области задач компьютерного зрения.


transformer-ber-ulmfit-elmo


(ULM-FiT не имеет ничего общего с Коржиком, но что-то лучше не пришло в голову)

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

Как создавать формы для подписки на email-рассылку: Ошибки и решения

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


В блоге «Печкина» мы уделяем большое внимание теме верстки почтовых рассылок и экспериментам в этой области (например, механикам создания интерактивных писем — раз, два, три). Часто читатели наших постов на Хабре воспринимают почтовые рассылки исключительно в разрезе нежелательного спама, то есть сообщений, которые пользователи получают, даже не подписавшись на это.

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

Эммет Шир: Как проводить интервью с пользователями


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


Cтэнфордский курс CS183B: How to start a startup. Стартовал в 2012 году под руководством Питера Тиля. Осенью 2014 года прошла новая серия лекций ведущих предпринимателей и экспертов Y Combinator:


Первая часть курса
Читать дальше →
Всего голосов 17: ↑13 и ↓4+9
Комментарии0

40 механик для социальных игр

Время на прочтение4 мин
Количество просмотров29K
Разработчик игр Раф Костер (Raph Koster) составил всеобъемлющий список базовых правил, на которых основаны социальные отношения в играх (мультиплеер, параллельная игра и т.д.). Эти правила для разработчиков игры заменяют азбуку. Во многом они пересекаются с принципами игровой механики, которые уже обсуждались на Хабре.

Раф Костер приобрёл известность как создатель дизайна Ultima Online и креативный директор проекта Star Wars Galaxies, после чего основал собственную студию.
Читать дальше →
Всего голосов 102: ↑92 и ↓10+82
Комментарии33

Выходим на Windows phone marketplace: от простого желания до реальных результатов

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

Введение


Если вы матерый программист под платформу .NET и вам неинтересно понастальгировать о временах становления, а также узнать, как там, например, у Яндекса с культурой .NET-разработчиков, а также вы уже зарегистированы в маркетплейсе — эта статья не для вас. Если же вы все тот же матерый программер, но не зарегистированы в маркетплейсе и при этом считаете грабежом отдавать десять процентов прибыли «Софткею», вам будут интересны актуальные данные по регистрации в конце статьи в разделе «Регистрация». Всем остальным: приятного чтения.
Читать дальше →
Всего голосов 66: ↑54 и ↓12+42
Комментарии30

День релизов для Windows Phone 7

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

Сегодня 16 сентября, как и ожидалось, для платформы Windows Phone 7 выпущены финальные версии инструментов разработки.

Итак обо всем по-порядку:

  1. здесь опубликована новость о выходе рекламного Advertising SDK для Windows Phone 7 и упомянутой в нем платформе Ad Exchange;
  2. на сайте MSDN опубликована информация по элементам управления для Windows Phone 7, среди них: долгожданные элементы Pivot и Panorama, Tilt Effect (!), Bing Maps Silverlight, Web Browser;
  3. выпущен в свет новый набор инструментов Silverlight for Windows Phone Toolkit, в который входят новые элементы управления GestureService/GestureListener, ContextMenu, DatePicker, TimePicker, ToggleSwitch, WrapPanel. Все элементы выпущены с открытым исходным кодом под лицензией MS-PL. Кроме того, в комплекте с набором инструментов идет несколько демонстрационных приложений;
  4. на официальном сайте Silverlight опубликовано видео для разработчиков iPhone желающих начать разрабатывать ПО для WP7;
  5. и наконец-то, выпущены финальные инструменты Windows Phone 7 SDK (прямая ссылка), с подробностями об этом можно ознакомиться в этом анонсе.
UPD: доступно обучающее руководство Windows Phone 7 Training Kit for Developers — RTM Refresh.
Всего голосов 82: ↑62 и ↓20+42
Комментарии95

О том, как мы продвигали несуществующий интернет-проект

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

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

Напомню, в упомянутом материале речь шла о том, как мы с помощью интернет-пользователей выбрали название для стартапа – социальной сети для мамочек.
Читать дальше →
Всего голосов 24: ↑14 и ↓10+4
Комментарии23

40 креативных меню (перевод)

Время на прочтение3 мин
Количество просмотров6.9K
Одна из первых вещей, которые делают при планировании нового веб-сайта — это готовят контент, который будет на сайте. Затем разделяют на разделы, а затем на различные уровни навигации.

В результате получается скучный список ссылок.

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

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

image
Читать дальше →
Всего голосов 34: ↑20 и ↓14+6
Комментарии14

Obtics — функциональное реактивное программирование на .Net

Время на прочтение9 мин
Количество просмотров791
Данная статья — это перевод главной страницы проекта Obtics на Codeplex с небольшими изменениями.

Описание проекта


Цель этого проекта – это создание библиотеки, позволяющей применить принципы функционального реактивного программирования (ФРП) в .Net.

В ФРП ваши вычисления автоматически реагируют на изменение данных, используемых в них.

История


Идея проекта возникла во время работы над большим администрирующим приложением, использующим XAML для описания интерфейса. В этом приложении были обширные предметные модели (domain models) данных и отображения (view).

Одной из проблем было то, что довольно трудно определить, когда необходимо обновить представление(view). Простой пересчет всего отображения при каждом действии пользователя является не достаточно хорошей идеей, поскольку это занимает слишком много времени и, к тому же, данные могут быть обновлены каким-то фоновым процессом.
Читать дальше →
Всего голосов 18: ↑10 и ↓8+2
Комментарии4

Как я покупал iPod touch на ebay, и как мне пришло не совсем то…

Время на прочтение5 мин
Количество просмотров39K
Привет, image
Я хочу рассказать интересную историю, как я покупал на Ebay плеер Apple iPod touch 32Gb. О том, как я использовал «снайпер», пользовался посредником и о том какие проблемы возникли. Я уже больше полугода делаю покупки из-за рубежа и особых проблем по поиску того что мне надо не возникло.
image
Читать дальше →
Всего голосов 329: ↑295 и ↓34+261
Комментарии284

Habrahabr, Live Writer и Code Highlighting

Время на прочтение1 мин
Количество просмотров478

Интро



Уже практически полгода я пользуюсь Windows Live Writer в качестве инструмента для написания веб-ориентированных статей. Это отличный инструмент, работающий с большим количеством blogengine’ов, и даже с SharePoint. Но разговор не об этом, в связи с тем, что я разработчик, мне частенько приходится вставлять листинг кода в написанные статьи, на это я и хочу обратить ваше внимание.
Читать дальше →
Всего голосов 21: ↑15 и ↓6+9
Комментарии3

Ice. Льдинка первая

Время на прочтение4 мин
Количество просмотров5.2K
Данным постом, я начинаю серию статей о замечательной технологии Ice (Internet Communications Engine), которую мне довелось использовать при написании научной исследовательской работы в университете. В этой статье я планирую сделать краткий обзор технологии Ice, и показать небольшой практический пример. Сразу хотелось бы отметить, что вся прелесть Ice заключается именно в простоте его использования на практике.

Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии6

L-Systems — математическая красота растений

Время на прочтение7 мин
Количество просмотров40K
Красота растений привлекала внимание математиков веками. Активнее всего изучались интересные геометрические свойства растений, такие как симметрия листьев относительно центральной оси, радиальная симметрия цветов, и спиральное расположение семечек в шишках. «Красота связана с симметрией» (H. Weyl. Symmetry). Во время роста живых организмов, особенно растений, можно четко видеть регулярно повторяющиеся многоклеточные структуры. В случае составных листьев, например, маленькие листочки, которые являются частью большого взрослого листа, имеют ту же форму, что весь лист имел на раннем этапе формирования.

В 1968г. Венгерский биолог и ботаник Аристид Линденмайер (Aristid Lindenmayer) предложил математическую модель для изучения развития простых многоклеточных организмов, которая позже была расширена и используется для моделирования сложных ветвящихся структур — разнообразных деревьев и цветов. Эта модель получила название Lindenmayer System, или просто L-System.

Для тех, кто в теме и не хочет все читать целиком, проскрольте вниз, есть вопрос.
Дальше интереснее
Всего голосов 87: ↑85 и ↓2+83
Комментарии33

Брутфорс cookies, забыли?

Время на прочтение2 мин
Количество просмотров3.2K
Практически на всех более менее крупных проектах имеется система авторизации пользователей по введенному логину и паролю. Человек вводит логин и пароль и если они соответствуют данным в базе, то человек считается авторизованным, для него генерируется сессия и записывается в кукис. Наверное все вы слышали про брутфорс. Многие помнят о нем и реализуют защиту в виде ограниченных попыток ввода логина/пароля с некоторым интервалом. Но практически все забывают о том, что сессию, запрятанную в кукисе можно также брутфорсить. Более того, при аутентификации вы должны знать логин и пароль, а тут только сессию. Да и шаблон сессии (количество символов, какие символы) злоумышленник может посмотреть, зарегистрировавшись на портале.

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

1) Поставьте обязательную привязку к IP.
Если значение сессии из кукиса равно значению сессии из базы, но IP пользователя отличается от IP пользователя записанного в базе (при удачной авторизации), то выводите авторизационную форму с запросом логина и пароля.
Разумеется нужно дать пользователям возможность эту опцию отключить, т.к. иногда провайдеры меняют внешние IP (при натинге) и за полчаса пользователя может несколько раз кикнуть по такому алгоритму. Но по умолчанию опция должна быть включена! Это сильно ограничит взломщика.

2) Сессия должна быть как можно больше, ее длина должна варьироваться и состоять она должна из всех возможных символов.
Чем короче сессия, тем меньше возможных ее вариаций и тем больше вероятность подбора существующей сессии.
При постоянной длине, взломщик, зарегистрировав себе аккаунт, легко определит под какую длину нужно настроить программу — брутфорс, что минимизирует его время.
Т.к. взломщик может зарегистрироваться на портале, он может и собрать статистику по сессиям, из каких символов она состоит. Если он видит, что сессия состоит только из строчной латиницы, то внеся эти правила в свою программу он существенно сэкономит время подбора. Добавив только один дополнительный символ вы существенно увеличиваете время взлома!

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

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

Надеюсь, что эта информация будет полезна веб разработчикам.
Всего голосов 15: ↑11 и ↓4+7
Комментарии16

Программируем Windows 7: Taskbar. Часть 3 – OverlayIcon

Время на прочтение2 мин
Количество просмотров1.2K
На этот раз мы поговорим о другой особенности панели задачи Windows 7 – OverlayIcon. Эта возможность исключительно полезна для приложений, которые обладают каким-то состоянием с точки зрения пользователя.

К таким приложениям можно отнести программы для обмена мгновенными сообщениями (IM). Например, Windows Live Messanger активно использует эту возможность. Например, если мы откроем WLM и будем изменять состояние, то можно увидеть как оно отображается на панели задач.



Читать дальше →
Всего голосов 76: ↑59 и ↓17+42
Комментарии48

Программируем Windows 7: Taskbar. Часть 4 – Custom OverlayIcon

Время на прочтение2 мин
Количество просмотров1.4K
Ранее я писал о том, как можно добавить значок состояния для вашего приложения в панели задач Windows 7. Мы рассматривали статические изображения для этих целей. Напомню, что для этого мы использовали метод SetTaskbarOverlayIcon, в параметрах которого передается ссылка на Icon.

Однако, один из читателей блога предложил другой сценарий, в котором на месте дополнительной иконки отображается какая-то информация. К примеру, это может быть текущая скорость закачки, если ваше ПО что-то загружает по сети.
Читать дальше →
Всего голосов 65: ↑52 и ↓13+39
Комментарии15

Почему я не стану успешным

Время на прочтение3 мин
Количество просмотров6.4K
На протяжении некоторого времени я активно читал книжки и статьи про различные методы достижения успеха. Материалы эти были совершенно разные: брошюры «как изменить себя за 10 дней», статьи на некоторых интернет-ресурсах, книжки из серии «помоги себе сам», простенькие учебники по психологии, записки успешных людей.

Прочитав, осознав, и кое-что попробовав, я пришел к выводу: я не стану успешным.

Почему?
Читать дальше →
Всего голосов 314: ↑258 и ↓56+202
Комментарии421

Учимся писать: Быть или не быть собой

Время на прочтение2 мин
Количество просмотров889
Читая главы «Style» и «The Audience» книги «On Writing Well» наткнулся на хорошее толкование мысли, которая вертелась в моей голове. Мысль касается тонкого различия и баланса между соблюдением принципов писательства для повышения удобочитаемости текста и тем, что нужно оставаться самим собой.

Начинающие писатели могут не замечать этого различия и сомневаться в том, где они слишком сильно следуют принципам и перестают быть самими собой. Надеюсь, эта статья поможет найти баланс и развеять эти сомнения.
Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии19

Программируем Windows 7: Taskbar. Часть 2 — ThumbButtons

Время на прочтение3 мин
Количество просмотров1.5K
Недавно я рассказывал о том, как в Windows 7 можно отображать прогресс выполнения операции прямо в панели задач Windows. На этот раз мы продолжим разговаривать про возможности Windows 7 для программиста и рассмотрим возможность добавления собственных кнопок управления в preview окна.

Читать дальше →
Всего голосов 100: ↑79 и ↓21+58
Комментарии47

Программируем Windows 7: Taskbar. Часть 1 — Progress Bar

Время на прочтение3 мин
Количество просмотров8K
Новая операционная система Windows 7 содержит большое количество нововведений и улучшений. Эти улучшения касаются безопасности, производительности, надежности и т.д. Серьезное внимание также уделено и пользовательскому интерфейсу. Для разработчиков ПО на платформе Windows новая ОС также представляет интерес, т.к. в ней содержатся элементы, на которые можно воздействовать программно. В течении нескольких постов мы поговорим об основных нововведениях и программной модели для них.

Читать дальше →
Всего голосов 122: ↑105 и ↓17+88
Комментарии75

Информация

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