habrahabr.ru

    Лучшие публикации за сутки

  • Как оценить уровень владения Английским языком


    На Хабре много статей о том, как самостоятельно изучать английский язык. Но вот вопрос, а как оценить свой уровень при самостоятельном изучении? Понятно, что есть IELTS и TOEFL, но эти тесты почти никто не сдает без дополнительной подготовки и эти тесты, как говорят, оценивают не сколько уровень владения языком, а скорее умение проходить эти самые тесты. Да и использовать их для контроля самообучения будет накладно.

    В этой статье я собрал различные тесты, которые проходил сам. При этом я сверяю свою субъективную оценку владения языком с результатами тестов. А также сравниваю результаты между разными тестами.
    Читать дальше → Read more »
  • [Перевод] Анализ конфиденциальности данных в мобильном приложении и на сайте TikTok
    TL;DR Я тщательно изучил защиту конфиденциальности данных в приложении TikTok и на их сайте. Выявлены многочисленные нарушения законодательства, уязвимости и обман доверия пользователей.

    В этой статье технические и юридические детали. В более простом изложении без технических деталей см. статью в Süddeutsche Zeitung (на немецком).


    Для перенаправления и анализа трафика использовался mitmproxy. На видео показано, как информация об устройстве, времени использования и список просмотренных видео отправляются в Appsflyer и Facebook.

    Читать дальше → Read more »
  • [Из песочницы] Пишу на C#, чтобы фронтендерам было полегче


    В этом декабре, как прошлые пару лет, я участвую в Advent of Code — ежегодном рождественском соревновании от автора популярного фреймворка Vanilla JS. В этом году я пишу на C#, потому что привычный мне, как фронтендеру, JavaScript я уже весь использовала в прошлом году. Прошло всего 10 дней, но я уже чувствую, как жизнь фронтендеров по всему миру становится лучше. Сейчас расскажу, как это происходит.

    Как похорошел WebStorm при мне Read more »
  • [Перевод] Повествование через окружение или почему кат-сцены не панацея


    Dead Space в свое время высоко оценили не только за атмосферу и геймплей, но и за дизайн окружения, через который игроку подавалось повествование. Один из таких находится в самом начале игры, когда игрок прибывает на космический корабль «Ишимура». Игрок попадает в слабо освещенную комнату, покрытую кровью, а на стене написана культовая фраза Cut off their limbs (отрезайте их конечности).

    Но что делать, если пользователь не знает язык или имеет какие-либо трудности с восприятием такой информации? Ответ: нарратив через окружение.
    Читать дальше → Read more »
  • [Перевод] Индексируем миллиарды текстовых векторов

    При извлечении информации часто возникает задача поиска подобных фрагментов текста. В контексте поиска запрос может быть сгенерирован пользователем (например, текст, который пользователь вводит в поисковом движке) или самой системой. Часто нам нужно сопоставлять входящий запрос с уже проиндексированными запросами. В этой статье мы рассмотрим, как можно построить систему, решающую эту задачу применительно к миллиардам запросов без траты целого состояния на серверную инфраструктуру.
    Читать дальше → Read more »
  • CAN sniffer
    Непосредственно сама CAN шина используется уже много где, мне интересно её использование в автомобиле, хотя этой сферой можно и не ограничиваться. Тем более пару лет назад подвернулась такая возможность. Я посмотрел на общие спецификации — вроде бы ничего особо сложного нет. Посмотрел на программы, которые встречаются в интернете — и ни одна мне не приглянулась, у каждой не хватало чего-то такого, что казалось мне нужным на тот момент. Буду изобретать свой велосипед. Делаю свой CAN sniffer далее под катом.
    Читать дальше → Read more »
  • Открытые данные. Роскосмос. Догоним Америку
    Если спросить сегодня российского школьника или студента о том, что он знает об истории космонавтики, то уверен, ничего кроме имени Юрия Гагарина мы не услышим. Несколько человек, вполне возможно, вспомнят о Королеве, Международной космической станции или произнесут «Поехали» и «Мы первые!», и на этом все, знания закончатся.
    Читать дальше → Read more »
  • Корпоративное ПО делает ваших сотрудников круче. А оно вам надо?
    Есть два типа руководителей: те, которые ценят умных и прокачанных сотрудников (первый среди равных, лидер) и те, которые стараются избавиться от сильных и управлять слабыми (молодец среди овец, деспот). На первый взгляд, компании и тех, и тех работают, продают, получают доход. Но если смотреть на длинной дистанции, в компаниях у руководителей, выживающих классных сотрудников, рано или поздно начинаются узнаваемые проблемы: текучка кадров, найм всё более слабых и молодых сотрудников, устаревание продуктов и технологий, падение продаж и сокращение доходов. Это вызвано косностью управления и нежеланием развивать персонал. Какое отношение к этому имеет CRM и другой корп. софт? Да самое прямое! Но надо ли развивать сотрудников и есть ли у этой медали обратная сторона? Давайте обсудим. 


    Читать дальше → Read more »
  • Как сделать из нейросети журналиста, или «Секреты сокращения текста на Хабре без лишних слов»
    Только не удивляйтесь, но второй заголовок к этому посту сгенерировала нейросеть, а точнее алгоритм саммаризации. А что такое саммаризация?

    Это одна из ключевых и классических задач Natural Language Processing (NLP). Она заключается в создании алгоритма, который принимает на вход текст и на выходе выдаёт его сокращённую версию. Причем в ней сохраняется корректная структура (соответствующая нормам языка) и правильно передается основная мысль текста.

    Такие алгоритмы широко используются в индустрии. Например, они полезны для поисковых движков: с помощью сокращения текста можно легко понять, коррелирует ли основная мысль сайта или документа с поисковым запросом. Их применяют для поиска релевантной информации в большом потоке медиаданных и для отсеивания информационного мусора. Сокращение текста помогает в финансовых исследованиях, при анализе юридических договоров, аннотировании научных работ и многом другом. Кстати, алгоритм саммаризации сгенерировал и все подзаголовки для этого поста.

    К моему удивлению, на Хабре оказалось совсем немного статей о саммаризации, поэтому я решил поделиться своими исследованиями и результатами в этом направлении. В этом году я участвовал в соревновательной дорожке на конференции «Диалог» и ставил эксперименты над генераторами заголовков для новостных заметок и для стихов с помощью нейронных сетей. В этом посте я вначале вкратце пробегусь по теоретической части саммаризации, а затем приведу примеры с генерацией заголовков, расскажу, какие трудности возникают у моделей при сокращении текста и как можно эти модели улучшить, чтобы добиться выдачи более качественных заголовков.
    Читать дальше → Read more »
  • [Перевод] CIMON-2: (не)судный день, или как IBM Watson забрался выше облаков

    CIMON – Crew Interactive Mobile CompanioN (далее «Саймон») – научная разработка аэрокосмического агентства Airbus и IBM, спонсированная германским центром авиации и космонавтики DLR. В прошлом году его впервые испытали «в бою» на МКС, а в этом месяце начали испытание второй версии помощника. Так как нам интересно все, что связано с высокотехнологичными и прорывными коммуникациями – например, мы уже писал про работу с IBM Watson – то мы не смогли пройти мимо этой новости и подготовили перевод-компиляцию из нескольких зарубежных материалов, чтобы понять самим и сообщить вам – зачем астронавтам условная Алиса/Алекса/{you name it}? Под катом вас ждет хронология событий, цитаты сопричастных и небольшой вывод. Приятного чтения!
    Читать дальше → Read more »
  • В каких странах и городах разработчики зарабатывают больше, если учесть налоги и стоимость жизни?


    Если сравнить зарплату разработчика программного обеспечения квалификации middle в Москве, Лос-Анджелесе и Сан-Франциско, взяв данные по зарплатам, которые оставляют сами разработчики на специализированных сервисах по мониторингу зарплат, то увидим: 

    • В Москве зарплата такого разработчика на конец 2019 года составляет 130 000 руб. в месяц (по данным сервиса зарплат на moikrug.ru)
    • В Сан-Франциско — 9 404 долларов США в месяц, что примерно равно 564 000 руб. в месяц (по данным сервиса зарплат на glassdoor.com).

    На первый взгляд, разработчик в Сан-Франциско получает более чем в 4 раза большую зарплату. Чаще всего на этом сравнение заканчивают, делают печальный вывод о колоссальном разрыве в уровне зарплат и вспоминают поросёнка Петра. Читать дальше → Read more »
  • Повышение привилегий в Windows клиенте EA Origin (CVE-2019-19247 и CVE-2019-19248)
    Приветствую всех, кто решил прочитать мою новую статью с разбором уязвимостей. В прошлый раз небольшим циклом из трех статей я рассказал об уязвимостях в Steam (1, 2 и 3). В данной статье я расскажу об уязвимостях похожего продукта — Origin, который тоже является лаунчером для игр. Обнаруженные уязвимости получили номера CVE-2019-19247 и CVE-2019-19248.



    В этот раз не будет никакой дичи с банами-анбанами. История общения с security подразделением компании Electronic Arts Inc изначально шла на профессиональном уровне. При обращении мне выдали регистрационный номер, отчеты тщательно изучили и подтвердили. Ни один мой имейл не был проигнорирован, а для небольшого обсуждения был организован конфколл. Сопровождение этих отчетов было для меня очень простым, за что большое спасибо Adrian Stone, Elise Murphy и другим сотрудникам EA, работавшим с моими отчетами. Запись в security-блоге и advisory.

    Теперь к уязвимостям. Я нашел две уязвимости типа «повышение привилегий» (lpe — local privilege escalation или eop — escalation of privileges) в Windows клиенте Origin. Такой тип уязвимостей позволяет любому пользователю ОС Windows получить больше прав, чем изначально выдано администратором. В данном случае речь идет о двух «типовых» повышениях — от любого пользователя до NT AUTHORITY\SYSTEM (учетная запись, обладающая максимальными правами в ОС). Первая уязвимость довольно скучная, поэтому в следующем разделе я вкратце опишу ее. А вот вторая была довольно интересной, в ее разделе я расскажу именно о том, как я ее искал.
    Читать дальше → Read more »
  • [Перевод] Что нового можно ожидать от Node.js в 2020 году?
    В 2019 году Node.js исполнилось 10 лет. Количество пакетов, доступных в реестре npm, пересекло отметку в 1 миллион. С каждым годом объём загрузок самой платформы Node.js увеличивается на 40%. Ещё одной важной вехой для Node.js стало то, что этот проект присоединился к OpenJS Foundation. Благодаря этому можно ожидать улучшения состояния и стабильности проекта, а также, в целом, положительных сдвигов в области взаимодействия членов JavaScript-сообщества.



    Несложно заметить то, что за короткий отрезок времени, за год, в мире Node.js произошло много всего интересного. Каждый год Node.js набирает обороты. У нас нет причин рассчитывать на что-то другое в 2020.

    В следующих релизах Node.js нас ждёт множество интересных возможностей. Этот материал посвящён наиболее значительным новшествам платформы, которые могут появиться в ней в 2020 году.
    Читать дальше → Read more »
  • Дайджест новостей машинного обучения и искусственного интеллекта за ноябрь
    Привет, Хабр! Отфильтровав для вас большое количество источников и подписок, сегодня собрал все наиболее значимые новости из мира будущего, машинного обучения, роботов и искусственного интеллекта за ноябрь. Не забудьте поделиться с коллегами или просто с теми, кому интересны такие новости.

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

    Итак, а теперь дайджест за ноябрь:

    1. MIT разработал новый тип робота, который может расти как растение когда ему требуется дополнительная досягаемость.

    image Читать дальше → Read more »
  • Elixir как цель развития для python async
    В книге «Python. К вершинам мастерства» Лучано Рамальо описывает одну историю. В 2000 году Лучано проходил курсы, и однажды в аудиторию заглянул Гвидо ван Россум. Раз подвернулся такой случай, все стали задавать ему вопросы. На вопрос о том, какие функции Python заимствовал из других языков, Гвидо ответил: «Все, что есть хорошего в Python, украдено из других языков».

    Это действительно так. Python давно живет в контексте других языков программирования и впитывает концепции из окружения: asyncio позаимствован, благодаря Lisp появились лямбда-выражения, а Tornado скопировали с libevent. Но если у кого и стоит заимствовать идеи, так это у Erlang. Он создан 30 лет назад, и все концепции в Python, которые сейчас реализуются или только намечаются, в Erlang давно работают: многоядерность, сообщения как основа коммуникации, вызовы методов и интроспекция внутри живой системы на продакшн. Эти идеи в том или в ином виде находят своё проявление в системах вроде Seastar.io.


    Если не брать во внимание Data Science, в котором Python сейчас вне конкуренции, то все остальное уже реализовано в Erlang: работа с сетью, обработка HTTP и веб-сокетов, работа с базами данных. Поэтому Python-разработчикам важно понимать, куда будет двигаться язык: по дороге, которую уже прошли 30 лет назад.

    Чтобы разобраться в истории развития других языков и понять, куда двигается прогресс, мы пригласили на Moscow Python Conf++ Максима Лапшина (erlyvideo) — автора проекта Erlyvideo.ru.

    Под катом текстовая версия этого доклада, а именно: в каком направлении вынуждена развиваться система, которая продолжает мигрировать от простого линейного кода к libevent и дальше, что общего и в чем отличия между Elixir и Python. Отдельное внимание уделим тому, как на разных языках программирования и платформах управлять сокетами, потоками исполнения и данными.
    Читать дальше → Read more »
  • Как пережить самый суровый ледниковый период в истории Земли?


    В мультфильме «Ледниковый период» мы наблюдаем за веселыми приключениями группы разношерстных животных во время глобального оледенения. В реальности же условия были гораздо более суровыми, а живые организмы всячески старались продлить свое существование. Если же вспомнить про криогений, самый суровый ледниковый период в истории нашей планеты, то возникает вполне очевидный вопрос — как живые организмы сумели пережить его? Группа ученых из университета Макгилла (Монреаль, Канада) решили собрать воедино всю доступную информацию о криогении и выяснили, что эукариоты выжили за счет «кислородных оазисов». Какие физико-химические процессы способствовали продолжению жизни на Земле и какую роль в этом сыграла талая ледниковая вода? Об этом и не только мы узнаем из доклада исследовательской группы. Поехали. Читать дальше → Read more »
  • Golang: на что рассчитывать специалисту по Go в море IT-специальностей?
    image

    В апреле на Хабре публиковалась статья «Зачем вам учить Go», в которой подробно освещались возможности языка и его преимущества.
     
    Ну а сейчас — самое время поговорить о разработчиках Golang, пороге входа в эту отрасль и о том, чего может ожидать Go-разработчик от работодателей как в плане условий работы, так и размера заработной платы. Разобраться во всем этом «Моему кругу» поможет преподаватель курса Golang в GeekBrains Сергей Кручинин, за что ему огромное спасибо. Читать дальше → Read more »
  • [Перевод] Как глупые решения при проектировании самолёта времён Второй мировой привели к созданию Macintosh

    Сначала в падениях самолётов обвиняли пилотов. Однако реальной причиной этого был их дизайн. Этот урок привёл нас к новой эре удобства для пользователя – однако опасности никуда не делись


    Из книги "Удобство пользователей: как скрытые правила дизайна меняют нашу жизнь, работу и игры"



    Б-17 «Летающая крепость» прошёл путь от чертёжной доски до взлётной полосы всего за 12 месяцев, как раз вовремя для того, чтобы стать зловещей рабочей лошадкой ВВС США во время Второй Мировой войны. Пилоты обожали его за потрясающую прочность: Б-17 мог пролетать сквозь яростные шквалы шрапнели и пуль, и выходить из этого испытания немного покоцанным, но в пригодном для полётов состоянии. Он был символом американского гения, оснащённым десятком пулемётов и удерживаемым в воздухе четырьмя пилотами.
    Читать дальше → Read more »
  • Сервис для Active Restore или история одного индустриального проекта в Иннополисе
    Привет, Хабр! Меня зовут Роман, и я хочу рассказать сегодня о том, как мы в университете Иннополис разрабатывали тестовый стенд и сервис для системы Acronis Active Restore, которая скоро должна стать частью продуктовой линейки компании. Всех, кому интересно, как строятся взаимоотношения университета с индустриальными партнерами, приглашаю проследовать под кат.

    image
    Читать дальше → Read more »
  • [Перевод] Фрактальное сжатие изображений
    image

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

    К моему удивлению, репозиторий оказался довольно популярным, поэтому я решил обновить код и написать статью, объясняющую его и теорию.
    Читать дальше → Read more »