Pull to refresh
0
0

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

Send message

Приглашая опытного разработчика, вы не покупаете, а продаёте

Reading time7 min
Views58K
Несомненно, нанять опытного программиста сложно. Но я не верю, что рынок полностью иссяк. На протяжении карьеры я работал со многими командами, которые делятся на две категории: те, которые никак не могут нанять опытных разработчиков, и те, которые привлекают их с лёгкостью. На самом деле у второй категории вообще не было проблем с наймом.

Есть много причин, почему некоторым не удаётся привлечь талантов. Однако все команды, которые делали это с лёгкостью, поняли один простой факт о текущей ситуации на рынке:

При найме сеньоров не компания выбирает кандидата, а кандидат выбирает компанию.

Проще говоря:

Приглашая опытного разработчика, вы не покупаете, а продаёте.
Читать дальше →
Total votes 146: ↑144 and ↓2+142
Comments186

Теория счастья. Закон зебры и чужой очереди

Reading time16 min
Views41K
Продолжаю знакомить читателей Хабра с главами из своей книжки «Теория счастья» с подзаголовком «Математические основы законов подлости». Это ещё не изданная научно-популярная книжка, очень неформально рассказывающая о том, как математика позволяет с новой степенью осознанности взглянуть на мир и жизнь людей. Она для тех кому интересна наука и для тех, кому интересна жизнь. А поскольку жизнь наша сложна и, по большому счёту, непредсказуема, упор в книжке делается, в основном, на теорию вероятностей и математическую статистику. Здесь не доказываются теоремы и не даются основы науки, это ни в коем случае не учебник, а то, что называется recreational science. Но именно такой почти игровой подход позволяет развить интуицию, скрасить яркими примерами лекции для студентов и, наконец, объяснить нематематикам и нашим детям, что же такого интересного мы нашли в своей сухой науке.





Мы поговорим о фатуме, землетрясениях, очередях и замечательных процессах: пуассоновском потоке, случайном блуждании и немного о цепях Маркова.
Читать дальше →
Total votes 45: ↑43 and ↓2+41
Comments30

Алгоритм Джонкера-Волгенанта + t-SNE = супер-сила

Reading time9 min
Views31K
До:



После:



Заинтригованы? Но обо всем по порядку.

t-SNE


t-SNE — это очень популярный алгоритм, который позволяет снижать размерность ваших данных, чтобы их было проще визуализировать. Этот алгоритм может свернуть сотни измерений к всего двум, сохраняя при этом важные отношения между данными: чем ближе объекты располагаются в исходном пространстве, тем меньше расстояние между этими объектами в пространстве сокращенной размерности. t-SNE неплохо работает на маленьких и средних реальных наборах данных и не требует большого количества настроек гиперпараметров. Другими словами, если взять 100 000 точек и пропустить их через эту волшебный черный ящик, на выходе мы получим красивый график рассеяния.
Читать дальше →
Total votes 65: ↑64 and ↓1+63
Comments2

Точное вычисление средних и ковариаций методом Уэлфорда

Reading time7 min
Views23K

Метод Уэлфорда — простой и эффективный способ для вычисления средних, дисперсий, ковариаций и других статистик. Этот метод обладает целым рядом прекрасных свойств:


  • достигает отличных показателей по точности решений;
  • его чрезвычайно просто запомнить и реализовать;
  • это однопроходный онлайн-алгоритм, что крайне полезно в некоторых ситуациях.

Оригинальная статья Уэлфорда была опубликована в 1962 году. Тем не менее, нельзя сказать, что алгоритм сколь-нибудь широко известен в настоящее время. А уж найти математическое доказательство его корректности или экспериментальные сравнения с другими методами и вовсе нетривиально.


Настоящая статья пытается заполнить эти пробелы.


Читать дальше →
Total votes 53: ↑53 and ↓0+53
Comments9

Подборка @pythonetc, июнь 2018

Reading time5 min
Views14K


Привет. Я веду авторский канал @pythonetc с советами про Python в частности и про программирование в целом. С этого месяца мы запускаем серию подборок с лучшими постами за месяц в переводе на русский.

Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments7

Неполнотекстовый поиск: специфичные возможности Elasticsearch для сложных задач

Reading time10 min
Views18K
image

Привет всем, меня зовут Андрей, и я разработчик. Давным-давно — кажется, в прошлую пятницу — у нашей команды был проект, где понадобился поиск по ингредиентам, входящим в состав продуктов. Допустим, в состав колбасы. В самом начале проекта от поиска требовалось не много: показать все рецепты, в которых нужный ингредиент содержится в определенном количестве; повторить для N ингредиентов.
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments36

Как начать писать код на Lisp?

Reading time4 min
Views52K

Часто приходится видеть, как новички пробуют Common Lisp и потом жалуются, что с ним невозможно нормально работать. Как правило, это происходит из-за того, что они не понимают как настроить себе процесс, обеспечивающий тот самый "быстрый отклик" от среды разработки, когда ты поменял функцию, скомпилировал её и изменения тут же начали использоваться внутри уже "бегущей" прогрммы без её перезапуска.


Понять, как это выглядит, можно посмотрев какой-нибудь ролик на youtube, где демонстрируется интерактивная разработка на Common Lisp.


Total votes 39: ↑37 and ↓2+35
Comments63

AI, практический курс. Предисловие

Reading time5 min
Views11K


Блог Intel начинает публикацию русского перевода большой серии статей со специализированного ресурса Intel AI Academy. Цель этой публикации — представить разнообразные подходы к искусственному интеллекту и различные способы его применения. Первый пост серии будет в некотором роде предисловием: здесь вы найдете вступительную часть от авторов курса, а также полный список статей на английском и (по мере публикации) на русском языках.

Надеемся, что наш курс окажется для вас полезным.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments1

Swift для дата-сайентиста: быстрое погружение за 2 часа

Reading time9 min
Views13K


Google объявил, что TensorFlow переезжает на Swift. Так что отложите все свои дела, выбросьте Python и срочно учите Swift. А язык, надо сказать, местами довольно странный.


Total votes 27: ↑23 and ↓4+19
Comments9

Что я узнал на личном опыте за годы фриланса

Reading time3 min
Views60K
Первоначально опубликовано в /r/freelance на Reddit, но выкладываю здесь для потомков.

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

Типичный штатный сотрудник обходится компании в 2-3 раза дороже его номинальной зарплаты


Используй это в качестве основы для расчёта своих тарифов. $90 в час может показаться дорогой альтернативой сотруднику, который получает зарплату $30 в час, но в реальности это эквивалент $90, и расходы прекращаются сразу по окончании проекта.

Если клиент просит 6+ часов в день, ты потратишь 8 часов


Ты не сделаешь ничего полезного (читай: оплачиваемого) в оставшиеся два часа. Они отняли у тебя целый день, но заплатили только за 75%. В таких ситуациях взимай дневную ставку.
Читать дальше →
Total votes 75: ↑72 and ↓3+69
Comments95

Подборка книг от Массачусетского технологического института

Reading time11 min
Views17K

Пока за окном проходит месяц май, начинают распускаются цветы, играть гормоны и обостряться сезонные заболевания, в ведущих западных институтах тихо-мирно идёт научная работа и выходит много интереснейших книг. Тут можно найти практические пособия, профессиональные прогнозы, обработанные результаты последних исследований. И это не сухая академическая литература, а увлекательные произведения, которые рассчитаны на широкую аудиторию. От простого к сложному, на примере банальных вещей раскрываются сложные темы. Так как Хабр с MIT ещё не встретили друг друга и между ними не вспыхнула любовь с первого взгляда, вот подборка 14 книг из разных областей: от кибербезопасности и AI до исследований космоса. Весь список доступен по ссылке.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments4

Прогулка между пикселями

Reading time8 min
Views16K
Этот пост относится к моей статье о вычислении точек на кривых Безье с помощью линейной интерполяции текстур. Расширенный метод распространяется на поверхности Безье и (многомерные) многочлены.

Первоначальное наблюдение состояло в том, что если произвести выборку по диагонали текстуры 2×2, то в качестве выходных данных получатся точки на квадратичной кривой Безье, а опорные точки кривой являются значениями пикселей, как на изображении ниже. Когда я говорю, что вы получаете квадратичную кривую Безье, то выражаюсь буквально и точно. Происходящее можно представить так: интерполяция текстуры буквально выполняет алгоритм де Кастельжо. (Примечание: если в примере ниже значения “B” не равны, то вторая опорная точка будет средним из этих двух значений: расширение злоупотребляет этим, чтобы аппроксимировать больше кривых в меньшее количество пикселей).


Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments1

Использование различных метрик для кластеризации ключевых запросов

Reading time12 min
Views14K
Технологии определяют результат. Компания Calltouch давно приняла для себя эту истину. 
Наш старший продакт-менеджер Федор Иванов mthmtcn написал материал об использовании различных метрик для кластеризации ключевых запросов.

Введение


На сегодняшний день инструменты по оптимизации конверсий в контекстной рекламе широко используются как прямыми рекламодателями, так и агентствами. Мы в компании Calltouch уже больше года ведем разработку своего инструмента по оптимизации ставок в контекстной рекламе. Основная цель оптимизаторов – расчет таких ставок для ключевых слов, выставление которых позволило бы достичь тех желаемых ключевых показателей $(KPI)$, которые установлены в качестве цели оптимизации. Классическим примером такой постановки задачи является оптимизация по $CPA\:\:(Cost\:Per\:Action)$. В данном случае основная цель оптимизатора – получение как можно большего числа конверсий (целевых действий) так, чтобы средняя стоимость этого действия не превосходила установленного целевого ограничения $CPA$. Также существуют такие стратегии оптимизации, как максимизация $ROI\:\: (Return\:of\:Investment)$, привлечение максимума конверсий при заданном бюджете рекламных кампаний и т. д. 

Читать дальше →
Total votes 9: ↑7 and ↓2+5
Comments3

Python для математических вычислений. Опыт Марка Андреева

Level of difficultyEasy
Reading time4 min
Views88K

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


Мы попытаемся найти в языке функции, которые обычно требуем от математических пакетов. Рассмотрим сильные и слабые стороны идеи использования python вместо MATLAB, Maple, Mathcad, Mathematica.

Читать дальше →
Total votes 27: ↑23 and ↓4+19
Comments30

Методика сравнения алгоритмов и для чего она ещё может пригодиться

Reading time6 min
Views16K
Прочитав недавно статью «Введение в оптимизацию. Имитация отжига» захотел принять участие в сравнении алгоритмов оптимизации. Но ведь их действительно хорошо бы сравнить. А в материалах исходной статьи не приводится никаких количественных данных. Значит, подумал я, надо сначала сформулировать критерии сравнения. Чем и предлагаю заняться в данной статье.

Читать дальше →
Total votes 25: ↑22 and ↓3+19
Comments1

Фурье-вычисления для сравнения изображений

Reading time10 min
Views63K
Традиционная техника “начального уровня”, сравнения текущего изображения с эталоном основывается на рассмотрении изображений как двумерных функций яркости (дискретных двумерных матриц интенсивности). При этом измеряется либо расстояние между изображениями, либо мера их близости.

Как правило, для вычисления расстояний между изображениями используется формула, являющаяся суммой модулей или квадратов разностей интенсивности:
d(X,Y) = SUM ( X[i,j] — Y[i,j] )^2

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

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

Наличие большого числа библиотек, реализующих Фурье преобразований (во всевозможных вариантах быстрых версий), делает реализацию алгоритмов сравнения изображений не очень сложной задачей для программирования.
Читать дальше →
Total votes 36: ↑34 and ↓2+32
Comments47

Исторический очерк о великом математике Карле Фридрихе Гауссе

Reading time8 min
Views19K

Карл Фридрих Гаусс


Математик и историк математики Джереми Грей рассказывает Гауссе и его огромном вкладе в науку, о теории квадратичных форм, открытии Цереры, и неевклидову геометрию*


image

Портрет Гаусса Эдуарда Ритмюллера на террасе обсерватории Геттингена // Карл Фридрих Гаусс: Титан науки Г. Уолдо Даннингтона, Джереми Грея, Фриц-Эгберт Дохе

Total votes 26: ↑20 and ↓6+14
Comments3

Кто сканирует Интернет и существует ли Австралия

Reading time4 min
Views58K
Любой, кто поднимал сайты знает, что стоит запустить веб-сервер, как на него начинают приходить запросы. Еще и DNS про него толком не знает, а в лог-файле ошибок httpd уже полно записей вроде таких:

image

Вот мне стало интересно, и я решил изучить этот вопрос поглубже. Как только появилось время, я написал парсер логов веб-сервера. Поскольку люблю наглядность, результаты поместил на карту.
И вот какая картина получилась:
Читать дальше →
Total votes 63: ↑55 and ↓8+47
Comments156

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

Reading time5 min
Views25K
История превью страниц.


Когда вы наводите курсор на ссылку, появляются карточки предварительного просмотра (и да, у меня на десктопе мобильный скин Википедии). Текст из статей Википедии об айсбергах и воде, CC BY-SA 3.0. Изображения слева направо, сверху вниз: #1 Ким Хансен, CC BY-SA 3.0; #2 Андреас Вайт, CC BY-SA 4.0; #3 Национальная библиотека Новой Зеландии, CC0

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

На первый взгляд всё очень просто. Такое есть на многих сайтах. На карточке размещается изображение и немного текста — и она отображается при наведении курсора на ссылку. Ничего инновационного… по крайней мере, так может показаться на первый взгляд.

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

Таким образом, нам потребовалось несколько лет, чтобы выкатить фичу до всех. Это может показаться странным, но как и в айсберге, следует оценить подводную часть.
Читать дальше →
Total votes 44: ↑41 and ↓3+38
Comments35

Производящие функции — туда и обратно

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

Введение


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

Идея производящих функций достаточно проста: сопоставим некоторой последовательности <g0, g1, g2, ..., gn> — дискретному объекту, степенной ряд g0 + g1z + g2z2 +… + gnzn +… — объект непрерывный, тем самым мы подключаем к решению задачи целый арсенал средств математического анализа. Обычно говорят, последовательность генерируется, порождается производящей функцией. Важно понимать, что это символьная конструкция, то есть вместо символа z может быть любой объект, для которого определены операции сложения и умножения.
Читать дальше →
Total votes 73: ↑70 and ↓3+67
Comments36

Information

Rating
Does not participate
Location
Украина
Registered
Activity