• Как перевести сайт целиком на постоянный HTTPS для всех

    • Перевод

    Шифруем всё подряд


    Эра незашифрованного веба проходит, и это хорошо. В этой инструкции мы предполагаем, что на вашем сервере работает веб-сервер Nginx. И теперь мы сделаем так, чтобы все посетители сайта пользовались исключительно протоколом HTTPS. Кроме этого мы включим HSTS – это «HTTP Strict Transport Security», когда сайт не только поддерживает HTTPS, но и настаивает на его использовании.

    Для этого есть множество способов, но я опишу метод под названием «HTTPS termination». Иначе говоря, мы поставим перед веб-сервером обратный прокси, который и будет обеспечивать HTTPS. Это получается проще и гибче, чем настраивать HTTPS только при помощи возможностей веб-сервера. Возможно, вам покажется контринтуитивным, что добавление ещё одного приложения в стек упростит вашу жизнь – но это действительно так.

    Уточним, что данный рецепт подходит для серверов на базе Linux, на которых установлен Nginx.

    То, что будет работать прежде всех остальных приложений в стопке – это HAProxy. Это в первую очередь приложение для балансировки – он умеет распределять приходящие запросы между разными физическими серверами. Много высоконагруженных сайтов используют его в этом качестве (тот же reddit), но в последней версии у него появилась возможность выполнять SSL termination. Он умеет устанавливать HTTPS-соединения от имени сервера.

    Поэтому мы поставим HAProxy, скормим ему наши сертификаты SSL/TLS, поручим перенапрявлять все HTTP запросы на HTTPS, и покажем ему уже сам веб-сервер в качестве бэкенда.
    Читать дальше →
  • Перспективные матрицы в графическом API или дьявол прячется в деталях

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

    Это не решение проблемы! Давайте разбираться вместе!
    Читать дальше →
  • SICP теперь по-русски! Часть третья

      image
      Перевод третьей лекции из курса «Структура интерпретация компьютерных программ».

      Это самый известный курс по программированию за последние 25 лет; с 1980г читается в MIT, а с недавних пор что-то подобное читается и в Беркли.
      Курс сменил преподавателей и даже язык программирования Scheme на Python(на мой взгляд совершенно зря) и тем не менее информация, которая дается в этом курсе остается архи актуальной в любое время. Я бы сравнил этот курс с чем-то очень фундаментальным и важным для программистов, типа математики или теории алгоритмов.
      Мне бы очень хотелось, чтобы программирование у нас в стране преподавалось таким вот образом.
      Приятного просмотра!
      Читать дальше →
    • Смерть OS/2

        В обсуждении Windows 3.1 на прошлой неделе danSamara упомянул:
        Ваша сложная и многогранная система работала у меня в виртуальной машине из под OS/2, которая уже тогда была по настоящему 32-разрядной и многозадачной, а ваша суровая многогранная правда выглядела убого и неказисто.

        Как же так вышло, что убогая и неказистая Windows задушила мощную и совершенную OS/2?
        Рассказывают разработчики:

        Рэймонд Чен: «убойной прогой» для Windows 1.0 — той, ради которой люди готовы были купить новую ОС, — был Adobe PageMaker. Потом появился ещё и Excel.

        Ларри Остерман: на самом деле, Pagemaker и Excel были «убойными прогами» для MacIntosh; уже впоследствии их выпустили и для Windows.

        Насколько я помню, под Windows вообще не было «убойных прог». Windows 1.0 и 1.1 продавались скромными тиражами по паре тысяч копий в месяц. Windows 386 (версия 2.0) продавалась лучше, потому что позволяла запускать одновременно несколько DOS-приложений. Не любые приложения можно было запускать одновременно; фактически, едва ли можно было запустить что-то более сложное, чем несколько копий GWBasic.

        Всё поменялось, когда вышла Windows 3.0.
        Читать дальше →
      • SICP теперь по-русски!

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

          Пару слов о самих лекциях, это выжимка из вводного курса по программированию читавшегося в MIT с 1978 года. Лекции читают Харольд Абельсон и Джеральд Сассман.
          На мой взгляд они уделяют внимание не столько алгоритмам сколько формированию правильного мышления у будущих программистов, а это гораздо важнее. Хочу отметить очень высокое качество материала, в лучших традициях Кнута, а в чем-то пожалуй и лучше.
          Если вы не знакомы, что такое SICP обязательно скачайте себе книгу на русском языке для пущего просветления.

          Курс ведется на примере языка программирования LISP, которому, кстати, 50 лет стукнуло, не много живых языков сохранилось старше Лиспа. По Лиспу могу сказать — это удивительный язык, я просто каждому рекомендую, не отказывайте себе в удовольствии и изучите этот язык пусть он вам и не пригодится никогда в реальных делах, но он сформирует вам правильные мозги, вы научитесь смотреть совершенно иначе на многие вещи, даже если вы всю жизнь пишете какие-нить бесконечные формы для бизнес приложений на С++.

          на яндекс видео:
          video.yandex.ru/users/ztarlitz/view/6

          Ссылка на трекер, видео первой лекции, отдельно сабы, и книга на русском языке.
          rutracker.org/forum/viewtopic.php?p=37772721#37772721
        • VKFS — Файловая система для VKontakte на основе Fuse

            Не так давно на хабре (и на лепре, и еще где-то) появилась такая гифка:
            image
            Я посидел и подумал: «А почему бы и нет?»
            Прошло некоторое время и, как я и обещал
            Встречайте! VKFS — файловая система vkontakte, основаная на fuse.
            Это не релиз — пока что реализована только возможность чтения собственной стены, но уже готов весь «каркас» для этого всего.
            Читать дальше →
          • Психологические аспекты человеко-машинного взаимодействия

            • Перевод


            Предлагаю вашему вниманию перевод и адаптацию статьи Сьюзан Вайншенк — «The Psychologist’s View of UX Design».
            Предупреждаю, что статья может содержать много «банальных» утверждений. Однако, считаю, что это ничуть не умаляет её общеобразовательной ценности.

            … Все вы, наверное, слышали притчу о слепцах и слоне:
            Читать дальше →
          • В LXDE найдена одна из самых востребованных windows-фич

              Неожиданно в LXDE, которая запущена на арче, который запущен в virtualbox'е, который запущен в убунте, была обнаружена одна из самых любимых фич windows-пользователей — возможность рисования на рабочем столе активным окном. Теперь пользователи linux'а смогут занять свой досуг попытками нарисовать что-нибудь неприличное зависшим окном. Мы давно этого ждали, долой скучные обои и просиживание на башорге! Прояви креативность и возможно именно ты станешь известен на весь мир своим творением!
              Читать дальше →
            • Стив Джобс и политика в отношении оборота наркотиков

              • Перевод
              Довольно интересно сопоставить всеобщее американское благоговение перед заслугами Стива Джобса и драконовскую политику США в отношении оборота наркотиков, поскольку это довольно противоречивые вещи, из некролога Джобса в NY Times:

              [Джобс] сказал репортёру, что приём ЛСД1 был одной из двух или трёх самых важных вещей в его жизни. Он сказал, что некоторые свойства его личности другие люди, которые не пробовали психоделики — даже близкие люди, как его жена, — никогда не могли понять.

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

              Стив Джобс также добавил, что Билл Гейтс «стал бы менее зашоренным, если бы однажды капнул кислоты»2.
              Читать дальше →