Как стать автором
Поиск
Написать публикацию
Обновить
-2
0.1

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

Отправить сообщение

Как устроены адресные подсказки «Дадаты»

Время на прочтение6 мин
Количество просмотров18K


«Дадата» с 2014 года пилит «Подсказки». Они помогают быстро и без ошибок вводить контактные данные: адреса, реквизиты банков и компаний, емейлы — вот это все.


Штука устроена затейливо, и мы решили о ней рассказать. Возьмем подсказки по адресам, потому что они самые сложные.


Справочники и индексация


«Подсказки» знают, что подсказывать, потому что у них есть гигантские справочники. Хоть статья эта о подсказках по адресам, для пользы дела перечислю и другие справочники «Дадаты».


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

Бенчмарк нового тензорного процессора Google для глубинного обучения

Время на прочтение5 мин
Количество просмотров17K

Каждое устройство Cloud TPU состоит из четырёх «чипов TPUv2». В чипе 16 ГБ памяти и два ядра, каждое ядро с двумя юнитами для умножения матриц. Вместе два ядра выдают 45 TFLOPS, в общей сложности 180 TFLOPS и 64 ГБ памяти на один TPU

Большинство из нас осуществляет глубинное обучение на Nvidia GPU. В настоящее время практически нет альтернатив. Тензорный процессор Google (Tensor Processing Unit, TPU) — специально разработанный чип для глубинного обучения, который должен изменить ситуацию.

Через девять месяцев после первоначального анонса две недели назад Google наконец-то выпустила TPUv2 и открыла доступ первым бета-тестерам на платформе Google Cloud. Мы в компании RiseML воспользовались возможностью и прогнали парочку быстрых бенчмарков. Хотим поделиться своим опытом и предварительными результатами.

Давно мы ждали появления конкуренция на рынке оборудования для глубинного обучения. Она должна разрушить монополию Nvidia и определить, как будет выглядеть будущая инфраструктура глубинного обучения.
Читать дальше →

Анонс Google Summer of Code 2018 для проекта radare2

Время на прочтение4 мин
Количество просмотров7.2K


В этом году мы решили возобновить публикации результатов предыдущего и анонсировать новый GSoC для проекта с открытым исходным кодом radare2 на ресурсе Habrahabr.

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

Возможно, вам не нужен Rust, чтобы ускорить ваш JS

Время на прочтение32 мин
Количество просмотров29K

Несколько недель назад я обнаружил пост "Окисляем Source Maps с Rust и WebAssembly"
распространяющийся по Твиттеру и расказывающий о выигрыше в производительности от замены обычного JavaScript в библиотеке source-map на Rust, скомпилированный в WebAssembly.


Пост возбудил мой интерес не потому, что я большой фанат Rust или WASM, скорее потому что я всегда интересовался фичами языков и оптимизациями, которых не хватает Javascript для того чтобы достичь аналогичной производительности.


Так что я скачал библиотеку с GitHub и отправился в небольшое исследование производительности, которое я документирую здесь практически дословно.

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

Метод Бенджамина Франклина для чтения книг по программированию

Время на прочтение4 мин
Количество просмотров34K
Посмотрим правде в глаза, книги по программированию — отстой. Эти общие книги по распределённым системам, науке о данных и так далее — их можно читать бесконечно. Но за редким исключением у практических руководств по языку/фреймворку/СУБД/кексопечке есть нечто общее. Зверюшка на обложке, примеры вычурных приложений, они так легко забываются, так банальны, настолько… ничему не учат.

Думаю, я наконец-то понял, почему они мне не нравятся. И не только потому что они учат навыкам, которые скоро станут устаревшими. Это их педагогический подход в целом. Алгоритм обучения как будто такой: напиши эти программы, где мы говорим всё, что нужно сделать, и теперь ты знаешь этот язык/фреймворк/базу данных/кексопечку. Главное в этих книгах — длинные листинги кода, которые читатель должен воспроизвести. Вот пример из одной из лучших книг этой категории.

class User < ApplicationRecord
  attr_accessor :remember_token
  before_save { self.email = email.downcase }
  validates :name,  presence: true, length: { maximum: 50 }
  VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
  validates :email, presence: true, length: { maximum: 255 },
                    format: { with: VALID_EMAIL_REGEX },
                    uniqueness: { case_sensitive: false }
  has_secure_password
  validates :password, presence: true, length: { minimum: 6 }

  # …далее ещё 30 строчек...
end

Традиционно есть два способа изучить такую страницу:

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

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

UPDATED: Амплифицированные memcached DDoS-атаки на 500 Гбит/с прокатились по всей Европе

Время на прочтение2 мин
Количество просмотров34K


Давным-давно в далеком-далеком git-репозитории Брайаном Акером был сделан коммит, внедряющий замечательную фичу прослушивания UDP трафика в установке memcached по умолчанию.

А между 23 и 27 февраля 2018 года по всей Европе прокатилась волна memcached-амплифицированных DDoS атак.
Читать дальше →

Пунктирные вау-эффекты: о магии простыми словами

Время на прочтение7 мин
Количество просмотров39K


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

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

Две модели лучше одной. Опыт Яндекс.Переводчика

Время на прочтение11 мин
Количество просмотров23K
Когда-то мы уже рассказывали о том, как появился и развивался машинный перевод. С тех пор произошло ещё одно историческое событие – его наконец-то покорили нейронные сети и глубокое обучение. Среди задач обработки естественного языка (Natural Language Processing, NLP) машинный перевод одним из первых получил строгое статистическое основание — еще в начале 1990-х. Но в сфере глубокого обучения он оказался относительно запоздавшим участником. В этом посте мы — команда Яндекса по машинному переводу — обсуждаем, почему это заняло так много времени и какие новые возможности открыл машинный перевод на основе нейросетей.

Мы также будем рады ответить на вопросы на встрече «Яндекс изнутри: от алгоритмов до измерений — в Переводчике, Алисе и Поиске» 1 марта (можно зарегистрироваться или задать вопрос в чате трансляции).



Фразовый машинный перевод


Всего три года назад почти все серьезные промышленные и исследовательские системы машинного перевода были построены с использованием конвейера статистических моделей («фразовый машинный перевод», ФМП), в котором нейронные сети не участвовали. Фразовый машинный перевод впервые сделал машинный перевод доступным для массового пользователя в начале 2000-х годов. При наличии достаточного количества данных и достаточных вычислительных ресурсов ФМП позволял разработчикам создавать системы перевода, которые в основном давали представление о смысле текста, но изобиловали грамматическими, а иногда и семантическими ошибками.
Читать дальше →

ПЕРЕВОД: Почему важна децентрализация

Время на прочтение9 мин
Количество просмотров6K

Крис Диксон (венчурный аксакал, иначе не сказать) в статье ниже сообщил такую картинку:


  1. Открытые протоколы легли в основу интернета. Но главное их качество — открытость, замотивировало интересантов пользоваться ими без оглядки («общую лодку не утопят»). Так вырос веб.
  2. Над открытыми протоколами стали строить бизнесы, удовлетворяя запросы пользователей. Это породило централизованные решения (Google/ Facebook/ Twitter etc.), что помогло пользователям, но стало тормозить технологический рост и вызвало общественные дискуссии. Обременение размером замедляет лидеров рынка.
  3. За счёт того, что интернет хранит пространство «отлитой в коде человеческой мысли» (термин автора), а она безгранична, перестраивать варианты удовлетворения запросов людей в виде software можно бесконечно. Программный слой легко адаптировать к ситуации и распространить на весь мир почти мгновенно.
  4. Криптосети сохраняют привлекательность открытости (1) и возможности «софтверного пульвелизатора» (3), вследствие чего централизованные ИТ-корпорации (2) сильно изменятся.
Читать дальше →

Большое Красное Пятно Юпитера меняется и уменьшается в размерах

Время на прочтение3 мин
Количество просмотров18K


Планета-гигант Юпитер отличается от всех прочих не только своими размерами. Астрономы уже давно выделяют ее, поскольку около экватора можно наблюдать интересный природный феномен, который получил название Большое Красное Пятно. Это, насколько можно понять, гигантский ураган, который настолько большой, что туда без проблем войдет несколько таких планет, как наша Земля.

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

Говорим как американцы: особенности американского произношения

Время на прочтение5 мин
Количество просмотров76K
Очень часто изучение английского языка ведется по британским пособиям, и в результате студент умеет говорить и слышать только рафинированный британский «королевский английский», который, по сути, никем не употребляется. Да-да, даже самой королевой. Но львиная доля бизнеса и практически вся сфера развлечений (кино, музыка, игры) сопряжены с Америкой и американским английским. Вот с ним-то у студентов чаще всего возникают трудности: ничего не понятно, слышно только «р» и «что-то в нос», американцы будто бы «проглатывают» окончания или вовсе целые слова.

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

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

Новинки Xiaomi-2. Вот это техновинегрет

Время на прочтение8 мин
Количество просмотров45K
Xiaomi строит экосистему и стремится охватить все стороны жизни пользователей, причём не только китайцев, но и жителей других стран. Однако есть какая-то непоследовательность в развитии гиганта: странные коллаборации сменяются отличными комплексными решениями (типа умного дома), неинтересные умные кроссовки соседствуют с крутыми обучающими конструкторами. Всё это приковывает внимание к техногиганту с большей силой. Мы собрали интересные новинки и удивившие нас гаджеты — и не поверите, среди них нет ни одного смартфона. Тизеров больше не будет — обо всём читайте под катом.


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

В Курчатовском институте разработали микробные топливные элементы

Время на прочтение3 мин
Количество просмотров6.5K
В Национальном исследовательском центре «Курчатовский институт» разработали инновационные микробные топливные элементы, которые можно использовать в различных устройствах Интернета вещей. Например, в полевых датчиках для мониторинга состояния воды, почвы и воздуха. Такие датчики способны автономно работать длительное время, не требуя обслуживания, пишут «Известия».

«Мы создали первый прототип — датчик, способный измерять сразу несколько параметров: температуру, давление, влажность. Он использует автономное энергопитание и передаёт информацию раз в полчаса, чаще для городских служб обычно не нужно», — рассказал Павел Готовцев, заместитель руководителя отдела биотехнологий и биоэнергетики комплекса НБИКС-технологий НИЦ «Курчатовский институт».
Читать дальше →

Предпочтения и навыки программистов разных стран: DataArt изучил статистику платформы Skillotron

Время на прочтение2 мин
Количество просмотров6.2K


В августе 2017 года DataArt запустил игровую платформу самопроверки знаний для IT-специалистов Skillotron. За полгода ее пользователями стали более 7 тысяч человек из 54 стран, а мы успели собрать интересные данные об особенностях поведения игроков. Исследование не претендует на универсальность — мы не утверждаем, что статистика Skillotron отражает положение дел в IT в целом. Но посмотреть на нее нам было интересно, тем более, что для DataArt Skillotron — необычный опыт разработки собственного продукта.
Читать дальше →

Воображаемая речь субъективно снижает громкость звука вокруг человека

Время на прочтение3 мин
Количество просмотров5.3K

Результаты эксперимента: рейтинг воспринимаемой громкости окружающего звука среди испытуемых, которые воображали громкий звук (красная линия), тихий звук (синяя) или не воображали никакого звука (чёрная)

Есть много свидетельств тому, что нисходящие процессы переработки информации в человеческом мозге (то есть визуальные и звуковые «галлюцинации») изменяют восприятие различных внешних стимулов. Например, гораздо легче услышать звонок телефона, если вы ожидаете этот звонок. И наоборот, если о чём-то задуматься, то можно не услышать (не обратить внимания) на какие-то внешние звуки.

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

Учёные выяснили, что эти нисходящие ожидаемые модуляции могут происходить весьма специфическим способом — аналогичные внутренние представления могут быть индуцированы нисходящими процессами без физической стимуляции. Согласно гипотезе, эти генерируемые внутри представления взаимодействуют с восходящей сенсорной информацией (зрение, слух) — и тем самым модулируют восприятие. Специалисты пока не пришли к единому мнению, как работают визуальные и звуковые образы. Многочисленные исследования по нейровизуализации показали, что первичная зрительная кора действительно активно участвует в формировании визуальных образов (так называемые «галлюцинации» или «сны»), задействуя память и другие участки. А вот активность первичной звуковой коры в процессе нисходящих звуковых модуляций (звучащих «голосов») обнаружить пока не удалось.
Читать дальше →

Аудит программного кода необходим. Безопасность через неясность — зло

Время на прочтение2 мин
Количество просмотров10K
25 января информационное агенство Reuters сообщило что такие фирмы как McAfee, SAP и Symantec позволили российским спецслужбам произвести изучение исходного кода своих продуктов, а это «потенциально подвергает опасности компьютерные сети как минимум дюжины федеральных агенств CША ». Данная статья призвана рассказать об аудите исходного кода и какие компании его допускают, а так же рассмотреть тезис о том, что «разрешение России изучать исходный код таких программных решений может привести к выявлению неизвестных уязвимостей, которые могут быть использованы для подрыва сетевой безопасности США».
Читать дальше →

Самые тяжелые ситуации в офтальмологии (немного жести)

Время на прочтение10 мин
Количество просмотров138K


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

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

Начнём с ресниц, прорастающих внутрь глаза.
Читать дальше →

Почему ты не можешь сделать кэшаут

Время на прочтение13 мин
Количество просмотров29K
Статья написана для начинающих инвесторов, которые оценивают риски инвестиций в криптовалюты, а не для опытных участников крипторынка — прим. пер.



Часть 1. Почему «цена» биткоина во многом фикция


В публичных дискуссиях и статьях в СМИ о биткоинах делаются некоторые предположения:

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

Всё это неправда.
Читать дальше →

Освобождённая эволюция

Время на прочтение14 мин
Количество просмотров8.5K

Устраивать ли эволюционной биологии серьёзный пересмотр, или же никакой «революции» не предвидится?




Когда исследователи из Университета Эймори в Атланте тренировали мышей пугаться запаха миндаля (при помощи электрических разрядов), они к своему ужасу обнаружили, что и дети, и внуки этих мышей тоже боялись запаха миндаля. Но такого быть не должно. Многим поколениям школьников рассказывали, что наследовать приобретённые свойства невозможно. Мышь не может рождаться со знанием, полученным её родителями – это как если бы мышь, потерявшая хвост во время несчастного случая, родила бы бесхвостую мышь.

Нет ничего постыдного в том, чтобы не знать о состоянии современной эволюционной биологии, если только вы, конечно, не биолог. Она восходит корнями к синтезу наук, возникшему в 1940-60 годах, поженившему механизм естественного отбора, открытый Чарльзом Дарвином, с открытием Грегора Менделя наследования генов. Традиционный, до сих пор преобладающий подход, говорит о том, что адаптация – всего, от человеческого мозга до хвоста павлина – полностью и удовлетворительно объясняется естественным отбором (и последующим наследованием). Однако с появлением новых идей из геномики, эпигенетики и биологии развития большая часть эволюционистов соглашаются с тем, что их область знаний меняется. Множество данных говорит о том, что процесс эволюции гораздо сложнее, чем когда-то считалось.
Читать дальше →

Путеводитель по полиномам и сплайнам для программиста

Время на прочтение5 мин
Количество просмотров28K


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

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

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



Для его вычисления требуется всего 6 действий умножения и 3 сложения. Это важно, поскольку ваша модель будет постоянно подвергаться вычислениям. Но и здесь мы можем произвести оптимизацию. В этом нам поможет схема Горнера. С ее помощью тот же самый многочлен можно записать в виде
Читать дальше →

Информация

В рейтинге
5 141-й
Зарегистрирован
Активность