Pull to refresh
85
0.1
Олег Торбасов @torbasow

User

Send message

Дружественная колонка текста

Reading time2 min
Views928
Недавно в посте «Зум шрифта и верстка» автор выразил обеспокоенность тем, что происходит, когда меняется размер шрифта в колонке, ширина которой фиксирована в пикселях. Хотя сейчас принято зумить всю страницу, но я не уверен, что это всегда и вообще правильно — пиксели страницы перестают соответствовать пикселям экрана, происходит нездоровое умножение сущностей.

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

Из этих соображений родилось такое возможное решение: ширину колонки текста фиксируем в em'ах, чтобы по умолчанию строчка содержала какое-то считающееся удобочитаемым количество символов (относительно конкретного количества полиграфисты и Web-дизайнеры так и не определились, но не суть), а также дополняем её интерфейсом для настройки ширины. Например, чтобы можно было тащить правую границу колонки, а двойным кликом по ней попеременно распахивать на 100 % (и тогда ширина будет определяться шириной окна браузера) или возвращать первоначальную ширину.

Читать дальше →
Total votes 10: ↑5 and ↓50
Comments3

Как отобразить страницу в UTF-8, несмотря на windows-1251 в HTTP-заголовке

Reading time5 min
Views23K
Есть у меня старый сайт на Народ.Ру, и недавно я закинул туда несколько статей — как это я теперь делаю в UTF-8. Кодировка была указана в теге meta, но, взглянув на страницы, я увидел крякозябры: «Р§С‚Рѕ-то случилось.» Оказывается, Народ.Ру шлёт HTTP-заголовок Content-Type: text/html; charset=windows-1251 и это на нём никак не отключается. Пользователь может получить читабельный текст — только если догадается вручную переключить кодировку в браузере.

Что делать? Переходить на другой хостинг? Само собой, но пока руки не дошли, хотелось добиться результата тут. Перекодировать тексты? Более достойным и интересным показалось поставить Javascript-«заплатку».

Способа переключить кодировку из Javascript я не нашёл. Остался вариант перекодировать текст скриптом, запускаемым по событию onready документа.

Итак, браузер получает текст в UTF-8, разбивает UTF-последовательности на группы по 8 бит и трактует их как коды символов в кодировке Windows-1251. Чтобы восстановить читаемость текста, нужно получить эти коды, объединить их в UTF-последовательности, а из них — восстановить Unicode-коды символов и вернуть последние посредством числовых ссылок HTML на символы. В этом деле обнаружились несколько закавык.

Читать дальше →
Total votes 24: ↑11 and ↓13-2
Comments25

Ещё раз о минусе и дефисоминусе

Reading time2 min
Views4.2K
С тех пор как я вернулся с вольных хлебов переводчика к работе программиста в офисе словно невидимая рука толкает меня без четверти семь, настойчиво побуждая подниматься. Даже в субботу. А чем заняться спросонок?

Сейчас я решил написать про дефисоминус (то, что присутствует на наших клавиатурах вместо настоящего минуса и настоящего дефиса, в Юникоде, тем не менее, существующих) и настоящий минус. На «Хабре» была уже по этому поводу прекрасная статья «Чёрточки: только ли тире, минус и дефис?» (да и не она одна), но когда начальник заметил, что с моим появлением в проекте минусы на его страницах визуально преобразились и якобы стали шире плюсов, я почувствовал, что мне могут потребоваться числовые доводы (вот оно, математическое образование), а не только ссылки на авторитеты.

И я провёл замеры дефисоминуса и минуса (а сравнения ради и плюса) в ряде гарнитур, популярных у общественности или среди меня лично: Times New Roman и Arial Unicode (все замеры дали одинаковые результаты), Linux Biolinum и Linux Libertine (то же самое), Georgia, Tahoma, Verdana, Calibri, Code2000, Либерастика, Arial, Courier, Courier New. И вот что я установил.

Конечно, начальнику показалось. По контрасту с обычной практикой использовать вместо минуса дефисоминус. На самом деле ширина настоящего минуса в части названных гарнитур (в том числе в используемой в проекте Tahoma) в точности соответствует ширине плюса, а в остальных ближе к ней, нежели у куцего дефисоминуса. Заметно шире плюса он только в Code2000 и Linux Biolinum/Linux Libertine, а в Courier New с шириной плюса неожиданно точно совпадает ширина именно дефисоминуса.

Однако, есть и ещё один довод: высота расположения в строке. Во всех названных гарнитурах, кроме Courier, минус находится на одной высоте с плюсом, а дефисоминус — только в некоторых, а в популярных Times New Roman и Arial заметно ниже (аж на два пикселя при размере шрифта 16px).

В целом, с минусом, по-моему, всё ясно. Его применение диктуют не только семантические, но и визуальные соображения.
Total votes 70: ↑39 and ↓31+8
Comments17

К вопросу о кроссбраузерном использовании SVG

Reading time14 min
Views44K
Для векторной графики в Интернете формат SVG — самое то. Во-первых, он поддерживает масштабирование любой степени. Во-вторых, можно обращаться к любым составляющим элементам такой картинки — адресовать их, стилизовать и скриптовать. В-третьих, за исключением совсем маленьких файлов, этот формат выигрывает по компактности перед любыми растровыми представлениями, особенно если применить gzip-сжатие. В-четвёртых, сие есть стандарт W3C.

Но как поместить SVG-картинку в HTML-документ?

Читать дальше →
Total votes 36: ↑28 and ↓8+20
Comments41

О неадекватности отбора программистов

Reading time5 min
Views22K
В ближайшее время мне вновь предстоит озаботиться поиском рабочего места, в связи с чем я вспоминаю свой драматический опыт трудоустройства и прочитанное насчёт собеседований на должность программиста. В частности, удручающее впечатление на меня произвела статья Алексея Колупаева «Нехитрый вопрос на собеседовании или как не попадают в стартапы».

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

«Уверяю вас — пользуясь этой задачкой (и, конечно, еще многими другими) я ещё ни разу серьёзно не ошибся с кандидатом. Ведь формальное знание PHP в кандидате — поверьте, далеко не главное. Значительно важнее — отношение к своему занятию, стремление к развитию, способность играть в команде, видение мира, если угодно. Мне гораздо интереснее, как человек решает задачу, чем её фактическое решение».


Парадоксально, что демонстрируемый им подход соответствует сему посылу с точностью до наоборот. Выстроенная им иерархия ответов — от самого отстойного до самого ценного, на самом деле, прямо противоположна истинной, и я берусь это показать.
Читать дальше →
Total votes 353: ↑288 and ↓65+223
Comments310

Information

Rating
3,112-th
Location
Тверь, Тверская обл., Россия
Date of birth
Registered
Activity