• Я мечтал вырваться из Узбекистана и стать крутым разрабом. Больше не хочу — но разработка не отпускает



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

      На меня никогда не давили с учебой. Говорили, отучись и иди работай, не важно кем, главное без дела не сиди. Я не сидел — я рубил в игры, прям дико, даже операцию на глаз пришлось делать. Начал зависать в прокуренных клубах, и одобрение пацанов поднял тем, что хорошо играл в варчик. Потом стал деградировать на районе. Среди друзей никогда не было ни одного разработчика — но это мне в них скорее нравится. Никаких клубов по интересам, даже рэпером никто не хотел стать — просто обычные ребята.
      Читать дальше →
    • Обзор графических интерфейсов для Kubernetes



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

        В прошлом году мы публиковали перевод небольшого обзора web UI для Kubernetes, приуроченного к анонсу веб-интерфейса Kubernetes Web View. Автор той статьи и самой утилиты — Henning Jacobs из компании Zalando — как раз позиционировал новинку в качестве «kubectl для веба». Он хотел создать инструмент с удобными возможностями для взаимодействия в формате техподдержки (например, быстро показать проблему веб-ссылкой) и для реакции на инциденты, поиска проблем во многих кластерах одновременно. Его детище развивается и в настоящее время (в основном, силами самого автора).

        Обслуживая множество Kubernetes-кластеров разных масштабов, мы тоже заинтересованы в возможности предоставлять клиентам инструмент визуальной работы. При выборе подходящего интерфейса ключевыми для нас были следующие возможности:
        Читать дальше →
      • Как работают подсказки в Chromium и что мы сделали с ними в Яндекс.Браузере



          Давненько я ничего не рассказывал о Яндекс.Браузере и Chromium, а ведь интерес к этой теме на Хабре был нешуточный. Пора исправляться. Сегодня хочу поднять тему подсказок, которые мы видим под адресной строкой по мере вводе текста. Об этом почти никто не задумывается, но их работа исторически основана на ручных эвристиках и константах. Недавно с помощью коллег из поиска Яндекса нам удалось применить ML-ранжирование к этим подсказкам. Получилось не с первого раза, но результат того стоил.

          Для лучшего погружения в контекст начнём с истории. Помните ли вы первый браузер в мире? Тот самый, который создал Тим Бернерс-Ли. Честно говоря, и я не помню, но хорошие люди сделали веб-версию для любопытных. Этот браузер умел отображать текст… и всё. Даже картинки на старте не поддерживал. А ещё там не было адресной строки в привычном для нас месте. Сайты открывались через меню, как документы в офисном редакторе. При этом было важно вводить точный адрес желаемой страницы. Забыли про http:// в начале? Получите Bad request. Никакого дружелюбия к пользователям не требовалось, потому что пользователями выступали учёные и технари.

          Но затем интернет пришёл в дома «обычных» пользователей. Интерфейсы стали упрощаться: адресная строка поселилась у всех на виду, а рядом с ней добавили ещё одну — для поисковых запросов. Браузеры научились не только подставлять http://, но и подсказывать людям адреса уже посещённых страниц или введённые ранее запросы. Речь идёт про саджест — подсказки, которые появляются под строкой по мере ввода в неё текста.

          Затем в Chrome адресную строку объединили с поисковой — так родился омнибокс, который умел переваривать как адреса, так и запросы. Причём саджест тоже стал единый. Браузерам пришлось учиться ранжированию подсказок. Поставить на первое место сайт из истории? Или из закладок? Или сходить в облако и предложить окончание запроса? Или оставить WYT (What You Typed) и отправить в поиск?

          Читать дальше →
        • Премии, льготы и бонусы в IT: результаты исследования Хабр Карьеры



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

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

            Из полученных ответов мы сделали наглядные диаграммы и хотим поделиться полученными инсайтами.
            Читать дальше →
            • +28
            • 3,3k
            • 1
          • Некоторые особенности HR-политики в ИТ-ориентированной рознице

              Привет! Меня зовут Катя, я занимаюсь автоматизацией HR-процессов «Леруа Мерлен» в России. Сразу скажу: сама я не пишу код, но участвую в каждом проекте. Хочу рассказать про некоторые особенности того, как это у нас устроено.

              Самый частый вопрос ко мне от новых разработчиков: правда ли, что надо работать в магазине до того, как стать разработчиком «Леруа»? Правда, вне зависимости от того, с чем будет связана ваша работа. Типовое обучение любого сотрудника подразумевает интеграцию в магазине, то есть погружение в процессы розницы. Чем выше должность, тем больше времени на разных линейных должностях придётся проработать. Например, наш руководитель разработки четыре месяца провёл в двух магазинах, работая продавцом, участвуя в инвентаризациях и так далее.

              Второй вопрос: правда ли, что мы выдаём телефоны всем сотрудникам? Правда. У нас есть корпоративные телефоны, которые выдаются всем без исключения сотрудникам магазинов и офиса.

              Третий вопрос обычно — про соцпакет. Да, мы выкинули оттуда всё, кроме медстраховки и еды. Каждый сотрудник в зависимости от стажа работы получает очки, на которые можно «докупать» остальные нужные услуги по меню. Это значит, что можно взять дополнительный полис ДМС с отличным покрытием для родственника, либо получить компенсацию отпуска (билетов, путёвок, отелей), либо получить что-то ещё нужное именно вам.
              Читать дальше →
            • Про “самую” “реалистичную” “интерпретацию” квантовой механики

                Мое внимание привлекла статья: Самая реалистичная интерпретация квантовой механики.


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


                Давайте приступим к анализу содержимого.


                Анализ


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

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

                Читать дальше →
              • Спасибо за собеседование, мы ответим о нашем решении… сейчас

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

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



                  Читать дальше →
                • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

                  Подробнее
                  Реклама
                • Лучше кремния: ученые получили полупроводниковый материал с более совершенными характеристиками

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

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

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

                    shutterstock-1221815014-picture

                    Читать дальше →
                    • +23
                    • 5,8k
                    • 6
                  • Redis на практических примерах

                      Redis — достаточно популярный инструмент, который из коробки поддерживает большое количество различных типов данных и методов работы с ними. Во многих проектах он используется в качестве кэшируещего слоя, но его возможности намного шире. Мы в ManyChat очень любим Redis и активно используем его в нашем продукте для решения огромного количества задач. Про некоторые интересные кейсы использования этой in-memory key-value базы данных я расскажу на примерах. Надеюсь, вам они будут полезны, и вы сможете применить что-то в своих проектах.

                      Рассмотрим следующие кейсы:

                      • Кэширование данных (да, банально и скучно, но это классный инструмент для кэширования и обойти стороной этот кейс, кажется будет не правильно)
                      • Работа с очередями на базе redis
                      • Организация блокировок (mutex)
                      • Делаем систему rate-limit
                      • Pubsub — делаем рассылки сообщений на клиенты

                      Буду работать с сырыми redis командами, чтобы не завязываться на какую-либо конкретную библиотеку, предоставляющую обертку над этими командами. Код буду писать на PHP с использованием ext-redis, но он здесь для наглядности, использовать представленные подходы можно в связке с любым другим языком программирования.


                      Читать дальше →
                    • Как создавать и изменять интерактивные PDF-формы, или новый скилл ABBYY FineReader PDF

                        Мы регулярно обучаем ABBYY FineReader PDF новым навыкам. Две недели назад мы рассказали на Хабре, как научили ABBYY FineReader PDF редактировать целые абзацы. Этот пост — о еще одном продвижении нашего продукта на пути к совершенству: программа теперь умеет создавать и редактировать интерактивные PDF-формы.

                        Раньше ABBYY FineReader PDF мог только заполнять такие формы – заявления на отпуск или визу, резюме, согласие на обработку персональных данных, исследования, опросы и т.д. Но что если компании нужно создать в формате PDF анкету, разработать шаблон документа или отредактировать в готовом бланке несколько полей, чтобы затем отправить его сотрудникам или клиентам? Теперь все это можно сделать в одной программе. О том, как это работает, для чего и кому может понадобиться такая функциональность, мы сегодня и расскажем. Поехали!
                        Читать дальше →
                      • Древности: десятилетие Apple iPad

                          26 января 2010 года Стив Джобс показывает на пресс-конференции планшет iPad. В последний раз сооснователь Apple открывает новую категорию устройств, делает ставку на железо, софт и интерфейс, отработанный до этого на первых айфонах. Попытка удачная: планшеты нового поколения продаются миллионами экземпляров, уже через пару лет они используются повсеместно. Конкуренты пытаются повторить успех на платформе Android, но удается им это не сразу.


                          iPad — это современная история, но в этом году планшетам Apple исполняется десять лет, а значит они попадают в мою условную категорию «нового ретро». В честь юбилея я купил и испытал древний планшет, но экспириенс тут не очень важен: все и так знают, как оно работает. В истории iPad и других современных планшетов интересно другое. Во-первых, как долго индустрия работала над носимыми устройствами с сенсорным экраном и без клавиатуры до iPad. Во-вторых, как быстро подающая большие надежды категория устройств снова стала нишевой.
                          Читать дальше →
                        • Китайские SpaceX и Blue Origin наступают


                            На фото космическая компания Galactic Energy тестирует разделение створок головного обтекателя. Источник: Galactic Energy.

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

                            Ряд китайских частных пусковых компаний сообщили о прогрессе в разработке ряда ракет-носителей для растущего коммерческого космического сектора (в том числе и многоразовых).

                            Landspace и iSpace сообщают о прогрессе с метановыми ракетными двигателями, в то время как Galactic Energy приближается к запуску своей ракеты-носителя Ceres-1. Тем временем Deep Blue Aerospace получила финансирование для разработки целой серии жидкостных ракет-носителей.

                            iSpace — многоразовый носитель и тесты вертикальной посадки


                            Базирующаяся в Пекине iSpace, которая вышла на орбиту еще в июле 2019 года, также продвинулась в разработке собственного кислород-метанового двигателя.


                            Концепция Hyperbola-2 подразумевает 9 двигателей на первой ступени, решетчатые рули, посадочные опоры, в точь как на Falcon9. Источник: iSpace.

                            19 мая двигатель JD-1 с тягой 19 тонн-сил прошел 200-секундное огневое испытание. Двигатель прошел испытание на повторный запуск 27 мая, открыв дорогу для будущих испытаний на вертикального взлета и посадки. Двигатели JD-1 будут приводить в действие многоразовую ракету-носитель Hyperbola-2, способную доставить 1900 кг на низкую околоземную орбиту (НОО).

                            Компания намерена на первом этапе провести 100-километровые испытания взлета и посадки Hyperbola-2 в конце этого года. Полноценный орбитальный испытательный полет запланирован на первую половину 2021 года.

                            Читать дальше →
                          • Как делали набор для сборки классического калькулятора, воссозданного с нуля

                            • Перевод

                            Реплика калькулятора Sinclair Scientific демонстрирует, как заставить дешёвый чип творить чудеса




                            Был ли калькулятор Sinclair Scientific элегантным? Он определённо стал хитом, и после выхода в 1974 украсил обложки журналов — к примеру, Popular Mechanics. Хитроумная прошивка заставляла его весьма ограниченный процессор, способный лишь на базовые арифметические действия, выходить за пределы своих возможностей. Это позволило Sinclair продавать научный калькулятор тысячам людей, которые в ином случае просто не смогли бы себе его позволить. Он работал медленно, иногда выдавал ошибки, и его набора функций едва хватало, чтобы он считался научным калькулятором; кроме того, непосвящённым пользователям было трудно его использовать.

                            Я слышал о нём краем уха благодаря тому, что он стал вехой на пути к зарождению британской индустрии микрокомпьютеров и такой обожаемой многими машине, как Sinclair ZX Spectrum. И когда я увидел реплику калькулятора в магазине Tindie от Криса Чанга, внутри у меня что-то щёлкнуло. Потом я прочёл описание работы оригинального калькулятора (научная запись, и никакой клавиши «равно»?), и как реплика воспроизводит его поведение. Там используется эмулятор с прошивкой, которую получили реверс-инжинирингом путём визуального изучения металла оригинального процессора. И мне, конечно, захотелось попробовать такую штуку.
                            Читать дальше →
                            • +14
                            • 4,3k
                            • 4
                          • Борьба за 5G: передел зон влияния, или игра в наперстки?



                              Быстрее, выше, сильнее — Олимпийский девиз, который является весьма актуальным для создаваемой сегодня ИТ-инфраструктуры. Каждый новый вводимый стандарт радиосвязи все более и более увеличивает объем передаваемой информации, уменьшает латентность сети, а также внедряет не мало полезных новшеств, которые далеко не всегда понятны конечному потребителю услуги. На сегодняшний день, как показывает практика, скачек качественных параметров сетей сотовой связи, от старого поколения к новому, можно описать геометрической прогрессией. Соответственно у нас уже сформировано ожидание, что каждый новый стандарт должен стать в разы более функциональным нежели уже существующий. Ожидание вполне оправдано. На нашей с вами памяти внедрение технологий 2-3-4G, собственно, и были такими прорывами, но что на счет 5G?

                              Встречая разного рода публикации в СМИ, так же как и обсуждая среди знакомых победные реляции мобильных операторов, о готовности к запуску связи 5G, многим из нас воображение автоматически рисует самые чудесные перспективы. К сожалению, кроме покорения сияющих ИТ-вершин новые стандарты беспроводной связи имеют и свои подводные камни, о которых мы не всегда задумываемся. Ситуация усугубляется тем, что появление качественно новых возможностей сети может упереться не только в пределы законов физики, но и в неготовность общества оплачивать создание этих сетей, поскольку не будет видеть на данном этапе потребности в этих самых новых возможностях. Именно об этих неоднозначностях технологии 5G мы с вами и поведем далее разговор.
                              Читать дальше →
                            • Долгосрочное хранение данных в Elasticsearch

                              • Tutorial


                              Меня зовут Игорь Сидоренко, я техлид в команде админов, поддерживающих в рабочем состоянии всю инфраструктуру Домклик.


                              Хочу поделиться своим опытом в настройке распределённого хранения данных в Elasticsearch. Мы рассмотрим, какие настройки на нодах отвечают за распределение шардов, как устроен и работает ILM.

                              Много грязных технических подробностей
                              • +13
                              • 2,2k
                              • 3
                            • А этот товар точно просматривают четырнадцать человек?

                              • Перевод


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

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

                              Иногда это реальная цифра, а иногда случайная. То есть вот прямо совсем случайная.
                              Читать дальше →
                            • Snort или Suricata. Часть 2: установка и первичная настройка Suricata

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

                                Читать дальше →
                              • Код игры Command & Conquer: баги из 90-х. Том первый

                                  image1.png

                                  Американская компания Electronic Arts Inc (EA) выложила в открытый доступ исходный код игр Command & Conquer: Tiberian Dawn и Command & Conquer: Red Alert. Этот код должен помочь игровым сообществам разрабатывать моды и карты, создавать пользовательские юниты и настраивать логику игрового процесса. У всех нас появилась уникальная возможность окунуться в историю разработки, которая очень сильно отличается от современной. Тогда не было сайта StackOverflow, удобных редакторов кода и мощных компиляторов. А ещё тогда не было статических анализаторов, и первое, с чем столкнётся сообщество, — это сотни ошибок в коде. Но с этим-то и поможет команда PVS-Studio, указав на места этих ошибок.
                                  Читать дальше →
                                • Event2Mind для русского языка. Как мы обучили модель читать между строк и понимать намерения собеседника

                                    Умение модели распознавать намерения собеседника, то есть понимать зачем человек совершил то или иное действие, применимо в большом числе прикладных NLP-задач. К примеру, чат-ботам, голосовым помощникам и другим диалоговые системам это позволит эмоционально реагировать на высказывания собеседника, проявлять понимание, сочувствие и другие эмоции. Кроме того, задача распознавания намерения – это еще один шаг на пути к пониманию человеческой речи (human understanding).



                                    Уже было предпринято несколько попыток решить данную задачу в той или иной форме. Например, на NLP-progress публикуются последние достижения в области commonsense reasoning. Слабость большинства существующих моделей заключается в том, что в их основе лежит supervised подход, то есть им требуются большие размеченные датасеты для обучения. А в силу специфичности задачи разметка часто бывает весьма нестандартной и достаточно сложной.

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

                                    В этом посте мы расскажем, как мы создали датасет для задачи Common Sense Reasoning в одной из ее возможных формулировок, предложенной в статье event2mind, а также адаптировали английскую модель event2mind от AllenNLP для русского языка.
                                    Читать дальше →
                                  • Новые фичи в Python 3.9

                                    • Перевод
                                    Обзор на лучших функций, включенных в последнюю итерацию Python.

                                    image

                                    Пришло время, выход новой версии Python неизбежен. Сейчас она в бета-версии (3.9.0b3), но скоро мы увидим полную версию Python 3.9.

                                    Некоторые из новейших функций невероятно интересные, и будет восхитительно видеть их использование после релиза. Мы рассмотрим следующее:

                                    • Операторы объединения словарей
                                    • Тайп хинтинг
                                    • Два новых строковых метода
                                    • Новый Python Parser — это очень круто

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

                                    Объединение словарей


                                    Одна из новых и уже моих любимых фич с синтаксисом. Если у нас есть два словаря a и b, которые нам нужно объединить, мы теперь используем операторы объединения.

                                    У нас есть оператор слияния “|”:

                                    a = {1: 'a', 2: 'b', 3: 'c'}
                                    b = {4: 'd', 5: 'e'}
                                    c = a | b
                                    print(c)

                                    [Out]: {1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}

                                    И оператор обновления “|=”, который обновляет исходный словарь:

                                    a = {1: 'a', 2: 'b', 3: 'c'}
                                    b = {4: 'd', 5: 'e'}
                                    a |= b
                                    print(a)

                                    [Out]: {1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}

                                    Если наши словари имеют общий ключ, будет использована пара ключ-значение со второго словаря:

                                    a = {1: 'a', 2: 'b', 3: 'c', 6: 'in both'}
                                    b = {4: 'd', 5: 'e', 6: 'but different'}
                                    print(a | b)

                                    [Out]: {1: 'a', 2: 'b', 3: 'c', 6: 'but different', 4: 'd', 5: 'e'}
                                    Читать дальше →

                                  Самое читаемое