• Сколько зарабатывает Хабр + инструкция как узнать сколько зарабатывают другие компании

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

      В этом году уже вышли новые данные, которыми тоже решил поделиться. Доходы, расходы и прибыль приведены в миллионах рублей.

      image
      Читать дальше →
    • Как стать датасайнтистом, если тебе за 40 и ты не программист

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

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

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



        Сейчас я ведущий аналитик в группе больших данных в QIWI, но еще три года назад я был довольно далек от датасайнс и об искусственном интеллекте слышал только из новостей. Но потом все изменилось, во многом благодаря Coursera и Kaggle.

        Итак, обо всем по порядку.
        Читать дальше →
      • Обзор систем мониторинга серверов. Заменяем munin на…

        • Tutorial
        Очень долго хотел написать статью, но не хватало времени. Нигде (в том числе на Хабре) не нашёл такой простой альтернативы munin, как описанная в этой статье.


        Читать дальше →
      • Михаил Бессмельцев с коллегой разработал новые алгоритмы для векторизации графики


          Слева направо: оригинал, оснащённое поле (frame field) и окончательный результат. На базе зашумлённого растрового изображение в оттенках серого вычисляется оснащённое поле, выровненное по линиям картинки. На острые углы типа X- и T-пересечений накладываются векторы по обоим направлениям. Затем из этого поля извлекается топология чертежа — и производится окончательная генерация векторных кривых

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

          Первые алгоритмы векторизации изображений появились в начале 1990-х годов и
          использовались в инструментах для редактирования векторной графики, таких как Adobe Illustrator (Live Trace), CorelDRAW (PowerTRACE) и Inkscape. Несмотря на их широкое внедрение в промышленности, эти алгоритмы до сих пор страдают от серьёзных недостатков и находятся в активной разработке. В нескольких индустриях, где векторизация крайне необходима, включая традиционную анимацию и инженерное проектирование, она часто выполняется вручную. Дизайнеры кропотливо обводят отсканированное изображение с помощью инструментов рисования.
          Читать дальше →
        • 10 малоизвестных возможностей Objective-C

          • Tutorial
          Приветствую уважаемых хабражителей!

          Objective-C — язык с богатым рантаймом, но в данной статье речь пойдёт не о содержимом хедера <objc/runtime.h>, а о некоторых возможностях самого языка, о которых многие разработчики и не догадываются. Да, на них натыкаешься, читая документацию, отмечаешь про себя «хм, интересно, надо как-нибудь копнуть», но они обычно быстро вылетают из головы. А начинающие разработчики часто вообще читают документацию наискосок.

          В этой статье я собрал 10 удивительных на мой взгляд свойств языка Objective-C. Некоторые свойства самоочевидны, некоторые далеко не таковы. За использование некоторых в боевом коде надо бить по рукам, другие же способны помочь в оптимизации критических мест кода и в отладке. В конце статьи имеется ссылка на исходник, показывающий на примере все эти фичи.

          Итак, начну с самого «вкусного» на мой взгляд: безымянные методы.

          1. Безымянные методы


          Читать дальше →
        • Новые техпроцессы для производства микросхем все чаще откладывают — почему?

            В конце августа производитель полупроводниковых интегральных микросхем GlobalFoundries (работает с AMD) прекратил разработку 7-нанометровых техпроцессов. За несколько месяцев до этого компания Intel объявила, что вновь откладывает выпуск своего 10-нанометрового чипа.

            О причинах этих решений и ситуации в индустрии, рассказываем дальше.

            Читать дальше →
          • Самые маленькие Linux-компьютеры



              Несколько дней назад активисты движения за свободное аппаратное обеспечение выпустили вторую версию крошечного Linux-компьютера VoCore2 размером 25,6×25,6×3,0 мм, то есть с крупную монету (почти вписались по площади в квадратный дюйм). В спичечный коробок поместится примерно восемь таких компьютеров.

              Это потомок того самого VoCore, на который собирали деньги через Indiegogo. Всё-таки собрали, и проект живёт. Это абсолютно открытый компьютер, который кто угодно может собрать из указанных комплектующих (или купить плату в сборе за $17,99). Компьютер работает на прошивке OpenWrt/LEDE, то есть идеально подходит на роль портативного маршрутизатора.
              Читать дальше →
            • Договоры бывают разные, или на что вы подписались

              Периодически отслеживаю на тостере вопросы по юриспруденции. И не раз сталкивался с тем, что у людей возникают проблемы из-за непонимания разницы между подрядом и услугами. Казалось бы, какая разница в этих ваших правовых дефинициях? Есть же контракт! А вот и нет, подходы отличаются весьма существенно. В некоторых случаях настолько кардинально, что лучше заранее понимать, на что подписываешься.

              image

              Что это вообще, блин, такое?


              Читать дальше →
            • ЦНИИмаш: SpaceX якобы реализует советские разработки. Почему у Илона Маска столько врагов



                Замгендиректора головного научного института «Роскосмоса» ЦНИИмаш Александр Медведев вчера в ходе научной конференции в Москве сделал громкое заявление. По его словам, многоразовые ракеты SpaceX не основаны на каких-либо принципиально новых технологиях, а базируются на разработках советских инженеров и учёных:

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

                В прошлом веке советская космонавтика занимала ведущие позиции в мире, так что в откровении руководителя ЦНИИмаш нет ничего удивительного, скорее чувствуется гордость и горечь. Известна история, как в октябре 2001 года Илон Маск приезжал в Москву и пытался купить баллистические ракеты, но не смог договориться о цене.
                Читать дальше →
              • Раскрываем номера пользователей Telegram

                  image

                  Последнее время безопасность Telegram (далее – телеграм) все чаще поддается критике и встает вопрос: «действительно ли телеграм хорошо защищен?»

                  Как и для любого мессенджера – важна его максимальная интеграция со сторонними сервисами. Для примера, телеграм в первую очередь работает с вашей телефонной книгой. Он синхронизирует ваши номера со своей базой и проверяет на наличие регистрации в телеграме. Далее – телеграм предлагает вам свободные сообщения и звонки с вашими потенциальными друзьями. «Удобно» — что еще сказать?

                  Воспользуемся этой удобностью.
                  Читать дальше →
                • Корпоративный синдром

                    — Идея с айфонами — полное говно. — начал встречу Сергей.

                    — Извините, Сергей, я не ослышалась? — недобро прищурившись, спросила Светлана Владимировна.

                    — Не ослышались, Светлана Владимировна. — кивнул Сергей. — Айфоны придется отменить, иначе этот бедлам дебильный будет не остановить.

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

                    — И это говорит человек, больше всех радеющий за развитие? — с ехидной улыбкой спросила Марина, директор по качеству?

                    — Ты бы молчала лучше… — вздохнул Сергей.

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

                    — Идея не Сергея, а моя. — твердо проговорила Светлана Владимировна. — Сергей, я жду объяснений. И выбирайте, пожалуйста, выражения, вы не с программистами разговариваете. Да и с программистами так разговаривать не стоит.
                    Читать дальше →
                  • Введение в программирование шейдеров для верстальщиков

                    • Tutorial


                    WebGL существует уже давно, про шейдеры написано немало статей, есть серии уроков. Но в основной массе они слишком сложные для верстальщика. Даже лучше сказать, что они охватывают большие объемы информации, которые скорее нужны разработчику игрового движка, чем верстальщику. Там сразу начинают с построения сложной сцены, камера, свет… На обычном сайте для создания пары эффектов с фотографиями все эти знания избыточны. В результате люди делают очень сложные архитектурные конструкции и пишут длинные-длинные шейдеры ради очень простых по сути действий.


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

                    Читать дальше →
                    • +40
                    • 14,5k
                    • 8
                  • Исследователи утверждают, что спрятаться от слежки Google практически невозможно



                      Google — крупнейшая в мире рекламная компания. Она выпускает самый популярный в мире браузер, владеет самой популярной мобильной платформой и поддерживает работу крупнейшей поисковой системы в интернете. У видеосервиса, почтового и картографического сервисов Google более 1 млрд пользователей (у каждого из них). Компания использует повсеместную распространённость своих продуктов для отслеживания поведения пользователей в онлайне и IRL, чтобы впоследствии таргетировать их платной рекламой. От точности таргетирования и обширности собираемых данных напрямую зависят доходы Google.

                      К сожалению, в современных условиях практически невозможно уклониться от слежки со стороны Google. К таким выводам пришли специалисты из организации Digital Content Next и Университета Вандербильта. Результаты их исследования Google Data Collection (pdf) опубликованы в открытом доступе.
                      Читать дальше →
                    • LLTR Часть 2: Алгоритм определения топологии сети по собранной статистике

                        Link Layer Topology Reveal logo


                        Q: Что у нас есть?
                        A: Статистика, собранная с хостов.


                        Q: Что мы хотим получить?
                        A: Топологию сети! Точнее, нужно построить правильную цепочку пиров (хостов) для RingSync.


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


                        статистика –-[*магия*]--> топология сети --[*магия*]--> цепочка пиров
                        Читать дальше →
                      • Почему не стоит выкидывать Radeon, если ты увлекся машинным обучением?

                          image


                          Свою рабочую станцию мне выдалось собирать, будучи студентом. Достаточно логично, что я отдавал предпочтение вычислительным решениям AMD. потому что это дешево выгодно по соотношению цена/качество. Я долго подбирал компоненты, в итоге уложился в 40к с комплектом из FX-8320 и RX-460 2GB. Сначала этот комплект казался идеальным! Мы с соседом по комнате слегка майнили Monero и мой набор показывал 650h/s против 550h/s на наборе из i5-85xx и Nvidia 1050Ti. Правда, от моего набора в комнате бывало слегка жарковато по ночам, но это решилось, когда я приобрел башенный кулер к CPU.

                          Читать дальше →
                        • Обзор техник реализации игрового ИИ

                          • Перевод
                          image

                          Введение


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

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

                          Что же такое «игровой ИИ»?


                          Игровой ИИ в основном занимается выбором действий сущности в зависимости от текущих условий. В традиционной литературе по ИИ называет это управлением "интеллектуальными агентами". Агентом обычно является персонаж игры, но это может быть и машина, робот или даже нечто более абстрактное — целая группа сущностей, страна или цивилизация. В любом случае это объект, следящий за своим окружением, принимающий на основании него решения и действующий в соответствии с этими решениями. Иногда это называют циклом «восприятие-мышление-действие» (Sense/Think/Act):

                          • Восприятие: агент распознаёт — или ему сообщают — информацию об окружении, которая может влиять на его поведение (например, находящиеся поблизости опасности, собираемые предметы, важные точки и так далее)
                          • Мышление: агент принимает решение о том, как поступить в ответ (например, решает, достаточно ли безопасно собрать предметы, стоит ли ему сражаться или лучше сначала спрятаться)
                          • Действие: агент выполняет действия для реализации своих решений (например, начинает двигаться по маршруту к врагу или к предмету, и так далее)
                          • … затем из-за действий персонажей ситуация изменяется, поэтому цикл должен повториться с новыми данными.
                          Читать дальше →
                        • Почему персонажи видеоигр почти никогда не раздеваются

                          • Перевод

                          Видеоигры быстро становятся изумительным симулякром реальности. Мы можем блуждать по невообразимым мирам, общаться с правдоподобными персонажами и наносить нацистам убедительно выглядящие побои. Тем не менее, видеоигры всё ещё испытывают проблемы со снятием одежды.

                          Посмотрите на сцену из игры 2010 года Mass Effect 2 с раздевающимся Джейкобом. На первый взгляд кажется, что он стянул рубашку, как это сделал бы любой человек, демонстрируя невидимому оператору заработанные в боях кубики пресса. А теперь приглядитесь внимательно: к моменту, когда его руки движутся по телу, «снимая» рубашку, её уже нет. Игра переключилась с одетой на раздетую модель с помощью иллюзии, заставляющей игрока подумать, что он снимает рубашку.
                          Читать дальше →
                        • Как подготовиться к собеседованию в Google и не пройти его. Дважды



                            Заголовок статьи звучит как epic fail, но на самом деле все не так однозначно. Да и в общем и целом эта история закончилась весьма позитивно, хоть и не в Google. Но это уже тема для другой статьи. В этой же статье я расскажу о трех вещах: каким образом проходил мой процесс подготовки, каким образом проходили интервью в Google и почему же на мой взгляд все не так однозначно, как может показаться.
                            Кому интересно, прошу под кат.
                          • Корпоративная шизофрения

                              — Последний вопрос нашей повестки. – зашуршала бумажками Светлана Владимировна. – Оценка удовлетворенности персонала. Татьяна, вам слово.

                              — Добрый день, коллеги. – поднялась со стула молодая, симпатичная девушка, новый HR-директор. – Как вы знаете, мы провели оценку удовлетворенности персонала, и результаты, к сожалению, неутешительные.

                              Татьяна выдержала театральную паузу, оглядывая всех присутствующих менеджеров – и топ, и не топ.

                              — Удовлетворенность стала ниже, по сравнению с прошлым годом. – видя, что реакции нет, сконфуженно продолжила Татьяна. – С этим нужно что-то делать. Я подготовила несколько предложений. Светлана Владимировна, можно озвучить?

                              — Начинается… — раздался тихий шепот с дальнего конца стола.

                              — Что, простите? – подняла бровь директор. – Я что, с разнорабочими разговариваю? Или с руководителями, которые радеют за благо предприятия? Марина, это вы сейчас сказали?

                              — Нет, не я. – возмутилась Марина, директор по качеству. – Вон, умник наш. Господин ИТ-директор. Сергей, отвлекись от телефона, что ты там все время делаешь?
                              Читать дальше →
                            • Могут ли дети в селах стать программистами, если рядом учат только на железнодорожников. Разговор с «Кружком»



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

                                Оказалось, такие истории еще случаются. В 2017 году несколько молодых преподавателей программирования из Московских школ дополнительного образования собрались в команду, назвали ее «Кружок» и поехали по городам России рассказывать детям о технологиях. Они посетили Воткинск, Калугу, Вязьму. Затем в селе Глазок под руководством ребят дети создали сайт, и тут же попали в телевизор и заголовки крупнейших СМИ.

                                Сейчас «Кружок» едет с туром по 10 городам, а в конце августа планирует провести фестиваль в селе Сардаял.

                                Преподаватели «Кружка» Саша Братчиков и Александр Патлух рассказали нам с fillpackart каково это — учить детей программированию и заниматься таким вот «технологическим миссионерством».
                                Читать дальше →