Search
Write a publication
Pull to refresh
48
0
Илья Захаркин @izakharkin

Computer Vision & Graphics RnD

Send message

Дайджест свежих материалов из мира фронтенда за последнюю неделю №267 (12 — 18 июня 2017)

Reading time4 min
Views18K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

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

Как с помощью блокчейна защитить свои данные

Reading time7 min
Views14K
Прошлый, 2016 год оказался богат на новости, связанные с технологией блокчейн и кейсами ее применения в реальной жизни. Barclays провел первую в мире реальную торговую сделку между ирландским производителем молочной продукции Ornua и сейшельской торговой компанией, австралийский финансовый конгломерат Commonwealth Bank of Australia, американская финансовая компания Wells Fargo и компания Brighann Cotton Marketing Australia впервые в мире оформили сделку по продаже и доставке хлопка из США в Китай, а авиакомпания S7 и Альфа-Банк провели первую в России сделку-аккредитив. В связи с этим может показаться, что область применения блокчейна ограничивается исключительно финансовым сектором, однако блокчейн затронул и область защиты данных.


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

Нейроинтерфейсы для людей (2003-2016). Купить или разработать самому?

Reading time5 min
Views87K


Было время, когда я за один присест выливал на голову стакан жидкости для линз, чтобы поэкспериментировать с Emotiv`ом. Затем был тюбик геля из шприца в лаборатории МГУ. Сейчас я обладатель «сухого» одноэлектродного нейроинтерфейса NeuroSky MindWave. (Кстати, это отличная игрушка для летнего лагеря, я сделал на инженерной олимпиаде задание по поиску мозговых слизней имплантов, для этого надо было поставить рекорд по «удержанию шарика в воздухе мыслью» — базовая бесплатная игруха к NeuroSky)

Как показывает опрос, нейроинтерфейсы неизбежны.



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

Под катом обзор устройств, которые были доступны в потребительском сегменте и open-source проекты для самостоятельного изготовления и создания софта.
Читать дальше →

История о том, как когнитивные технологии помогают сохранять карму

Reading time6 min
Views8.6K
Недавно мы поспорили с одним из моих друзей о том, стоит ли оставлять негативные отзывы и отрицательно оценивать чью-то работу. Например, приходишь в банк, а там тебе нахамил консультант. Я убеждён, что стоит, потому что без этой оценки человек будет продолжать хамить. Друг считает, что это большой минус в твою карму, нельзя же обижать людей, они сами всё поймут со временем. Примерно в то же время у нас прошёл хакфест для партнёров, на котором я увидел решение, способное сохранить карму каждого из нас. Грех таким не поделиться. Как вы уже догадались из названия, под катом речь пойдёт о разработке на основе когнитивных сервисов.


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

Coder vs. Developer vs. Engineer — а какой Job Title у тебя, %username%?

Reading time12 min
Views72K
Computer Scientist, Software Engineer и Coder заходят в бар.
— О, а вот и программисты! — окликает их бармен...


Я знаю людей, которые программируют уже не один десяток лет, но обижаются, когда их называют "программистами". А по запросу Coder vs Developer vs Software Engineer в гугле находится 113 000 000 ссылок: 1 2 3 4 5 6 7 8 9 … 113 000 000. Что интересно, можно найти совершенно противоположные мнения об одном и том же. С чем-то я согласен, а с чем-то в корне нет.

Последние же несколько лет так вообще постоянно подливают масло в огонь, появляются какие-то совсем странные программисты, которые называют себя Creative Technologist, Creative Coder и Interactive Developer.

Давайте же попробуем разобраться.
Читать дальше →

Метрики качества ранжирования

Reading time7 min
Views129K
В процессе подготовки задачи для вступительного испытания на летнюю школу GoTo, мы обнаружили, что на русском языке практически отсутствует качественное описание основных метрик ранжирования (задача касалась частного случая задачи ранжирования — построения рекомендательного алгоритма). Мы в E-Contenta активно используем различные метрики ранжирования, поэтому решили исправить это недоразуменее, написав эту статью.

Метрики качества ранжирования


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

Находим код системного вызова mkdir

Reading time6 min
Views33K
Еще в первый год моего знакомства с Ubuntu, мне стало интересно, как же работает ядро этой ОС. Я решил со всей серъезностью во всем разобратся, скачал 80-мегабайтовый архив исходников, и… всё! Я не знал ни с чего начать, ни чем закончить. Открывал по очереди случайные файлы и тут же терялся. Думаю такое случалось с каждым бывалым линуксоидом. Сейчас же я набрался опыта и хотел бы им поделиться.

В этой статье я раскажу, как я искал код системного вызова mkdir.

Начнем с того, что функция mkdir определена в sys/stat.h. Прототип выглядит следующим образом:

/* Create a new directory named PATH, with permission bits MODE.  */
extern int mkdir (__const char *__path, __mode_t __mode)
     __THROW __nonnull ((1));


Этот заголовочный файл является частью стандарта POSIX. Linux является почти полностью POSIX-совместим, а значит должен реализовывать mkdir именно с такой сигнатурой.

Но даже зная сигнатуру, найти собственно код системного вызова вовсе не просто…
Читать дальше →

Как Сбербанк Онлайн сливает данные пользователей

Reading time2 min
Views159K
В связи с тем, что мне не удалось связаться со Сбербанком, точнее — с кем-то вменяемым с той стороны, хочу поделиться, чтобы если не исправить утечку данных, то хотя бы предупредить о ней.

image

Совсем недавно случайно обнаружил, что Сбербанк Онлайн густо утыкан счетчиками. Это Google, Doubleclick, Rutarget, ЯМетрика. Еще раз подчеркну, в личном кабинете, где люди переводят деньги, вводят очень персональную информацию и т.п., в этом личном кабинете натыканы скрипты, которые Сбербанку совсем не принадлежат, а принадлежат совсем не нашим компаниям, например. Давайте посмотрим, что из этого выходит (слайды и видео ниже).

Как мы учились обновлять 5 000 серверов компании Тензор

Reading time9 min
Views11K
Нынче в каждой приличной организации, разрабатывающей серьезное программное обеспечение, принято делиться, какими путями создавались и развивались ее проекты. Мы считаем это отличной тенденцией и готовы поведать свой вариант развития одного из внутренних проектов компании «СБИС». Он влияет самым серьезнейшим образом на все ее остальные продукты, и его ласково называют — «Хоттабыч», ибо делает волшебство!

Каждые 100 секунд он обновляет какое-нибудь приложение в боевом или в тестовом окружении. Приложений у нас только в «продакшн» около 200, а на тестовых стендах — больше 1000. Количество виртуальных серверов, на которых развернуто каждое приложение – от двух до нескольких сотен. Итак, по порядку…

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

Нестандартный способ обучения новому языку программирования (перевод статьи Sahil Dua)

Reading time4 min
Views14K

cover


На данный момент существует более 500 различных языков программирования. Следовательно, вполне нормально взять и начать учить новый язык прямо сейчас. Например, вы знаете C++ и Java, но на работе требуется Python, или наоборот. А может быть, вы просто хотите выучить какой-нибудь модный язык, чтобы повысить свою конкурентоспособность?..

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

Разбиение слов на элементы таблицы Менделеева

Reading time11 min
Views47K


(Полный исходный код лежит тут)


Сидя на пятичасовом занятии по химии, я часто скользил взглядом по таблице Менделеева, висящей на стене. Чтобы скоротать время, я начал искать слова, которые мог бы написать, используя лишь обозначения элементов из таблицы. Например: ScAlEs, FeArS, ErAsURe, WAsTe, PoInTlEsSnEsS, MoISTeN, SAlMoN, PuFFInEsS.


Затем я подумал, какое самое длинное слово можно составить (мне удалось подобрать TiNTiNNaBULaTiONS), поэтому я решил написать программу на Python, которая искала бы слова, состоящие из обозначений химических элементов. Она должна была получать слово и возвращать все его возможные варианты преобразования в наборы химических элементов:


  • Вход: Amputations
  • Выход: AmPuTaTiONS, AmPUTaTiONS
Читать дальше →

Сопрограммы в Python

Reading time3 min
Views79K
Предлагаю обсудить такую интересную, но мало используемую возможность python, как сопрограммы (coroutines).
Сопрограммы в питоне основаны на генераторах (ими, они, собственно и являются).
Поэтому, предлагаю начать именно с генераторов, в общем понимании. А потом разберём как написать свою сопрограмму.
Читать дальше →

Прикладное применение задачи нелинейного программирования

Reading time14 min
Views13K
Доброго времени суток, Хабр! В свое время, будучи студентом младших курсов, я начал заниматься научно-исследовательской работой в области теории оптимизации и синтеза оптимальных нелинейных динамических систем. Примерно в то же время появилось желание популяризировать данную область, делиться своими наработками и мыслями с людьми. Подтверждением этому служит пара-тройка моих детских незрелых статей на Хабре. Тем не менее, на тот момент эта идея оказалась для меня непосильной. Возможно ввиду моей занятости, неопытности, неумения работать с критикой и советами или чего-то еще. Можно до бесконечности пытаться найти причину, но ситуацию это не изменит: я забросил эту идею на полку, где она благополучно лежала и пылилась до этого момента.

Закончив специалитет и готовясь к защите кандидатской диссертации, я задался вполне логичным вопросом: «а что же дальше?» Имея за плечами опыт как обычной работы, так и исследовательской, я вновь вернулся к той самой идее, которая, казалось бы, должна была утонуть под толщей пыли. Но вернулся я к этой идее в более осознанной форме.

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



Ну что ж, всем заинтересовавшимся:
Добро пожаловать под кат

Метрики в задачах машинного обучения

Reading time9 min
Views723K

Привет, Хабр!



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


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


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

Подборка штук на основе искусственного интеллекта для личного использования (1/3)

Reading time8 min
Views38K

Искусственный интеллект и четвёртая промышленная революция (wiki) достигли значительного прогресса за последние несколько лет. Большинство из того, что можно использовать уже сейчас, разрабатывается для коммерческих и промышленных целей, как вы увидите в следующих постах. Научно-исследовательские институты и специализированные компании работают над достижением конечной цели создания ИИ (а именно, создание сильного искусственного интеллекта artificial general intelligence), разрабатывая открытые платформы и исследуя появившиеся этические вопросы. Существуют также несколько компаний, разрабатывающих ИИ-продукты для конечных потребителей, их мы и рассмотрим в рамках этого поста.


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

image

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

2017: Автостопом по галактике JavaScript

Reading time7 min
Views30K

Расшифровка доклада Ильи Климова на конференции JavaScript fwdays.


Мы с вами попробуем отследить некоторые тренды в развитии JS, как сообщества, как движения, в 2017-ом году. Я очень постараюсь избежать оценочных суждений. Хотя кого я обманываю, все равно не получится. И где-то через год вы сможете с радостью открыть эту презентацию на YouTube, и понять, насколько я был не прав.


Поэтому давайте перенесёмся в 2015 год. Посмотрим, как развивался JS.



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

Как написать чат-бота для vk.com за 3 минуты

Reading time3 min
Views278K

К сожалению, на данный момент нет хороших библиотек на Python2, для того, чтобы быстро создать чат-бота. Ниже я покажу, как легко можно написать примитивного чат бота для VK, используя API VK.


Статья написана для новичков, чтобы показать, что ничего сложного в написании ботов на Python нет.

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

Lock-free структуры данных. Основы: Атомарность и атомарные примитивы

Reading time15 min
Views112K

Построение lock-free структур данных зиждется на двух китах – атомарных операциях и способах упорядочения доступа к памяти. В этой статье речь пойдет об атомарности и атомарных примитивах.

Анонс. Спасибо за теплый прием Начал! Вижу, что тема lock-free интересна хабрасообществу, это меня радует. Я планировал построить цикл по академическому принципу, плавно переходя от основ к алгоритмам, попутно иллюстрируя текст кодом из libcds. Но часть читателей требует зрелищ не мешкая показать, как пользоваться библиотекой, особо не рассусоливая. Я согласен, в этом есть свой резон. В конечном счете, и мне не так интересно, что там внутри boost, — опишите, как его применять! Поэтому свой эпический цикл я разделю на три части: Основы, Внутри и Извне. Каждая статья эпопеи будет относится к одной из частей. В Основах будет рассказываться о низкоуровневых вещах, вплоть до строения современных процессоров; это часть для почемучек вроде меня. Внутри будет освещать интересные алгоритмы и подходы в мире lock-free, — это скорее теория о том, как реализовать lock-free структуру данных, libcds будет неисчерпаемым источником C++ кода. В Извне будут статьи о практике применения libcds, — программные решения, советы и FAQ. Извне будет питаться вашими вопросами/замечаниями/предложениями, дорогие хабражители.

А пока я судорожно готовлю начало Извне, — первая часть Основ. Статья во многом не о C++ (хотя и о нем тоже) и даже не о lock-free (хотя без atomic lock-free алгоритмы неработоспособны), а о реализации атомарных примитивов в современных процессорах и о базовых проблемах, возникающих при использовании таких примитивов.
Атомарность — это первый круг ада низкий уровень из двух.
Читать дальше →

Lock-free структуры данных. 1 — Начало

Reading time12 min
Views153K

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

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

Пишем скрипт для синхронизации папок с Google Drive, плюс учимся использовать Google Drive API

Reading time23 min
Views77K

В этой статье мы рассмотрим основные инструменты работы с Google Drive REST API, осуществим "прямую" и "обратную" синхронизацию папки на компьютере с папкой в облаке Гугл Диска, а заодно выясним какие сложности могут возникнуть при работе с Google Docs через API Диска и как правильно их импортировать и экспортировать чтобы (почти) никто не пострадал.

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

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity