• Евгений Варавва, разработчик в Google. Как описать Google в 5 словах

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


      Наверное, Google — для каждого своей. Для каждого наблюдателя — сотрудника, независимого разработчика и админа, конкурента, просто человека интересующегося IT-тематикой, пользователя в сети, вбивающего в адресную строку браузера google.com.


      Я познакомился c Евгением Вараввой, разработчиком широкого профиля в Google (Сан-Франциско), на Слёрме SRE — он там вовсю с удовольствием запутывал участников задачками, неожиданными багами и проблемами учебного проекта.


      А после, когда начали расставлять столы, усталые участники прощаться друг с другом, сотрудники Слёрма убирали провода, роутеры и сетевые удлинители, я пригласил Евгения поговорить — каким он видит Google. Изнутри. И изменилась ли его ощущение и точка зрения за десяток лет работы в компании.


      Что получилось — читайте…



      Читать дальше →
      • +22
      • 12.6k
      • 8
    • Пиши, не сокращай. Чего мне стало не хватать в публикациях Хабра

        Избегаем оценочных суждений! Дробим предложения. Выкидываем ненужное. Не льем воду.
        Факты. Цифры. И без эмоций.

        «Информационный» стиль, прилизанный и гладкий, накрыл технические порталы с головой.
        Привет постмодерн, теперь наш автор мертв. Уже взаправду.


        Читать дальше →
      • Язык программирования Zig


          Первым комментарием к замечательной статье Субъективное видение идеального языка программирования оказалась ссылка на язык программирования Zig. Естественно, стало интересно, что же это такое за язык, который претендует на нишу C++, D и Rust. Посмотрел — язык показался симпатичным и в чем-то интересным. Приятный си-подобный синтаксис, оригинальный подход к обработке ошибок, встроенные сопрограммы. Данная статья является кратким обзором официальной документации с вкраплениями собственных мыслей и впечатлений от запуска примеров кода.
          Читать дальше →
        • Как развивались комментарии к коду с 1940-х до 2020 года

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

          image

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

          • Translation

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


          Так происходило и со мной: на протяжении последних десяти лет я пробовал различные сервисы и программы по управлению временем/задачами, читал море статей по этой теме, но всё как-то не мог найти свой идеальный подход до последнего времени. Последние пару лет я пришел к тому, что начал использовать Visual Studio Code (VSCode) и расширение Org Mode для управления временем и задачами. В этой статье я расскажу, как я это делаю. Не скажу, что я стал супер высокоэффективным, но эффект чувствуется.

          Читать дальше →
        • Пишем драйвер для ноутбука for fun and profit, или как закоммитить в ядро даже если ты дурак

          С чего всё началось


          Начнём с постановки проблемы. Дано: один ноутбук. Новый ноутбук, геймерский. С RGB-подсветкой. Вот такой примерно ноутбук:

          image
          Картинка взята с lenovo.com

          Есть ещё программа к этому ноутбуку. Программа как раз этой подсветкой и управляет.

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


            Часть 1


            Праздничное настроение отгудело. Астрономы занялись обычной работой.


            13 января 2020 года мимо Земли пролетает огромное космическое тело размером с Нептун. Что это было так никто и не понял, потому что появилось и исчезло космическое тело ровно из ниоткуда. Уфологи, физики и астрономы долго спорили о природе возникшего явления. Уфологи выдвигали идеи о том, что некий космический корабль пришельцев совершил гиперпрыжок в пространство возле Земли, понял, что промахнулся и лететь нужно дальше и провёл гиперпрыжок снова. В пользу этой теории говорили записи с некоторых устройств, записывающих радиоэфир. Физики и астрономы пытались оспорить мнение, указывая на сильные пульсации, зафиксированные приборами. К тому же, корабли подобного размера построить просто немыслимо. С Земли его видно не было. Фотографий из космоса сделать никто не смог. Да и вряд ли бы успел. Тело возле Земли появилось всего на 10 минут. Приборы конечно отработали мгновенно, но вот люди не сразу сообразили что происходит и куда смотреть. Обозвали странное тело "Чеширским котом".

            Читать дальше →
          • Боевой арсенал Erlang разработчика

            Доброе время суток, уважаемая аудитория хабра.

            В данной публикации я хотел описать свой опыт перехода с корпоративного Java на Erlang.

            Погружения в Erlang в первом приближении

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

            После довольно продолжительного времени Java/Python разработки, я решил кардинально изменить сферу деятельность и открыл для себя Erlang.
            Читать дальше →
          • Я в одиночку отрефакторил 15 тысяч строк легаси. Это были худшие две недели в жизни



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

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

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

                • Translation

                В ситуации, когда Google со своим Chrome доминирует на рынке, его некоммерческий конкурент Mozilla делает ставку на успешное возвращение с упором на конфиденциальность




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

                В реальности две трети пользователей перешли на Google’s Chrome, однако в вопросе выбора браузера есть такой момент, как открытость сети и то, какие данные о пользователях он собирает. Подобные вопросы на передний план всегда выставляла такая организация, как Mozilla.
                Читать дальше →
              • Как начать заниматься Bug Bounty

                • Translation
                Друзья, в этом месяце Otus запускает набор на новый курс — «Безопасность приложений». В преддверии старта курса традиционно подготовили для вас перевод полезного материала.




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

                Я занимаюсь Bug Bounty уже пять лет. Тем не менее, есть множество вещей, которых я не знаю, да и сам я не эксперт, поэтому прошу не считать эту статью советом от эксперта. Я просто поделюсь тем, чего достиг за последние 5 лет, совершенствуя свои навыки день ото дня.
                Читать дальше →
                • +12
                • 5.1k
                • 5
              • zsh: tips & tricks

                • Tutorial

                zsh logoО zsh не раз писали на хабре. Однако, и как те топики, и как мои личные наблюдения, показывают, что большинство людей, знакомых с zsh, используют его как bash с продвинутым автокомплитом. Да и тот (автокомплит) используют не на полную катушку.



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

                Если вам интересно, и вы не сторонник холиваров, милости прошу
              • Используем passwordstore.org — менеджер паролей в стиле KISS

                Всем привет. В этой статье я хотел бы поделиться своим опытом настройки и использования pass — менеджера паролей для Linux и не только, примечательного своей простотой, использованием уже присутствующих в системе инструментов и возможностью работать исключительно из консоли. Конкретнее, будут затронуты проблемы, связанные с генерацией и хранением секретного ключа gpg, а также с настройкой совместной работы pass, gpg, git, github и браузера. Всё — под Linux, Windows и Android.

                Читать дальше →
                • +18
                • 4.9k
                • 1
              • Информационная безопасность? Нет, не слышали

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

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

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

                  Читать дальше →
                • Как я 12 лет создавал свой ЯП и компилятор к нему



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

                  Здравствуй, читатель! Меня зовут Александр, родился я в небольшом городке (меньше 10000 человек) в Беларуси. Моя семья была бедной, игрушек крайне мало, про компьютер и какие либо приставки вообще можно не заикаться. Не смотря на то, что семья была бедной, у матери были не бедные родственники, которые иногда дарили нам какие либо не дешевые вещи. И вот однажды (где то в 2001 году) эти самые родственники, дарят нам компьютер «Байт»(советский аналог ZX Spectrum 48k). Радости моей не было предела! Сразу же я начал, запускать на нем игры. Игры на этом компьютере загружались с обычных аудиокассет с магнитной лентой. Загрузка одной игры длилась примерно 5 минут и с не малой вероятностью, могла прекратиться из-за некачественного сигнала. Чтобы увеличить вероятность успешной загрузки, мне приходилось протирать спиртом и регулировать положение считывающей головки магнитофона. Весь этот шаманизм при загрузке, длительность загрузки и невозможность сохраняться в играх, привели к тому, что постепенно я начал терять интерес к играм. Но вместе с «Байт»-ом мне также подарили книгу, по работе с этим компьютером. Я решил прочитать эту книгу, чтобы узнать больше о возможностях «Байт»-а. В книге оказался учебник по встроенному в «Байт» языку программирования «Бэйсик».
                  Читать дальше →
                • GNU Emacs. Статья, которую я так и не нашел…

                  Доброго времени суток, Читатель!

                  В данной статье хочу подробно рассказать про настройку текстового редактора GNU Emacs.

                  Операционная система GNU Emacs — программируемый текстовый редактор для программистов, написанный на программируемом языке программирования.

                  Для расширения Emacs используется диалект языка LispEmacs Lisp.
                  Читать дальше →
                • Как оценить уровень владения английским языком



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

                    В этой статье я собрал различные тесты, которые проходил сам. При этом я сверяю свою субъективную оценку владения языком с результатами тестов. А также сравниваю результаты между разными тестами.
                    Читать дальше →
                  • Мелкая питонячая радость #2: Starlette


                      Туннельное зрение


                      Так уж сложилось, что на Python пишут много веб-приложений. Эту нишу Python разработки почти полностью поделили между собой два здоровых игрока — Django и Flask. Поэтому большой процент программистов, пишущих на Python, заточен на работу с этими двумя фреймворками.


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

                      Читать дальше →
                    • Материалы продвинутого уровня по Питону

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

                        После прочтения Dive into Python или подобной ей и ознакомления с документацией возникает вопрос, а что читать дальше? Можно обратиться к списку книг на python.org. Там есть раздел Advanced Books, но в нем всего лишь 6 книг (седьмая не выходила), и только одну я бы назвал по-настоящему стоящей.

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

                        Ниже собраны сложные материлы про Питон, его устройство и возможности. Все на английском (грех, не знать технический английский). Про Dive into Python я слукавил. Большинство приведенных материалов требуют хорошее знание Питона и наличие опыта программирования на нем.

                        Подробнее