• Остров Пику: как из базальтового ада сделали уютный Туссент


      Гора Пику образовалась очень задолго до прихода колонистов, ещё когда ломалась геологическая плита на Азорах. Высота Эвереста 8848 метров. А Пику — 8449 метров. Из которых 2351 метр приходятся на надводную часть, а остальное — гора под водой. То есть люди уже живут на склоне где-то в районе верхушки.

      Представьте, что вы португальский колонист. Вам достался совершенно офигенный остров, состоящий почти полностью из базальта. И совсем немного — из почвы. Куда ни ткнись, везде атмосфера, напоминающая замок «Инферно» из Героев. Если просто стоять на берегу, скоро на зубах начнёт скрипеть от базальтовой и туфовой крошки. Потому что остров образовался всего 60-70 тысяч лет назад.

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

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

      А потом вы вдруг понимаете, какое это крутое место. И вот на вечеринку приплыл неизвестный капитан, осмотрелся, и решил, что раз вы выжили, то выживут и остальные. И так появилось первое поселение.
      Читать дальше →
    • Вопросы не мальчика, а джуна. 22 вопроса работодателю на собеседовании на позицию «Middle Python-разработчик»

        image

        Введение


        За 2 года мне посчастливилось посетить более сорока собеседований в качестве кандидата на позицию «Middle Python-разработчик». На последних пятнадцати собеседованиях я понял необходимость задавать вопросы работодателю, чтобы в дальнейшем не столкнуться с неожиданностями по работе. Помимо базовых вопросов, которые обычно задают кандидаты работодателю я решил сформировать свои вопросы. Когда я задавал эти вопросы на собеседованиях, я получал самые различные реакции со стороны собеседующих. Кто-то говорил, что я дотошный, кто-то считал эти вопросы слишком банальными, а кто-то даже начинал нервничать(краснеть) и немедленно прерывать собеседование с нелепой отговоркой о том, что у него совещание. В этой статье я хотел бы рассказать об общих идеях посещения таких мероприятий а также привести мои 22 вопроса, которые я задаю на собеседовании работодателю.
        Читать дальше →
      • Встречайте первого лунного туриста



          Первым космическим туристом SpaceX, отправившимся в облёт Луны (без посадки) на корабле BFR, станет Юсаку Маэдзава (Yusaku Maezawa) – предприниматель-миллиардер с состоянием около $2,9 млрд и коллекционер произведений искусства. Маэдзава собирается пригласить в полёт вместе с собой 6-8 творцов различных направлений (художников, фотографов, музыкантов, режиссёров, модельеров или даже архитекторов). Полёт должен состояться уже в 2023 году – до 51-й годовщины возвращения людей с Луны (но Илон Маск пока не уверен в окончательности этих сроков). Подробности закончившейся пресс-конференции SpaceX находятся под катом.
          Читать дальше →
        • GitHub Pull Requests в Visual Studio Code

          • Translation
          Как и во многих других проектах с открытым исходным кодом, в сообществе Visual Studio Code используются запросы на принятие изменений. С их помощью разработчики совместно исправляют ошибки и добавляют новые функции. Недавно мы обновили общедоступную пробную версию GitHub Pull Requests for Visual Studio Code, тем самым устранив проблему, с которой мы и миллионы разработчиков сталкиваемся каждый день: невозможность просматривать исходный код там, где он был написан, — в редакторе.

          Читать дальше →
        • select / poll / epoll: практическая разница

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

          В этой статье мы рассмотрим:

          • select()
          • poll()
          • epoll()
          • libevent
          Читать дальше →
        • Как подготовиться к собеседованию в Google и не пройти его. Дважды



            Заголовок статьи звучит как epic fail, но на самом деле все не так однозначно. Да и в общем и целом эта история закончилась весьма позитивно, хоть и не в Google. Но это уже тема для другой статьи. В этой же статье я расскажу о трех вещах: каким образом проходил мой процесс подготовки, каким образом проходили интервью в Google и почему же на мой взгляд все не так однозначно, как может показаться.
            Кому интересно, прошу под кат.
          • Курс MIT «Безопасность компьютерных систем». Лекция 1: «Вступление: модели угроз», часть 1

            • Translation

            Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год


            Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.

            Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
            Читать дальше →
          • Анализ данных с использованием Python


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


            В этой статье разберем простой пример исследования и классификации данных с использованием некоторых библиотек на Python. Для исследования, нам понадобится выбрать интересующий нас набор данных (DataSet). Разнообразные наборы Dataset'ы можно скачать с сайта. DataSet обычно представляет собой файл с таблицей в формате JSON или CSV. Для демонстрации возможностей исследуем простой набор данных с информацией о наблюдениях НЛО. Наша цель будет не получить исчерпывающие ответы на главный вопрос жизни, вселенной и всего такого, а показать простоту обработки достаточно большого объема данных средствами Python. Собственно, на месте НЛО могла быть любая таблица.


            Читать дальше →
          • Изучаем ферзя (часть 3)



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

              А теперь давайте приступим к ферзю. Вперед!
              Читать дальше →
            • Операционные системы с нуля; Уровень 0

              • Translation
              • Tutorial

              Добрый день/вечер/ночь/утро! Есть один экспериментальный курс по операционным системам. Есть он в Стэнфордском университете. Но часть материалов доступно всем желающим. Помимо слайдов доступны полные описания практических занятий.


              Чем этот курс отличается от прочих других? Большая часть кода пишется самостоятельно и выполняется на вполне реальном современном железе. В качестве целевой платформы выбран Raspberry Pi 3 model B. Т.е. достаточно актуальная архитектура AArch64. ARMv8 Cortex-A53, четыре ядра, 64-бита и вот это всё. В качестве основного языка программирования выбран Rust. Который безопасный, быстрый, без GC и так далее. Его, Rust, предполагается изучать во время курса.


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

              Читать дальше →
            • Как не стать Python-разработчиком

              Как выглядит трек обучения программированию на Python с нуля? С чего стоит начать? На чем сделать акцент? Как не потерять интерес?

              Полгода я искал ответы на эти вопросы, тщательно исследуя предметную область. Я обнаружил много полезных советов. Особенно в заметке Василия Большакова и на Хекслете. Но мне не хватало структуры. Знания нарастали со всех сторон и превращались в кучу. Чтобы структурировать процесс обучения и оценить его масштаб, я собрал план.
              Читать дальше →
            • Vim и кириллица: парочка приёмов

                image

                Раньше для редактирования обычных русскоязычных текстов, я обычно откладывал Vim в сторонку и прибегал к помощи других редакторов. Причиной этому была парочка очень неприятных косяков:
                1. На каждый чих приходилось сто раз переключать раскладку, чтобы корректно ввести пару команд и вернуться обратно. Например, замена буквы-опечатки в только что написанном слове, выливалось в: switch → добраться до буквы, нажать r → switch → [нужная буква] → switch → A → [пишем дальше]. Ад!
                2. Штатный spell checker букву «ё» не любил и любое слово с её участием предлагал заменить на аналог через «е». А я ё люблю, меня это расстраивало.

                И вот, наконец, я нашёл решение обеим проблемам. Сижу сейчас и набираю этот текст в Vim. Любопытно, что оба барьера обходятся штатными средствами, без дополнительных плагинов. Поскольку материалов на английском и на них основанных куда больше чем исконно русских, найти эту информацию мне было не просто. Поэтому хочу поделиться ей с теми кому интересно.
                Читать дальше →
              • Тренажёр для клавиатурных сочетаний

                  Сайт shortcutfoo.com служит для изучения и тренировки клавиатурных сокращений в разных программах. Он ориентирован прежде всего на разработчиков — есть курсы для изучения Vim, Sublime Text, Emacs, TextMate, XCode, *nix консоли. Приятный интерфейс, ничего лишнего, есть возможность создавать свои пакеты комбинаций для тренировки. Несколько неудобно, что он не позволяет видеть результат применения команд, а только даёт их текстовые описания, так что это скорее интерактивная шпаргалка, чем полноценный тренажёр. Тем не менее есть так называемый drill mode, в котором нужно набирать сочетания клавиш по памяти и на скорость.

                • Ловкость рук и никакого мошенничества: практические советы по ускоренному обучению дизайну для разработчиков

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

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

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

                  Легко опустить руки и сказать: «Я никогда не смогу сделать это должным образом, я не художник!», Но, оказывается, есть уйма ловких приёмов, которые вы сможете использовать, чтобы поднять свою работу на другой уровень, не имея опыта в графическом дизайне.

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

                  1. Для создания иерархии используем цвет и вес вместо размера



                  Читать дальше →
                • Клавиатура, идея, две руки

                  Случалось ли в твоей жизни, %username%, такое, когда тебе продолжительное время хотелось странного? Неважно чего — ведь у каждого разные вкусы и предпочтения. Моя страсть сидела во мне долго, но однажды всё-таки вырвалась наружу. Мне нравится делать необычные вещи, и мне всегда нравился моддинг как средство самовыражения. Несколько лет назад я вдохновился изделиями моддеров из разных стран и начал обдумывать несколько своих проектов. В частности, мне очень хотелось сделать стилизованную под девятнадцатый век клавиатуру.



                  Что из этого получилось? Прошу под кат!
                • Пол Грэм. Все статьи на русском. Два года спустя

                    «Лучший способ писать — это переписывать»
                    — Пол Грэм, «The Age of the Essay»

                    image

                    Первую подборку на русском всех статей Пола Грэма (а их 176) меня вдохновили сделать ребята из tceh.com (60 переводов).
                    Вторую — Edison Software (125 переводов).
                    ТретьюФилтех-акселератор (134 перевода и еще несколько в процессе).
                    На четвертую… уже закончатся эссе Грэма, буду переводить его Twitter (там, кстати, много полезного).

                    Недавно я подключился к проекту, цель которого содействовать «филантропическим стартапам» (это такие, которые «за добро во всем мире», типа GNU/Linux, Wikipedia и WebArchive). Я вношу свои 5 копеек подборкой самых полезных концептуальных/теоретических материалов про стартапы и стартаперское (хакерское) мировоззрение.

                    А для тех, у кого все же стартап, а не ICO:

                    До 16 января 2018 идет прием заявок, предакселератор PhilTech.
                    С 5 по 23 февраля будет акселерация «по-полной».
                    С 19 по 25 мая — финальный интенсив в Москве.

                    Есть время подучить матчасть, особенно для CEO.

                    Кто такой Пол Грэм?
                    Если вы хоть как-то связаны со стартапами у вас возник такой вопрос, то вам обязательно под кат.

                    Подборка из серии «добавить в избранное и читать по одному эссе в день».
                    (хватит на полгода, кстати)
                    Читать дальше →
                    • +23
                    • 25.9k
                    • 8
                  • Ричард Хэмминг: «Есть мысли, о которых вы не можете думать»

                    • Translation
                    «Есть запахи, которые вы не можете ощущать, длины волн света, которые вы не видите, звуки, которые вы не можете услышать,… есть мысли, о которых вы не можете думать.»

                    imageПривет, Хабр.
                    Помните офигенную статью «Вы и ваша работа» (+219, 1928 в закладки, 328k прочтений)?

                    Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Давайте ее переведем, ведь мужик дело говорит.

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

                    Кто хочет помочь с переводом — пишите в личку или на почту magisterludi2016@yandex.ru

                    Глава 24. Квантовая механика

                    (за перевод спасибо Нате Блянкинштейн)

                    Большинство физиков в настоящее время считают, что у них есть базовое описание Вселенной [хотя в настоящее время они признают, что 90-99% Вселенной находится в форме «темной материи», о которой они не знают ничего кроме того, что она испытывает гравитацию]. Вы должны понимать, что во всей науке есть только описания того, как что-то происходит, и ничего о том, почему это происходит. Ньютон дал нам формулу, выражающую как работает гравитация, и он не делал никаких гипотез ни о том, чем она является, ни через какую среду она работает, не говоря уже о том, почему она работает. На самом деле он даже не верил в «дальнодействие».

                    Причины обсуждать квантовую механику, КМ, такие:

                    1. это фундаментальная физика,
                    2. она имеет много неожиданных интеллектуальных следствий и
                    3. дает ряд моделей для работы.

                    В конце XIX — начале XX века физика столкнулась с рядом проблем. Среди них были следующие:
                    Читать дальше →
                  • Настройка отступов в VIM

                      Процесс смены Komodo IDE на VIM я начал с изучения всевозможных туториалов и хау ту, однако, что удивительно, ни в одном из них мне не удалось встретить человеческого описания процесса настройки отступов. В одних предлагали регулировать ширину отступа с помощью опции tabstop, в других — с помощью softtabstop, в третьих — выставлять и то и другое и shiftwidth в придачу. После нескольких часов экспериментов с настройками я понял, что единственный способ не только заставить все работать, но и понять, почему оно работает — читать документацию. Своими «открытиями» я и хочу с вами поделиться.
                      Читать дальше →
                    • 8 учебных проектов

                      • Translation
                      «Мастер совершает больше ошибок, чем новичок — попыток»

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

                      Проект 1. Клон Trello


                      image


                      Клон Trello от Indrek Lasn .

                      Что вы освоите:

                      • Организация маршрутов обработки запросов (Routing).
                      • Drag and drop.
                      • Как создавать новые объекты (доски, списки, карточки).
                      • Обработка и проверка входных данных.
                      • Со стороны клиента: как использовать локальное хранилище, как сохранять данные в локальном хранилище, как читать данные из локального хранилища.
                      • Со стороны сервера: как использовать базы данных, как сохранять данных в базе, как читать данные из базы.

                      Тут пример репозитория, сделанного на React+Redux.
                      Читать дальше →