• The state of soft skills

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

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

      Поэтому я решил попробовать доказать тезис, что soft skills важнее для успехов в карьере, чем hard skills. И чтобы не быть субъективным и ссылаться только на собственный опыт, я изучил материалы по теме, провел собственный опрос, проанализировал ответы с использованием небольшого количества математики и теперь хочу поделиться результатами.
      Читать дальше →
    • Анализируем телеметрию «Берешита», или Что случилось около Луны 11 апреля 2019 года

        image

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


        Общий объем показанной телеметрии таков, что в целом позволял оценить многие нюансы, связанные как с конструкцией станции, так и с особенностями ее посадки. Это действительно интересно. Дело в том, что посадка на Луну — очень непростой процесс, нюансы которого публикуются редко. В частности, реальная телеметрия обычно не публикуется вообще.

        Читать дальше →
      • Сверхпроводящий трансформатор почти своими руками

        В недалёком 2016 году на одного молодого, но очень впечатлительного четверокурсника факультета энергетики оказала влияние статья, в которой автор весьма популярно показал что такое в день сегодняшний высокотемпературные сверхпроводники (далее ВТСП). Ослеплённый желанием оживить в своей душе довольно однообразную и предельно консервативную электроэнергетику, пробираясь сквозь пелену противоречий и острую нехватку финансов, молодой бакалавр вместе со своими коллегами всё же построил трансформатор с обмотками из высокотемпературного сверхпроводника.
        Читать дальше →
      • Изучаем внутреннюю кухню ядра Linux с помощью /proc для быстрой диагностики и решения проблем

        • Перевод
        Данная статья касается современных линуксов. Например, RHEL6 с ядрами 2.6.3х — подойдёт, а вот RHEL5 с ядрами 2.6.18 (кстати, наиболее популярный в продакшне) — увы, нет. И ещё — здесь не будет описания ядерных отладчиков или скриптов SytemTap; только старые-добрые простые команды вида «cat /proc/PID/xyz» в отношении некоторых полезных узлов файловой системы /proc.

        Диагностика «тормозящего» процесса


        Вот хороший пример часто возникающей проблемы, которую я воспроизвёл на своём лаптопе: пользователь жалуется, что команда find работает «значительно медленнее», при этом не возвращая никаких результатов. Зная, в чём дело, мы решили проблему. Однако меня попросили изложить систематический подход к решению подобных задач.

        К счастью, система работает под управлением OEL6, т.е. на достаточно свежем ядре (а именно — 2.6.39 UEK2)

        Итак, приступим к диагностике.
        Подробности
      • Расчет положения небесных тел на небосводе. Часть 1

        Не так давно очень активно обсуждалась тема Марса. В то время у меня возник вопрос от которого в силу своего наивного любопытства я никак не мог избавится: «Где Марс находится в данный момент, в какой стороне?» и смежный с ним: «Да и вообще, как определить положение остальных планет?». Очевидно, что траектории движения планет относительно земли будут весьма хитрыми. Конечно, можно воспользоваться планетариями, например таким, но как вы уже поняли, это не наш путь.

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



        Всех любопытных прошу под кат.
        Читать дальше →
      • Взаимодействие клиентов SIP. Часть 1



        Месяц назад я начал свое знакомство с IP-телефонией, а именно с Lync и Asterisk. И заметил следующую картину: в сети очень много интересных статей по практической стороне вопроса (как и что делать) и очень мало внимания уделено теории (в конце статьи приведены ссылки). Если Вы хотите разобраться с SIP, то извольте либо читать RFC 3261, либо одну из «этих толстых книг». Это, естественно, полезно, но многим хочется в начале изучить некую выжимку, а уж потом бросаться в омут с головой. Эта статья как раз для таких людей.
        Поехали
      • DLNA-сервер для дома и семьи

        Как-то так сложилось, что тег DLNA сервер чаще встречается в постах-вопросах, чем в ответах. И если в вопросах установки на домашний Windows-ПК какой-то пользовательский опыт накоплен, то определиться с выбором ПО для домашнего сервера/NAS-а/медиацентра — оказалось непросто. Распределившись по песочницам народ обособленно решает проблемы каждой программы в отдельности. А понять что из них чего стоит и нужно ли оно вообще — лично мне не удалось.

        И вот, я вооружившись ссылкой с Википедии Как выбрать DLNA-сервер под Windows, Mac OS X или Linux — опробовал почти всё, что есть под Linux.

        Читать дальше →
      • Стать мэинтейнером — часть пятая

          Настало, наконец, время вернуться к теме пакетирования в Debian и Ubuntu.
          Начну я с оправданий. Причиной долгой паузы, между четвертой и этой частью была не моя лень, не диплом, который я никак не допишу, и даже не положение звёзд, а уже упомянутый мною в предыдущих статьях (раз, два, три, четыре) досадный баг в одном из пакетов Debian. Как я, наконец, понял, скорого исправления этого бага ждать не стоит, поэтому я предлагаю тем, кто уже освоил сборку пакетов, изучить интересное средство, облегчающее как тестирование вашего пакета, так и сборку его под разные архитектуры — pbuilder.
          Ключ на старт!
        • Собираем deb-пакет. Часть 1

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

            Читать дальше →
          • 19 команд ffmpeg для любых нужд

            • Перевод
            • Tutorial
            От переводчика:
            Многие знают, что ffmpeg — это сила, но не все знают, какая именно. Он многогранен и безграничен, а его man объёмен и местами малопонятен, лишь немногие постигли дао профессиональной работы с ним. И тем не менее, этот инструмент может быть полезен почти всем, кто хоть иногда работает с видео и звуком, даже на бытовом уровне. О некоторых полезных консольных командах ffmpeg и пойдёт речь в статье. В некоторых местах я взял на себя смелость вставить ссылки на поясняющие статьи.


            ffmpeg — это кроссплатформенная open-source библиотека для обработки видео- и аудиофайлов. Я собрал 19 полезных и удивительных команд, покрывающих почти все нужды: конвертация видео, извлечение звуковой дорожки, конвертирование для iPod или PSP, и многое другое.

            1. Получение информации о видеофайле

            ffmpeg -i video.avi
            

            2. Превратить набор картинок в видео

            ffmpeg -f image2 -i image%d.jpg video.mpg
            

            Эта команда преобразует все картинки из текущей директории (названные image1.jpg, image2.jpg и т.д.) в видеофайл video.mpg

            (примечание переводчика: мне больше нравится такой формат:
            ffmpeg -r 12 -y -i "image_%010d.png" output.mpg
            

            здесь задаётся frame rate (12) для видео, формат «image_%010d.png» означает, что картинки будут искаться в виде image_0000000001.png, image_0000000002.png и тд, то есть, в формате printf)
            Читать дальше →
          • Теория цвета

              Первое впечатление — это все. Пословица «По одежке встречают, по уму провожают» актуальна не только в жизни, но и в дизайне. Впечатление от дизайна состоит из множества факторов, и один из важнейших — это цвет.

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

              Основные цвета (Primary Colors)




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

              История


              Однажды к нам пришли (ну, не сами...) серверы с 14 хардами по 2Тб. Избавившись от аппаратного рейда (зачем — вопрос отдельный), мы задумались о том, что неплохо бы сделать для них загрузку по сети, дабы избавиться от возни с разделами. Диски предполагалось экспортировать по iSCSI, и не хотелось выделять какие-то диски на Особенные Системные Диски, а какие-то на всё остальное. Таким образом возникла задача сделать загрузку по сети с размещением корневого каталога в оперативной памяти.
              Читать дальше →
            • Как высечь огонь из воды

              • Tutorial


              Этот эффект известен давно, и используется в некоторых каминах и концертных световых приборах, однако информации о том, как это сделать довольно мало, что я хочу исправить этим постом.
              Читать дальше →
            • Через тернии к Haskell. 1/2

              • Перевод
              • Tutorial


              Первая часть короткого и жесткого введения в Haskell. Вторую часть можно найти здесь

              tl;dr: Очень краткое и сжатое введение в Haskell.


              UPD. Если туториал вам понравился, черкните пару строк автору оригинальной статьи. Человеку будет приятно ;)
              Классные картинки, много текста и вынос мозга
            • Космики: моделирование эволюции многоклеточных организмов

                Здравствуй, Хабр!

                Несколько лет назад в прикладных целях я реализовал обычный Force-based визуализатор графов.

                На меня произвело впечатление, как простые итеративные преобразования могут производить субъективно сложные и интересные вычисления, формируя нетривиальные визуально-кинетические модели.

                Со временем возникло несколько идей, что интересного можно смоделировать.

                Вот что получилось с одной из них (в кадре мелкие объекты, смотреть в HD):



                Читать дальше →
              • Настройка и оптимизация MySQL сервера

                  В этой статье будут описаны различные настройки MySQL, преимущественно те, которые влияют на производительность. Для удобства все переменные разделены по разделам (базовые настройки, ограничения, настройки потоки, кэширование запросов, тайминги, буферы, InnoDB). Сначала уточним имена некоторых переменных, которые изменились в версии 4 MySQL, а в сети продолжают встречаться и старые и новые варианты имен, что вызывает вопросы.
                  Читать дальше →
                • SQL injection для начинающих. Часть 1


                    Приветствую тебя, читатель. Последнее время, я увлекаюсь Web-безопасностью, да и в какой-то степени работа связана с этим. Т.к. я всё чаще и чаще стал замечать темы на различных форумах, с просьбой показать, как это всё работает, решил написать статью. Статья будет рассчитана на тех, кто не сталкивался с подобным, но хотел бы научиться. В сети относительно много статей на данную тематику, но для начинающих они немного сложные. Я постараюсь описать всё понятным языком и подробными примерами.
                    Читать дальше →
                  • Введение в SELinux: модификация политики targeted для сторонних веб-приложений

                      Привет, коллеги!
                      Многие из нас занимаются настройкой рабочих серверов для веб-проектов. Я не буду рассказывать о том, как настроить Apache или Nginx: вы знаете об этом больше меня. Но один важный аспект создания frontend-серверов остается неосвещенным: это настройки подсистем безопасности. «Отключите SELinux», — вот стандартная рекомендация большинства любительских руководств. Мне кажется, что это поспешное решение, ибо процесс настройки подсистем безопасности в режиме «мягкой» политики чаще всего весьма тривиален.

                      Сегодня я расскажу вам о некоторых методах настройки подсистемы безопасности SELinux, применяемой в семействе операционных систем Red Hat (CentOS). В качестве примера мы настроим связку для веб-сервера Apache + mod_wsgi + Django + ZEO на CentOS версии 5.8.

                      Читать дальше →
                    • Создание высокочувствительной направленной антенны с ФАР или почему специалисты уезжают за рубеж

                      Спешу развеять возможный скепсис по поводу разведения «соплей» о тяжестях новаторов в России. Речь пойдет именно о замечательной и передовой технологии.

                      Читать дальше →
                    • Удачная модель ветвления для Git

                      • Перевод
                      Перевод статьи Vincent Driessen: A successful Git branching model

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



                      В качестве инструмента управления версиями всего исходного кода она использует Git.

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