Как стать автором
Обновить
0
0

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

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

Российский fair use: где лежит граница копирайта?

Время на прочтение3 мин
Количество просмотров8.6K
Снова полыхает обсуждение авторских прав. Люди порицают авторские права за их тотальность и глухоту. Давайте посмотрим, что всё-таки можно делать в России. Какой ты, российский fair use?

Книги
Да-да, иногда можно ставить портрет на обложку!
(РИА Новости, Wikimedia Commons, CC-BY-SA)


В законе много запретов, однако сделан и целый ряд льгот. Предлагаю путеводитель по этим льготам.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+34
Комментарии46

saneex.c: try/catch/finally на базе setjmp/longjmp (C99) быстрее стандартных исключений C++¹

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

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




Меня всегда восхищала стандартная библиотека Си, да и сам Си — при всей своей минималистичности от них так и веет духом тех самых первых красноглазиков хакеров. В черновике первого официального стандарта (ANSI C, он же C89, он же ANS X3.159-1989, он же, позднее, C90 и IEC 9899:1990) определяется 145 функций и макросов, из них около 25 — это вариации (ввиду отсутствия в языке перегрузок), а 26 чисто математических. K&R во второй редакции² приводят 114 функций (плюс математические), считая остальные за экзотику. В черновике³ C11 функций уже 348, но больше сотни — математика, а еще штук 90 это «перегрузки». А теперь посмотрим на Boost, где одних только библиотек — 160. Чур меня…


И среди этой сотни-полутора функций всегда были: обработка сигналов, вариативные функции (которые до интерпретируемого PHP дошли 25 лет спустя, а в Delphi, бурно развивавшемся одно время, их нет до сих пор) и порядка 50 строковых функций вроде printf() (м-м-м… JavaScript), strftime() (…) и scanf() (дешевая альтернатива регуляркам).



А еще всегда были setjmp()/longjmp(), которые позволяют реализовать привычный по другим языкам механизм исключений, не выходя за рамки переносимого Си. Вот о них и поговорим — Quake World, стеки, регистры, ассемблеры и прочая матчасть, а вишенкой будет занятная статистика (спойлер: Visual Studio непостоянна, как мартовский заяц, а throw saneex.c в два раза быстрее всех).


Текста много, не порежьтесь!
Всего голосов 30: ↑29 и ↓1+41
Комментарии44

Как мы используем item2vec для рекомендаций похожих товаров

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

Привет, меня зовут Вася Рубцов, я занимаюсь разработкой рекомендательных систем в Авито.


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


Два основных продукта, которым занимается отдел рекомендаций в Авито, — это рекомендации для пользователя на главной странице или user2item и блок похожих объявлений на карточке товара или item2item. Треть всех просмотров объявлений и четверть всех контактов происходит с рекомендаций, поэтому рекомендательные движки играют важную роль в Авито.


В статье я расскажу, как мы улучшили наши item2item рекомендации за счёт item2vec и как это повлияло на user2item рекомендации.


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

О работе ПК на примере Windows 10 и клавиатуры ч. 1

Время на прочтение16 мин
Количество просмотров111K
image

Меня зовут Андрей Артемьев, я работаю в Microsoft над ядром ОС Windows 10, ранее я работал над Windows 10x (WCOS), XBox, Windows Phone и Microsoft Edge. Я хочу популярно в образовательных целях рассказать о том как работает компьютер на примере клавиатурного ввода и Windows 10. Данный цикл статей рассчитан в первую очередь на студентов технических специальностей. Мы рассмотрим какой путь проходит информация о нажатой клавише от клавиатуры до отображения в Notepad.exe. В виду обширности и междисциплинарности темы в статьях могут быть неточности, о которых сообщайте в комментариях. Какая-то информация может быть устаревшей в виду скорости с которой развивается Windows.
Читать дальше →
Всего голосов 69: ↑62 и ↓7+71
Комментарии412

Ночью спит спокойно мама — мы собираем OpenCV для Raspbian'a

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

Последние пару недель были непростыми для нашей команды. Выпускали OpenCV 4, а вместе с ним готовились к Intel's OpenVINO toolkit R4, в состав которого входит OpenCV. Думаешь, отвлекусь на время, посмотрю, как обычно, форумы про OpenCV, да комментарии пользователей, и тут на тебе, модно стало говорить что OpenCV не IoT, что под Raspberry Pi собрать — припоя не хватает, что на ночь make -j2 ставить — утром будет готово, если повезёт.


Поэтому предлагаю дружно взяться за руки и посмотреть, как же можно собирать библиотеку OpenCV для 32-битной операционной системы, исполняемой на ARM процессоре, используя ресурсы машины с 64-битной OS, движимой отличной архитектурой CPU. Колдовство Кросс-компиляция, не иначе!

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность