Pull to refresh

Technotext

Как я устроился в Амазон и перестал переживать за свой английский

Level of difficultyEasy
Reading time7 min
Views105K

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

Меня зовут Андрей Столбовский, последние 5 лет я работал в Яндексе, а в прошлом году перешёл в Амазон и теперь работаю Software Development Manager в AWS Redshift – это мой первый полноценный опыт работы в международной компании. 

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

Итак, поехали. 

Поехали!

userver — что мы узнали за полгода в open-source

Level of difficultyEasy
Reading time7 min
Views20K
image
Прошло больше полугода с момента выхода фреймворка для C++ ? userver в open-source. За это время мы многое узнали, на многом настрадались, а главное — получили много приятных сюрпризов.

И мы решили об этом написать. Рассказ будет полезен тем, кто ведёт или планирует вести свой open-source проект или занимается контрибьютами. Остальным будет интересно почитать про чужое набивание шишек и что вообще open-source даёт проекту.
Читать дальше →

Внутреннее представление и оптимизации строк в JavaScript-движке V8: «отмываем» строки, «обгоняем» C++

Level of difficultyMedium
Reading time8 min
Views13K

С самого рождения JavaScript в каком-то смысле был языком для манипулирования текстом — от веб-страничек в самом начале до полноценных компиляторов сейчас. Неудивительно, что в современных JS-движках достаточно много сил уделено оптимизации внутреннего представления строк и операций над ними.

В этой статье я хочу рассмотреть, как могут быть представлены строки в движке V8. Попытаюсь продемонстрировать их эффект, обогнав C++ в очень честном бенчмарке. А также покажу, в каких случаях они могут, наоборот, привести к проблемам с производительностью, и что в таких случаях можно сделать.
Читать дальше →

Самое понятное объяснение Специальной теории относительности

Level of difficultyMedium
Reading time13 min
Views141K

Специальная теория относительности - удивительная теория, которая опровергла многие представления о мире, в которых человечество не сомневалось всю историю своего существования.

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

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

Для иллюстраций я написал интерактивный визуализатор СТО, работающий в браузере. Ссылка на него и исходники проекта в конце статьи.

Читать далее

Будни техпода. Ошибки при подключении по RDP

Level of difficultyEasy
Reading time8 min
Views70K


Для доступа удалённому Windows-серверу из Windows-системы большинство администраторов используют протокол удалённого рабочего стола (Remote Desktop Protocol — RDP). Есть, конечно, и существенная доля тех, кто оперирует более обширным перечнем вариантов подключения — Microsoft Remote Assistance, VNC, Radmin и много чего ещё, но мы поговорим про RDP. Вернее, не о самом RDP, а о проблемах, которые могут возникнуть при подключении к удалённому серверу при помощи этого протокола.

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

Станция Дуо Макс. Как мы создавали первую умную колонку Яндекса с экраном

Reading time9 min
Views27K

Недавно на YaC 2023 мы показали нашу новую колонку — Станцию Дуо Макс. Это первая умная колонка Яндекса с сенсорным экраном и флагман в нашей новой категории устройств. Дуо Макс предложит пользователям как уже знакомые возможности других Станций, так и новые способы взаимодействия с Алисой. 

Под катом — не только подробности об устройстве и наше видение назначения экрана, но и несколько историй разработки. Например, вы узнаете, как экран влияет на акустику устройства и к каким неожиданным изменениям привела возможность повернуть его на 90 градусов. Расскажем про видеозвонки в Telegram и нейросетевой фокус. Ну и закончим пост историей о том, как мы приняли участие в отладке процессора.

Читать далее

Графика древности: пятая волна. Новые технологии и 3DO (часть 1/4)

Level of difficultyMedium
Reading time24 min
Views11K

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

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

Как и пиксель-арт до этого, раннее 3D теперь приобрело новое прочтение. В последнее время авторы современных игровых проектов всё чаще целенаправленно обращаются к этой забытой визуальной эстетике полигонального минимализма. Поговорим о том, как всё это начиналось, как было устроено и к чему привело.
Читать дальше →

Немодерируемые UX-тесты: 6 советов, как избежать факапов

Level of difficultyMedium
Reading time8 min
Views4.5K

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

Для UX-дизайнера плюсы немодерируемых тестов очевидны. Это быстрый — результаты можно получить за считанные часы, — недорогой и легко масштабируемый способ проверить решения. При этом у него есть существенный минус: невозможность скорректировать что-либо в процессе. К примеру, если мы узнаём об ошибках в ходе модерируемого исследования, то можем поправить гайд и быстро взять правильный курс. Немодерируемые тесты обладают меньшей гибкостью: как правило, если мы ошиблись в начале, то и результат будет некорректным. Именно поэтому к проведению таких тестов стоит относиться с особым вниманием, тщательно прорабатывая их содержание.

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

Читать далее

Улучшаем динамические таблицы YTsaurus с помощью алгоритмов

Reading time17 min
Views5.7K

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

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

В этой статье разберёмся, как работает xor-фильтр, в чём особенность чанкового хеш-индекса и как overload controller повышает стабильность работы. Все примеры разберём на примере YTsaurus, но они будут полезны любому разработчику СУБД.

Читать далее

YTsaurus: основная система для хранения и обработки данных Яндекса теперь open source

Reading time14 min
Views66K

Привет! Меня зовут Максим Бабенко, я руковожу отделом технологий распределённых вычислений в Яндексе. Сегодня мы выложили в опенсорс платформу YTsaurus — одну из основных инфраструктурных BigData-систем, разработанных в Яндексе.

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

В Github-репозитории находится серверный код YTsaurus, инфраструктура развёртывания с использованием k8s, а также веб-интерфейс системы и клиентский SDK для распространённых языков программирования — C++, Java, Go и Python. Всё это — под лицензией Apache 2.0, что позволяет всем желающим загрузить его на свои серверы, а также дорабатывать его под свои нужды.

Читать далее

О методах позиционного кодирования в Transformer

Level of difficultyHard
Reading time10 min
Views15K

Обзор методов кодирования позиций токенов в нейросетевых моделях Transformer с упором на обработку длинных текстов. Для тех, кто учит и использует LLM, и для всех интересующихся.

Читать далее

Методика D.I.Y. проекта. Стратегия выживания

Level of difficultyEasy
Reading time9 min
Views10K

Каждый, кто начинал D.I.Y.-проект, помнит душевный подъём вначале, когда ты полон идей и решимости воплотить их в жизнь, а затем угасание энтузиазма, чем дальше, тем больше. И если в коммерческой разработке вероятность достижения целей проекта в срок и в рамках бюджета и так не очень высока, то вероятность завершения D.I.Y.-проекта хоть с каким-нибудь положительным результатом – ещё ниже. Всегда найдётся что-то более срочное, более важное, да и более выгодное тоже, и выделенные на D.I.Y. деньги и время уйдут туда.

Бывает и так, что энтузиазм не угасает, но после многочисленных безрезультатных попыток и серьёзных материальных вложений становится предельно ясно, что целей D.I.Y.-проекта достичь невозможно. Результатами такого проекта становятся все пять стадий принятия неизбежного, и радостно от этого никому не бывает.

При этом D.I.Y.-проекты нужны для творческой самореализации, а не для того, чтобы быть как тяжёлый чемодан без ручки, который и нести тяжело, и бросить жалко. И этот рассказ о том, как организовать свой проект так, чтобы, с одной стороны, достичь поставленных целей без каких-либо существенных затрат, а с другой, иметь возможность при необходимости закрыть этот проект без всякого сожаления.
Как это работает

Китайский язык очень сложный. Мы сделали для него перевод видео

Reading time6 min
Views24K


Привет, меня зовут Артур Яковлев, я делаю голосовой перевод видео в Яндекс Браузере. Примерно с лета я работаю над тем, чтобы научить Браузер переводить с китайского на русский. Почему мы посчитали это важной и интересной задачей? Дело в том, что китайская часть интернета содержит значительное количество видеоконтента, который за пределами страны почти не смотрят.

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

Помощь с текстом, перевод видео с японского и корейского, распознавание QR-кодов — что умеет обновлённый Яндекс Браузер

Level of difficultyEasy
Reading time11 min
Views14K

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

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

Читать далее

Как мы научили YandexGPT пересказывать видео

Level of difficultyMedium
Reading time14 min
Views19K

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

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

Читать далее

Автоматизация создания тестовых данных и загрузки исторических данных в SAP на основе SAP GUI Scripting

Level of difficultyHard
Reading time9 min
Views3.1K

Привет, Хабр! Меня зовут Василь Хамидуллин, я работаю в ЦК тестирования АСУ ФХД в компании РСХБ‑Интех. Продолжу тему использования SAP для автоматизации подготовки данных. В прошлом материале говорили про LSMW и как данный инструмент можно использовать для автоматизации подготовки тестовых данных. Сегодня расскажу про способ загрузки исторических данных в SAP на основе SAP GUI Scripting.

Читать далее

«Потерянный» арифмометр: Считающие часы Вильгельма Шиккарда

Level of difficultyEasy
Reading time8 min
Views4.1K

Продолжаем серию небольших исторических статей про кассовые аппараты и арифметические устройства. Мы уже рассказывали вам про такие знаковые изобретения, как арифмометры Чёбышева, Лейбница и Однера, а также про знаменитые советские кассы ОКА 4401 и Националь. Сегодня поговорим про устройство, считающееся первым арифмометром (не считая антикитерского механизма) — «Считающие часы», изобретенные немецким математиком и астрономом Вильгельмом Шиккардом в 1623 году.

Читать далее

Почему при умножении «минус на минус» дает «плюс»?

Level of difficultyMedium
Reading time45 min
Views41K

(фотография треков частиц и античастиц. источник: www.sciencephoto.com )

В чем, собственно, вопрос


Когда вы учились в школе, разве у вас не возникало желание получить простое объяснение, почему при умножении чисел “минус на минус” дает “плюс”? С умножением двух положительных все просто: $3 \times 5$ — это, когда у вас есть $3$ корзины по $5$ яблок. Умножение положительного и отрицательного тоже легко себе представить: $3 \times (-5)$ — это когда вы одолжили у соседа $3$ корзины по $5$ яблок в каждой и все эти яблоки уже съели. Но как тогда при помощи корзин и яблок предать смысл произведения $(-3) \times (-5)$ и почему оно неожиданно оказывается тем же самым, что и $3 \times 5$?

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

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

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

Фишинг «фичи» Телеграма

Level of difficultyEasy
Reading time4 min
Views43K

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

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

Читать далее

Хочешь хорошую зарплату — не ленись развиваться и получать фундаментальные знания

Level of difficultyEasy
Reading time5 min
Views28K

Привет всем! Я Анжелика Максимова, ведущий инженер из РСХБ‑Интех. 10–11 февраля, я выступала на ИТ‑конференции «Pro IT Fest» в Санкт‑Петербурге. На мероприятии мы с коллегами из разных компаний обсуждали боли на тему фундаментальных знаний и заметили удивительную закономерность. Перед нашим выступлением была секция, посвященная заработной плате. Зал был настолько полон, что не было возможности даже открыть дверь, а на секции про знания народу было меньше.

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

Читать далее