• Мастер-класс «Почему Стив Джобс любил шрифты» (Алексей Каптерев)

    • Tutorial


    Привет, Хабр! Давно у нас в блоге не было расшифровок мастер-классов. Исправляемся. В этом посте вас ждет грандиозное путешествие в мир шрифтов от древнейших времен до наших дней. Если вы хотите понять, каким образом шрифты влияют на наши эмоции и наконец научиться отличать гуманистический гротеск от ленточной антиквы — добро пожаловать под кат. И да, там очень много картинок. Передаем слово автору.




    Шутка, написанная гарнитурой Times, на 10 % смешнее той, что написана гарнитурой Arial. Почему? Чёрт знает. Лучшее объяснение, которое я видел: юмор ассоциируется с агрессией, с остротой, с остроумием — а Times выглядит более острым, чем Arial.


    Ещё один любопытный эксперимент, в котором участвовало 45 тыс. человек. Заходишь на сайт, тебе показывают статью Дэвида Дойча, британского физика. В статье автор пишет, что сегодня очень трудно внезапно умереть. Например, от инфекционного заболевания или в уличной драке. Лет сто назад это случалось намного чаще. Главный вывод статьи — сейчас мир безопасен как никогда. В среднем, конечно, ведь где-то постоянно идут локальные военные конфликты.

    Читать дальше →
  • Почему дизайн Go плох для умных программистов

    • Перевод

    На протяжении последних месяцев я использую Go для имплементаций Proof of Concept (прим.пер.: код для проверки работоспособности идеи) в свободное время, отчасти для изучения самого языка программирования. Программы сами по себе очень просты и не являются целью написания статьи, но сам опыт использования Go заслуживает того, чтобы сказать о нем пару слов. Go обещает быть (прим.пер.: статья написана в 2015) массовым языком для серьезного масштабируемого кода. Язык создан в Google, в котором активно им пользуются. Подведя черту, я искренне считаю, что дизайн языка Go плох для умных программистов.

    Читать дальше →
  • ReactOS 0.4.7: Павел Дуров больше не Пюыщн

      Приветствую Вас, Хабражители!

      7 декабря 2017 года вышел очередной релиз операционной системы ReactOS под номером 0.4.7, первый после перезда проекта на GitHub. В процессе подготовки релиза было закрыто более 450 отчетов об ошибках, в том числе исправлено около 15 регрессий. Сегодня я расскажу о самых интересных изменениях, вошедших в этот выпуск!

      Безусловно, одна из главных новостей то, что теперь Павел Дуров ведет здоровый образ жизни и в ReactOS. Так что этот скриншот из энциклопедии мемов «Луркоморье» станет частью истории:

      image
      Читать дальше →
    • Отладка злого бага в рантайме Go

      • Перевод

      Я большой поклонник Prometheus и Grafana. Поработав SRE в Google, я научился ценить хороший мониторинг и за прошедший год предпочитал пользоваться комбинацией этих инструментов. Я использую их для мониторинга своих личных серверов (black-box и white-box мониторинг), внешних и внутренних событий Euskal Encounter, для мониторинга клиентских проектов и много другого. Prometheus позволяет очень просто писать кастомные модули экспорта для мониторинга моих собственных данных, к тому же вполне можно найти подходящий модуль прямо из коробки. Например, для создания симпатичной панели имеющихся метрик Encounter-событий мы используем sql_exporter.

      Читать дальше →
    • Алгоритмы антиалиасинга в реальном времени

      • Перевод
      image

      Алиасинг (aliasing) — это, возможно, наиболее фундаментальный и самый широко обсуждаемый артефакт 3D-рендеринга всех времён. Однако в игровом сообществе его часто недопонимают. В этой статье я подробно расскажу о теме сглаживания (антиалиасинга, anti-aliasing, AA) в реальном времени, особенно о том, что касается игр, и в то же время буду излагать всё достаточно простым языком.

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

      Эту программу можно скачать здесь.

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

      Уже с год длится такая история: на телефон раз в месяц, а то и чаще, стали приходить СМС от Ростелекома. Не подделка. Но про деньги. Увы.

      На первый раз я удивился, на второй изумился, на третий — позвонил в техподдержку (да-да, ту, где надо голосом сказать роботу, по поводу чего ты звонишь; слова «спам» и даже «счет» он в моём исполнении не осилил, ну да ладно, я и не ждал). Пообщался, понервничал, попрощался — сообщения как приходили, так и продолжили (и сейчас летят, что и подвигло меня написать этот пост).

      Текст в СМС незамысловатый. Не буду мучить видом фотографии на своем телефоне, приведу на желтом «цитатном» хабравском фоне контент:
      На ЛС 111111111111 выставлен счет №4 за ноябрь 2017г на сумму 200,00р. К оплате с учетом долга 300,00р.
      (номер ЛС я тут забил единицами, потому что получал я сообщения про разные ЛС; суммы были тоже разные, так что, полагаю, сообщали мне про долги разных абонентов)

      Договора у меня с РТ нет ни на что вообще, мобильный номер у меня давно, в общем, «ничто не предвещает беды», но СМС-дождь продолжается. Пару раз звонили грозными голосами (полагаю) сотрудники РТ, и вопрошали, когда я им деньги занесу, а то они в суд собрались. Узнавали в каждом случае, что номер мой, а договора у меня нет, задумывались, прощались…

      Секрет-то прост...
    • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

      Подробнее
      Реклама
    • Не было печали, апдейтов накачали

        У меня дома используется Debian Sid. Большей частью он весьма и весьма хорош, но местами он слишком Bleeding слишком Edge. Например, когда отгружает пакеты, ломающие работоспособность системы. Вчера приехал wpasupplicant, который сломал мне wifi. Я его откатил, но в процессе я подумал, что многие пользователи не умеют этого делать. Рассказ "как откатить плохой apt-get install/upgrade" — в этом посте.


        Ситуация


        Мы сделали apt-get install что-то, или apt-get upgrade, или даже apt-get dist-upgrade, и после перезагрузки (или даже сразу же) обнаружили, что так нельзя. Сервис не стартует, убрана важная нам фича, кто-то падает и т.д. Мы хотим откатиться. Но вот, незадача — куда именно мы не знаем, потому что какая была версия до обновления мы не знаем.

        Читать дальше →
      • Rust vs. C++ на алгоритмических задачах

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

        Язык Rust позиционирует себя, как язык системного программирования, поэтому основным его vis-à-vis следует называть C/C++. Сравнивать же молодой и мультипарадигмальный Rust, который поддерживает множество современных конструкций программирования (таких, как итераторы, RAII и др.) с «голым» C я считаю не правильно. Поэтому в данной статье речь пойдет об сравнении с C++.

        Чтобы сравнить код и производительность Rust и C++, я взял ряд алгоритмических задач, которые нашел в онлайн курсах по программированию и алгоритмам.

        Статья построена следующим образом: в первой части я опишу основные плюсы и минусы, на которые я обратил внимание, работая с Rust. Во второй части я приведу краткое описание алгоритмических задач, которые были решены в Rust и C++, прокомментирую основные моменты реализации программ. В третьей части будет приведена таблица замера производительности программ на Rust и C++.
        Читать дальше →
      • Зачем я купил Mac Mini (Late 2012) накануне 2018 года?


          ~ Продать MacBook Pro, которому уже перевалило за 3 года
          ~ Сменить 13'' экран на парочку 22'' и повысить комфорт разработки
          ~ Получить мощную машину для быстрой компиляции проектов на Swift


          Это основные причины, повлиявшие на покупку Mac Mini. Первые два пункта достаточно очевидны, но вот к последнему пункту явно нужны комментарии…

          Читать дальше →
        • Хранение метрик: как мы перешли с Graphite+Whisper на Graphite+ClickHouse

            Всем привет! В своей прошлой статье я писал об организации модульной системы мониторинга для микросервисной архитектуры. Ничего не стоит на месте, наш проект постоянно растёт, и количество хранимых метрик — тоже. Как мы организовали переход с Graphite+Whisper на Graphite+ClickHouse в условиях высоких нагрузок, об ожиданиях от него и результатах миграции читайте под катом.


            Читать дальше →
          Самое читаемое