Search
Write a publication
Pull to refresh
9
0

User

Send message

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

Reading time7 min
Views33K
На минуту обратите свои мысли вспять, к прошлому, к завершившемуся тысячелетию. Отдайте должное утренней заре Всемирной Паутины, потому что заря эта готова ужé окончательно потухнуть, уступая место куда более яркому сиянию нового дня.

Первая типографская революция произошла во Всемирной Паутине настолько давно, что приходится производить поиски, чтобы установить подробности. Кажется достоверным то, что пишет Ian Graham: в Netscape Navigator 2.0 впервые появился элемент <font> (тогда он позволял задавать только размеры шрифта, и только в условных единицах), а в Internet Explorer 3 у этого элемента появился атрибут face, позволявший задавать начертание, задавать шрифтовое семейство. Википедия подсказывает, что Netscape Navigator 2.0 появился в марте 1996 года, а Microsoft Internet Explorer 3 — в августе того же года. В язык HTML версии 3.2 даже не входил атрибут face, хотя и упоминалося, что такой атрибут существует.

Тринадцать лет назад.

Все эти тринадцать лет для начертания текста сайтов в основном использовались несвободные шрифты, являющиеся частью операционных систем и офисных пакетов. Сайтам приходилося гадать о том, какие шрифты установлены у читателя, а какие не установлены, и какова вероятность того или другого, какие шрифты можно считать безопасными. Сочинялись специальные плагины jQuery и создавались специальные страницы, способные выяснить набор шрифтов на компьютере читателя. Особый дух того времени прекрасно передал despoth, сочинив превосходную серию статей о такой веботипографике, которая основана именно на подборе несвободных шрифтов (часть I часть II часть III часть IV часть V).

Наконец, это время кончилось: явствуют, зримо явствуют признаки Второй типографской революции, связанной с приходом @font-face.

Джон Даггетт сочинил познавательную статью о том, как все мы совсем скоро (после появления Safari 3.1, Firefox 3.5, Opera 10) сможем использовать загружаемые шрифты во всех популярных браузерах, а не только в одном наиболее популярном.

Марк Пилгрим грубо обрисовал ситуацию с лицензированием собственнических шрифтов. Ситуация эта немало напоминает глухой тупик. Даже создателям прекрасной демонстрации возможностей Firefox 3.5, чтобы изготовить страницу, пришлось специально связаться со шрифтопроизводителями и изготовлять такие особые (усечённые) версии использовавшихся шрифтов, чтобы их не было смысла копировать нелицензионно. А вон там предлагают раздавать особые паутинные обкусанные ужатые копии купленных шрифтов (которые сам покупатель вывешивать не имеет никого права, а только ссылаться). Остроумно. Открывает широкую дорогу в сторону Большого Брата: типа как недавно читальники Kindle удаляли книги Оруэлла за нелицензионность (даже честно купленные — просто оставляя стоимость их на счету покупателя в уплату). Так и тут. Внешний шрифт может неожиданно подохнуть, даже купленный заранее.

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

Англоязычному люду этот переход дастся достаточно просто: достаточно обратиться к белке-шрифтелке, чтобы получить буквально сотни шрифтов, каждый из которых можно без лицензионных проблем использовать в своей работе, на своём сайте. Тем же, кто пользуется русским языком (или, тем паче, другими языками на основе расширенной кириллицы), придётся гораздо, гораздо похуже. Свободных кириллических шрифтов совсем мало, а русского аналога белки-шрифтелки, похоже, вообще не существует в природе.

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

Список пошёл.

microToDo — проще некуда

Reading time1 min
Views2.5K
microToDOВ последнее время стало популярно делать разные вещи для увеличения КПД рабочего времени. Всевозможные todo листы, пинарики и прочее. И чем дальше тем сложнее они становятся. А вот этот сервис из всего одной html странички прекрасно справляется с хранением списка дел и мотивацией их выполнения. Все просто — добавляете задачу и тут же начинается отсчет времени. Никакой паузы, никаких скидок…
Читать дальше →

Настройка nginx

Reading time5 min
Views300K
Тема правильной настройки nginx очень велика, и, боюсь, в рамки одной статьи на хабре никак не помещается. В этом тексте я постарался рассказать про общую структуру конфига, более интересные мелочи и частности, возможно, будут позже. :)

Неплохой начальной точкой для настройки nginx является конфиг, который идёт в комплекте с дистрибутивом, но очень многие возможности этого сервера в нём даже не упоминаются. Значительно более подробный пример есть на сайте Игоря Сысоева: sysoev.ru/nginx/docs/example.html. Однако, давайте лучше попробуем собрать с нуля свой конфиг, с бриджем и поэтессами. :)
подробности

Новая версия веб-типографа Студии Муравьёва

Reading time3 min
Views5.6K
Лицо нашего типографа
Не так давно на Хабре уже заходила речь о нашем новом типографе (см. habrahabr.ru/blogs/typography/66710/). Речь зашла раньше, чем я успел написать этот топик. Нам конечно же очень приятно, что силы, время и душу, которые мы вложили в этот бесплатный продукт кому-то пригодились. Наши первые версии писались в 2007 для форумных систем (о них вы сможете почитать на нашем сайте в разделе типографа, даже скачать можно будет). В конечном итоге мы решили позиционировать его как отдельный независимый продукт, и сейчас я хочу немного рассказать вам о нем.

Пояснение


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

Конкретизируя


Сейчас он включает в себя множество умных правил, которые время от времени улучшаются и становятся более продуманными. Типограф обрабатывает тексты не только по классическим законам (неразрывные пробелы, правильные кавычки, свисающая пунктуация и др.), но и по взятым канонам из «Справочника издателя и автора» Мильчина А. Э. Любители типографики должны это оценить.
Читать дальше →

Распараллеливание задач в Linux

Reading time2 min
Views11K
Потребовалось мне перекодировать некоторое количество видео-файлов. Для этого я написал следующий сценарий:

#!/bin/bash

recode() {
mencoder -o $2 $1 -ovc x264 -x264encopts bitrate=22000:keyint=50 -oac mp3lame -lameopts vbr=3:br=320 -fps 50
}
recode input/00108.mts 00108.avi
recode input/00109.mts 00109.avi
...
...


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

FlylinkDC++ и Wine

Reading time2 min
Views5.3K
В ответ на статью Linux DC++ и многопоточность решил описать свой опыт работы с клиентом FlylinkDC++ под Wine.
У автора вышеуказанной статьи при работе с этим клиентом возникло несколько проблем, решение которых я продемонстрирую.
Из того текста я выделил три проблемы:
  • Значки файлов в результатах поиска
  • Пропажа информации, «у скольки человек имеется данный файл» в результатах поиска
  • Очень медленное скачивание последних блоков крупных файлов
От себя я добавлю ещё один пункт: перехват клиентом magnet-ссылок из браузера Opera.
Читать дальше →

Stickerity

Reading time2 min
Views1.1K
Приветствую, хабралюди!

Идея создать что-то подобное давно витала в воздухе. Например, иногда хочется сделать заметку на каком-нибудь сайте, пометить для себя. Однако, мало где подобное возможно. Можно, конечно, добавить в закладки, но ведь потом на этой странице нужный текст/картинку нужно ещё найти.
Иногда хочется прокомментировать что-либо (фильм, рассказ, доку какую-нибудь), поделиться мнением с другими посетителями ресурса или написать что-либо автору/модератору, а ни форума, ни формы отправки комментариев, ни какого-либо фидбека на сайте не предусмотрено.

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

Sticker

Так если функционал какого-либо сайта, xfce4-notes или что-либо другое не позволяет, почему я не могу себе это позволить?

Вот я и позволил.

Скругление углов на чистом CSS с анти-алисингом

Reading time5 min
Views8.9K
Вношу свои 5 копеек в проблему скругления уголков. Хочу предложить метод, который не революционный, а просто несколько усовершенствует другой.

Многие знакомы с методом скругления уголков средствами CSS, который активно использует Гугл. Я лично познакомился с ним на сайте Шторкин.ру.

Метод сделан на чистом CSS, без картинок, без JS, полностью кроссбраузерный. Он спокойно тянется в ширину и высоту. Единственный его недостаток: отсутствие сглаженности (алиасинг). В принципе, все вполне поправимо.
Немного кода и все работает

Подборка видео-проигрывателей на флэше

Reading time2 min
Views18K


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

Надеюсь уважаемые комментаторы помогут дополнить список и выявить абсолютного лидера среди проигрывателей.
Уже помогли. Отдельные спасибы Elected, atri, rmb. Кармы всем за мой счет ^_^

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

Linux: Установка программ не входящих в дистрибутив при помощи менеджера xstow

Reading time3 min
Views116K
Введение


Современные дистрибутивы Linux имеют в своем составе очень много софта. Проблемы с установкой/удалением/обновлением такого софта решены, можно сказать, идеально. Всем занимается менеджер пакетов. Выбрали нужный пакет, менеджер пакетов установит его. Нужно удалить — менеджер пакетов удалит и аккуратно все почистит. Но, иногда хочется, или нужно, установить программное обеспечение, не входящее в дистрибутив, или распространяющееся в исходниках, или даже в бинарниках. Как поступать в таких случаях?
Читать дальше →

Slow Lori атака на веб-сервер Apache

Reading time2 min
Views6.3K
Slow Lori — это животное, живущее в юговосточной Азии и известное своей медлительностью и размеренными движениями. По нему была названа новая DoS и DDoS атака на веб-сервер Apache.

image

Данный тип атаки был обнародован специалистом по безопасности RSnake 17 июня и подробно описан на странице http://ha.ckers.org/blog/20090617/slowloris-http-dos

Атака заключается в очень медленной посылке все новых и новых HTTP заголовков в рамках одного HTTP запроса, никогда его не завершая.

Поскольку Apache выделяет ресурсы для запроса очень рано, то на один такой запрос тратится «полноценное» кол-во ресурсов. Такое же, как и для обычного запроса.

Как известно, Apache использует для обработки запросов или процессы или смесь процессов с нитями. Использование нитей позволит отсрочить смерть, но так или иначе Apache упрется в ограничение по памяти или ограничение, заданное администратором.

Что самое неприятное, Slowlori атака не оставляет никаких следов, кроме огромного количества открытых cоединений со статусом ESTABLISHED. Не будет никаких записей даже в access_log-е.

Первоначально разработчики Apache не очень активно отреагировали на сообщение RSnake в список рассылки, ответив ему что данная атака давно известна и является минусом не самого веб-вервера, а скорее TCP-стека. Однако, в дальнейшем разработчики веб-сервера Apache зашевелились и начали активно обсуждать пути решения проблемы.

Веб-серверы основанные на state machine не подвержены данной атаке. Таким образом простейшим способом обезопасить себя от Slowlori атаки является использование двухуровневой архитектуры, когда первым на пути является веб\прокси сервер, основанный на state machine, такой как nginx.

Другими возможными решениями являются Access HTTP фильтры в FreeBSD, использование хитрых правил на файрволе, которые, в то же время, могут отсечь и легитимных медленных пользователей.

Кроме собственно изменения архитектуры, разработчики Apache согласны в необходимости внедрения более мелких, локальных таймаутов. На данный момент в Apache 2.2 реализован один обший таймаут, влияющий на практически все IO действия.

Более подробную информацию можно получить в списке рассылки httpd-dev и в пока не открытой для публичного доступа статье на LWN.

prettyPrint

Reading time1 min
Views9.2K
imageТе из вас кто следит за автором на Github могли заметить, что недавно он добавил новый проект под названием «prettyPrint».
«prettyPrint» — браузерный дампер переменных для JavaScript аналогичный cfdump для ColdFusion. Он позволяет выводить на экран объекты любого типа в виде таблиц для просмотра во время отладки.
Посмотреть пример.
Читать дальше →

Не устраивает качество хостинга? Напишите жалобу!

Reading time2 min
Views5K
Хостеров нынче много. Хороших хостеров мало. Бывают ситуации, когда ваша площадка лежит по несколько часов, а хостер не отвечает по тикетам/icq/телефону. Пинать хостеров в направлении улучшения качества услуг можно и нужно. Вкратце расскажу, как можно воздействовать на них оставаясь в правовом поле:
Вы можете обратиться в Роскомнадзор, с просьбой проверить качество телематических услуг которые хостер предоставляет вам. Желательно чтобы у вас был подписанный договор с хостером или хотя бы распечатанная с сайта оферта. Множество хостеров работают без лицензий и без разрешений на эксплуатацию – проверка из Роскомнадзора, для них вызовет множество проблем.
Читать дальше →

Блокировка ботов и нежелательных пользователей на уровне вебсервера nginx

Reading time2 min
Views24K
У меня, да и думаю у вас, логи веб-сервера частенько забиваются запросами вида:

62.193.233.148 - - [28/May/2009:18:20:27 +0600] "GET /roundcube/ HTTP/1.0" 404 208 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5"
62.193.233.148 - - [28/May/2009:18:20:28 +0600] "GET /webmail/ HTTP/1.0" 404 206 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5"
212.150.123.234 - - [29/May/2009:20:51:12 +0600] "GET /admin/main.php HTTP/1.0" 404 212 "-" "-"
212.150.123.234 - - [29/May/2009:20:51:12 +0600] "GET /phpmyadmin/main.php HTTP/1.0" 404 217 "-" "-"
212.150.123.234 - - [29/May/2009:20:51:12 +0600] "GET /phpMyAdmin/main.php HTTP/1.0" 404 217 "-" "-"
212.150.123.234 - - [29/May/2009:20:51:13 +0600] "GET /db/main.php HTTP/1.0" 404 209 "-" "-"
212.150.123.234 - - [29/May/2009:20:51:13 +0600] "GET /PMA/main.php HTTP/1.0" 404 210 "-" "-"
212.150.123.234 - - [29/May/2009:20:51:14 +0600] "GET /admin/main.php HTTP/1.0" 404 212 "-" "-"
212.150.123.234 - - [29/May/2009:20:51:14 +0600] "GET /mysql/main.php HTTP/1.0" 404 212 "-" "-"
212.150.123.234 - - [29/May/2009:20:51:15 +0600] "GET /myadmin/main.php HTTP/1.0" 404 214 "-" "-"
212.150.123.234 - - [29/May/2009:20:51:15 +0600] "GET /phpadmin/main.php HTTP/1.0" 404 215 "-" "-"
212.150.123.234 - - [29/May/2009:20:51:16 +0600] "GET /webadmin/main.php HTTP/1.0" 404 215 "-" "-"


В основном это боты, бывают и пользователи, которые сканируют сервер на наличие всяких папок, ищут уязвимости.
Так вот захотелось блокировать эти IP-адреса сразу после попытки сканирования сервера, средствами nginx.

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

Обратимое шифрование текста — метод «Двойной квадрат»

Reading time5 min
Views50K
Здравствуйте!

Однажды, мне понадобилось шифровать текст. Я знал что в PHP есть расширение mcrypt, но интуиция подсказывала, что не на всех хостингах это включено.
Поэтому я начал подозревать что придется кодить решение самому. Что я собственно и сделал. Получилась функция обратимого шифрования, достаточно быстрая и надежная.
Пример работы функции:
<?php 
	echo dsCrypt('habrahabr.ru');
	//Выведет: 60634K7T0*0!
	echo dsCrypt('60634K7T0*0!',1);
	//Выведет: habrahabr.ru
?>

Если вы все еще пользуетесь XOR шифрованием :), то можете заглянуть под кат и посмотреть как еще можно защищать данные…
Читать дальше →

Жесты мышью в Linux

Reading time1 min
Views3.5K

Навеяно оперой.


Меня так вдохновила идея с жестами мышью что я решил поискать нечто подобное для ОС Linux. Нашел быстро. В репозитарии Archlinux оказалась утилита easystroke.

Там есть интуитивно понятный интерфейс с огромными возможностями.

Image downloaded service ITmages

Значит что можно. Можно нажать кнопочку Add Application выбрать приложение и затем команду на него. Или просто для всего рабочего окружения. Вот какие возможности можно делать с жестами:
  • Command (Выполнить команду)
  • Key (Имитация нажатия клавиш)
  • Text
  • Scroll
  • Ignore
  • Button
  • Misc (разные опции. Свернуть и т.д.)

То что не перевел сам еще не понял для чего.

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

Если кто-то это прочитает, не пинайте. Это мой первый хабрапост поэтому все так «просто» и не очень много информации.

Ленивым линуксоидам-(к)убунтоводам посвящается

Reading time5 min
Views2.4K
Итак, дамы и господа, представляю вам небольшой обзор программ, нужных для свежеустановленной Kubuntu.
Я очень ленив, поэтому я использую GNU/Linux, а не Windows.
Предупреждаю, что методы установки софта могут быть неэкономны с точки зрения расхода траффика.
Все, предлагаемое вашему вниманию, мной проверено, но я не несу никакой ответственности за проблемы, которые могут возникнуть после вызова сатаны выполнения команд.
И добавлю, что это — возможно — даже не unix-way!
Ну что же —
поехали

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity