Search
Write a publication
Pull to refresh
5
0.6

Разработчик ПО

Send message

Три вида утечек памяти

Reading time7 min
Views13K
Здравствуйте, коллеги.

Наши долгие поиски неустаревающих бестселлеров по оптимизации кода пока дают лишь первые результаты, но мы готовы вас порадовать, что буквально только что закончен перевод легендарной книги Бена Уотсона "Writing High Performance .NET Code". В магазинах — ориентировочно в апреле, следите за рекламой.

А сегодня предлагаем вам почитать сугубо практическую статью о наиболее насущных видах утечек оперативной памяти, которую написал Нельсон Ильхейдж (Nelson Elhage) из компании Stripe.
Читать дальше →

Нейроинтерфейсы сегодня

Reading time10 min
Views32K

image


Со времён изобретения манипулятора "мышь" прошло полвека, и это по-прежнему один из основных способов взаимодействия человека с компьютером. Я поехал на конференцию в Институт когнитивных нейронаук ВШЭ, чтобы узнать о последних достижениях в области BCI, которая находится за горизонтом, и поэтому так интересна.

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

Время фрагментарно; немного о сходстве распределенных систем и слабой модели памяти

Reading time9 min
Views5.2K
Привет всем!

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

Инструкция по работе с TensorFlow Object Detection API

Reading time6 min
Views41K

Перевод TensorFlow Object Detection API tutorial — Training and Evaluating Custom Object Detector.

Мы все умеем водить машину, ведь это довольно легко, правда? Но что вы будете делать, если кто-то попросит вас сесть за штурвал самолета? Совершенно верно — вы прочитаете инструкцию. Аналогично, руководство, которое вы найдете ниже, поможет вам настроить API и наслаждаться приятным полетом.
Читать дальше →

Пятница. Бредни программиста

Reading time11 min
Views35K
Привет, Хабр! Иногда в голове начинают бродить разные мысли. Кое-что записал. Получилось что-то вроде рассказа. Не судите строго — ведь это всего лишь фантазии.

image

Странные танцы


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

— Так кем же Вы работайте, Михаил?
Читать дальше →

Нейронные сети с нуля. Обзор курсов и статей на русском языке, бесплатно и без регистрации

Reading time5 min
Views223K
На Хабре периодически появляются обзоры курсов по машинному обучению. Но такие статьи чаще добавляют в закладки, чем проходят сами курсы. Причины для этого разные: курсы на английском языке, требуют уверенного знания матана или специфичных фреймворков (либо наоборот не описаны начальные знания, необходимые для прохождения курса), находятся на других сайтах и требуют регистрации, имеют расписание, домашнюю работу и тяжело сочетаются с трудовыми буднями. Всё это мешает уже сейчас с нуля начать погружаться в мир машинного обучения со своей собственной скоростью, ровно до того уровня, который интересен и пропускать при этом неинтересные разделы.

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

Обзор состоит из нескольких разделов, чтобы каждый мог выбрать уровень с которого можно начать.
Для крупных разделов и видео-курсов указаны приблизительные временные затраты, необходимые знания, ожидаемые результаты и задания для самопроверки.


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

Памятки по искусственному интеллекту, машинному обучению, глубокому обучению и большим данным

Reading time4 min
Views37K


В течение нескольких месяцев мы собирали памятки по искусственному интеллекту, которыми периодически делились с друзьями и коллегами. В последнее время сложилась целая коллекция, и мы добавили к памяткам описания и/или цитаты, чтобы было интереснее читать. А в конце вас ждёт подборка по сложности «О большое» (Big-O). Наслаждайтесь.

UPD. Многие картинки будут читабельнее, если открыть их в отдельных вкладках или сохранить на диск.
Читать дальше →

Как освоить иностранный язык без преподавателя. Часть 2. «Пошаговая стратегия»

Reading time12 min
Views73K

Languages are not taught, they are learnt!


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


Примечание: Материалы статьи опираются на исследования Е.Д. Авериной, Д.Б. Никуличевой, Э.В. Гуннемарка и П.Нейшна, пропущенные через призму моего восприятия и опыт изучения 3 иностранных языков.

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

Как докатить ML в прод: шесть граблей, на которые мы наступили

Reading time6 min
Views16K
Совсем недавно мы искали дата-сайентиста в команду (и нашли — привет, nik_son и Арсений!). Пока общались с кандидатами, поняли, что многие хотят сменить место работы, потому что делают что-то «в стол».

Например, берутся за сложное прогнозирование, которое предложил начальник, но проект останавливается — потому что в компании нет понимания, что и как включить в продакшен, как получить прибыль, как «отбить» потраченные на новую модель ресурсы.



У HeadHunter нет больших вычислительных мощностей, как у «Яндекса» или Google. Мы понимаем, как нелегко катить в продакшен сложный ML. Поэтому многие компании останавливаются на том, что катят в прод простейшие линейные модели.

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

Про LL-парсинг: Подход к синтаксическому анализу через концепцию нарезания строки

Reading time10 min
Views14K
Приветствую уважаемое сообщество!

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

Как пишет великий Д. Строгов, «понять — значит упростить». Поэтому, чтобы понять концепцию синтаксического разбора методом рекурсивного спуска (оно же LL-парсинг), упростим задачу насколько можно и вручную напишем синтаксический анализатор формата, похожего на JSON, но более простого (при желании можно будет потом его расширить до анализатора полноценного JSON, если захочется поупражняться). Напишем его, взяв за основу идею нарезания строки.
Читать дальше →

Чего из Rust мне не хватает в C

Reading time7 min
Views23K
Об авторе. Федерико Мена-Кинтеро — мексиканский программист, один из основателей проекта GNOME.

Librsvg достиг переломного момента: внезапно выясняется, что легче портировать некоторые основные части из C на Rust, чем просто добавить аксессоры. Кроме того, всё больше «мяса» библиотеки сейчас написано на Rust.

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

Элегия C


Я влюбился в C около 24 лет назад. Выучил азы по второму изданию “The C Programming Language by K&R” в переводе на испанский. До этого я использовал достаточно низкоуровневый Turbo Pascal, с указателями и ручным распределением памяти, так что C казался приятным и придающим сил.

K&R — отличная книга для выработки стиля и лаконичности. Эта маленькая книжка даже научит вас реализовать простой malloc()/free(), что поистине просветляет. Даже низкоуровневые конструкции можно вставлять в самом языке!

В последующие годы я хорошо освоил C. Это небольшой язык с маленькой стандартной библиотекой. Вероятно, идеальный язык для реализации ядра Unix на 20 000 строк кода или около того.
Читать дальше →

Экономим по-богатому или знакомство с BMW i3

Reading time19 min
Views66K
Если кто-то где-то заспойлерил фильм или целый сезон сериала, то смотреть его будет уже не так интересно. То же самое с тест-драйвом «нестандартных» автомобилей — если заранее посмотреть подробный обзор на YouTube и изучить все характеристики, то wow-эффект будет не таким, каким бы мог быть. Именно поэтому я решил ничего не смотреть и не читать перед знакомством с BMW i3. И не пожалел. А вот вам испорчу всю малину — добро пожаловать под кат.


Система сбора данных на ESP. Часть I. CO2

Reading time5 min
Views49K
Доброго времени суток! В данной статье хочу рассказать о реализации устройств на модулях ESP. Тема похожих девайсов уже раскрыта в интернете, но не перестает быть актуальной.
Читать дальше →

Формирование изображений без объективов

Reading time14 min
Views32K

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


Ещё средневековые ремесленники умели создавать стеклянные линзы и искривлённые зеркала для проецирования изображений. Такие конструкции использовались для изготовления микроскопов, камер-обскур, телескопов и прочих инструментов, позволяющих нам лучше увидеть очень маленькие и большие объекты, расположенные вдалеке и поблизости, на Земле и в небесах. Следующая революция в формировании изображений произошла примерно в середине XIX века: была изобретена фотография. Появилась возможность запечатлевать «остановленные моменты», воспроизводить их и тиражировать. Сегодня эра химической фотографии подходит к завершению, расцветает новая эпоха — цифровое формирование изображений. Его корни лежат в технологии телевидения, но мы будем считать началом эпохи 1975 год, когда появилась первая цифровая фотокамера. Сегодня миллиарды веб-камер и камер в мобильных телефонах по всему миру снимают более триллиона изображений в год, и многие из них сразу же выкладываются в интернет. Несмотря на взрывной рост количества, разнообразия и способов применения систем формирования изображений, задачи инженеров-оптиков остаются по большей части неизменными: создавать высококачественное оптическое изображение, как можно точнее передающее снимаемую сцену — чтобы «выглядело хорошо».

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

Канадский квадрокоптер подчиняется гримасам оператора

Reading time3 min
Views1.5K

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

Для управления БПЛА обычно используется или специализированный прибор, или специальная программа на смартфоне/планшете. Но в будущем для взаимодействия людей с роботами могут понадобиться более удобные интерфейсы. Студенты из лаборатории автономных систем Школы компьютерных наук Университета Саймона Фрейзера разработали экспериментальную программу для управления мультикоптером с помощью выражения лица. В принципе, ничего особо сложного в такой программе нет, но идея интересная.
Читать дальше →
12 ...
25

Information

Rating
3,315-th
Registered
Activity