Pull to refresh
66
0
Дмитрий Ейбоженко @Meroving

User

Send message

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

Reading time 11 min
Views 45K

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


transformer-ber-ulmfit-elmo


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

Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Comments 2

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

Reading time 4 min
Views 13K


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

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

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


Reading time 18 min
Views 14K


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


Первая часть курса
Читать дальше →
Total votes 17: ↑13 and ↓4 +9
Comments 0

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

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

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

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

Reading time 11 min
Views 8.8K

Введение


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

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

Reading time 1 min
Views 540
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.
Total votes 82: ↑62 and ↓20 +42
Comments 95

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

Reading time 7 min
Views 1K
Статья вторая

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

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

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

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

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

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

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

image
Читать дальше →
Total votes 34: ↑20 and ↓14 +6
Comments 14

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

Reading time 9 min
Views 784
Данная статья — это перевод главной страницы проекта Obtics на Codeplex с небольшими изменениями.

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


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

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

История


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

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

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

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

Habrahabr, Live Writer и Code Highlighting

Reading time 1 min
Views 475

Интро



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

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

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

Читать дальше →
Total votes 17: ↑15 and ↓2 +13
Comments 6

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



Читать дальше →
Total votes 76: ↑59 and ↓17 +42
Comments 48

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

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

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

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

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

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

Почему?
Читать дальше →
Total votes 314: ↑258 and ↓56 +202
Comments 421

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

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

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

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

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

Читать дальше →
Total votes 100: ↑79 and ↓21 +58
Comments 47

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

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

Читать дальше →
Total votes 122: ↑105 and ↓17 +88
Comments 75

Information

Rating
Does not participate
Location
Санкт-Петербург и область, Россия
Works in
Date of birth
Registered
Activity