Как стать автором
Обновить
11
iav @iavread⁠-⁠only

Пользователь

Отправить сообщение

История одного Репозитория

Время на прочтение14 мин
Количество просмотров8.8K
Эта история началась много-много ревизий назад – тогда SVN Репозиторий был девственно чист, и ни один баг еще не осквернил его своим присутствием. Первые коммиты, первые откаты, просмотры лога – все это было так захватывающе, так ново. И разве мог Репозиторий тогда предполагать, что эти первые, такие приятные шаги впоследствии приведут его на хирургический стол?

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

Разоблачение алгоритмов растеризации шрифтов (1/2)

Время на прочтение15 мин
Количество просмотров14K
Попытка улучшить алгоритмы растеризации шрифтов, пользуясь исключительно общедоступной информацией.

От переводчика


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

Разоблачение алгоритмов растеризации шрифтов (2/2)

Время на прочтение14 мин
Количество просмотров10K
(вторая часть перевода статьи Разоблачение алгоритмов растеризации шрифтов)

Linux


Наследуя худшее


Windows растеризует шрифты плохо, Linux ещё хуже. Во всех Linux-системах, которые я видел, используется FreeType [10] Дэвида Тёрнера, Роберта Вильгельма и Вернера Лемберга. Это отличная библиотека, но способ её использования, к сожалению, нельзя назвать удачным. Типичный скриншот Linux выглядит так:



Вот полный скриншот:
ссылка

Сразу заметна проблема — чёрные пятна в скругленных углах, образовавшиеся в результате сглаживания. Вцелом, можно сказать, что косые штрихи выглядят тяжелее чем вертикальные, что в регультате производит впечатление «грязи». Вы можете возразить, что FreeType и Linux могли бы использовать схожую с ClearType субпиксельную растеризацию, но по мне это не даёт заметных преимуществ.
Читать дальше →

Рекламный ролик: «О чём ты думаешь сейчас?»

Время на прочтение1 мин
Количество просмотров1.4K
Очень захватывающий рекламный ролик телекомуникационной компании Batelco:



Рекомендую смотреть на весь экран и, по возможности, в HD.

Под катом видео о создании ролика

Hg Init: Часть 2. Основы Mercurial

Время на прочтение7 мин
Количество просмотров231K
Это вторая часть из серии Hg Init: Учебное пособие по Mercurial от Джоэля Спольски (Joel Spolsky). Возможно, вы захотите прочитать и первую часть «Переобучение для пользователей Subversion».

Даже если вы работаете в одиночку, то вам стоит использовать Mercurial. Так вы сможете получить все прелести контроля версий. Эта часть покажет насколько просто добавить каталог в Mercurial, чтобы с легкостью отслеживать предыдущие версии.

Часть 2. Основы Mercurial



Mercurial — это система контроля версий. Разработчики используют ее для администрирования исходного кода. У нее два основных назначения:
  1. Она хранит все предыдущие версии каждого файла
  2. Она может объединить разные версии вашего кода, то есть сотрудники могут независимо работать над кодом и затем объединять свои изменения


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

Hg Init: Часть 1. Переобучение для пользователей Subversion

Время на прочтение9 мин
Количество просмотров124K
Hg Init: Учебное пособие по Mercurial.


Mercurial — это современная распределенная система контроля версий с открытым кодом. Эта система — заманчивая замена для более ранних систем вроде Subversion. В этом простом учебном пособии в шести частях Джоэль Спольски (Joel Spolsky) рассказывает о ключевых принципах Mercurial.

Если вы использовали Subversion, то Mercurial будет непонятным. Эта часть рассказывает о главных отличиях при работе с Mercurial. Если вы никогда не использовали Subversion, то можете просто пропустить эту часть.

Часть 1. Переобучение для пользователей Subversion


В каком же я был смятении, когда программисты в моей компании решили сменить Subversion на Mercurial!

Для начала, я начал приводить всевозможные тупые причины, по которым нам не надо ничего менять. «Мы должны хранить репозиторий на центральном сервере, так безопаснее», — сказал я. Знаете что? Я был неправ. При работе с Mercurial у каждого разработчика на жестком диске хранится полная копия репозитория. Это, на самом деле, безопаснее. В любом случае, почти в каждой команде, использующей Mercurial, центральный репозиторий тоже существует. И вы можете делать резервное копирование этого репозитория со всей необходимой одержимостью. А еще можете устроить трехступенчатую защиту с Сайлонами, Штурмовиками и прелестными лабрадудлами или что там требует ваш IT-отдел.

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

Настройка Active/Passive PostgreSQL Cluster с использованием Pacemaker, Corosync, и DRBD (CentOS 5,5)

Время на прочтение16 мин
Количество просмотров29K
В этой статье объясняется, как настроить Active/Passive кластера PostgreSQL, с использованием Pacemaker, Corosync и DRBD.
Подготовлено Рафаэль Марангони, из команды BRLink Servidor Linux
Читать дальше →

Устанавливаем неподдерживаемую Wifi карту в HP Pavilion dv6-1319er

Время на прочтение4 мин
Количество просмотров199K
image Маркетинг страшная сила, и в погоне за выгодой, у производителей ноутбуков стало модно блокировать сторонние карты расширений, мол хотите карту новей — покупайте у нас, с наценкой, и не факт что у производителя есть то что ВАМ нужно (а если брать в расчет что BIOS для лаптопа обновляется максимум год — два, тогда ещё и жить со старым оборудованием).
На хабре уже есть такие топики (например) о внесении изменений в BIOS ноутбука для поддержки сторонних карт mini pci-e, хочу и я вам рассказать о таком же подвиге, но на другом представителе ноутбуков HP Pavilion dv6-1319er

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

Репликация в Postgresql 9.0

Время на прочтение3 мин
Количество просмотров86K
Доброго времени суток. Учитывая, что с момента релиза PostgreSQL 9 прошло уже некоторое количество времени — я решил пощупать одну из его новых функций — нативную репликацию. Как известно, новый механизм основан на пересылке XLOG`a от мастера к слейву. Одним из жирных плюсов можно назвать нормальную обработку ALTER`ов. Иными словами — администратор 9й версии может обойтись без Slony.
Читать дальше →

Хабр в малых окнах — теперь от 420 пикселей

Время на прочтение11 мин
Количество просмотров1.5K
Благодаря резиновости дизайна Хабра и окончанию работы над стилизатором Habr Prettifier/spmbt, который нужен для достижения компактности и удобочитаемости страниц, сайт приобрёл возможность полноценно работать в довольно узких окнах — от 420 пикселей шириной (нужен любой не-IE6-7-браузер и плагин, стилизатор Stylish или плагин GreaceMonkey, или NinjaKit для Safari/Win, или установка пользовательских стилей в Оперу, IE8 или Safari.) Результат показывает на скринкасте (Youtube), что в таких малых окнах пользоваться Хабром можно.

Ознакомление с кодом, парой скриншотов и установка в Stylish или GreaceMonkey.

Лучше всего демонстрирует полноценную работу в узком окне прогулка по сайту, снятая на видео.
Презентация результатов - смотреть дальше.

Интервью с разработчиком reiser4 Эдуардом Шишкиным

Время на прочтение14 мин
Количество просмотров18K
Ввиду того, что Эдуард — человек занятой, эпопея с интервью растянулась на неопределённый срок. Но, несмотря ни на что, разработчик reiser4 таки выделил время и ответил на вопросы уважаемого сообщества Хабра и ЛОРа. Что из этого вышло — читайте под катом.
Читать дальше →

Объединение браузеров в непотопляемый трекер

Время на прочтение6 мин
Количество просмотров4.2K
vseisk-p2p Одноранговые сети стали мощнейшей силой в современном интернете. Клиентские программы p2p-сетей объединяют компьютеры в гигантские сетевые «организмы», причем создают, поддерживают и контролируют эти сети сами конечные пользователи. Сегодня на каждом компьютере практически всегда открыт браузер. Объединяя браузеры в p2p-сеть получаем распределенную систему, которая всегда под рукой и которая может быть полезна для решения многих насущных задач.

Недавно я рассказывал о расширении Firefox, которое объединяет браузеры в p2p-поисковую сеть Всеиск. Теперь эта сеть освоила дополнительные функции: публикация/поиск торрентов и трекер для BitTorrent. Прежде чем перейти к подробному описанию, я в двух словах поясню постановку задачи.

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

Если распределить диспетчерские функции по принципу p2p-сети, то это разом сделает координационный сервис неподвластным ни техническим, ни административным угрозам. Я решил сделать p2p-сервис, который будет реализовывать обычные функции торрент-сайта (поиск торрентов и диспетчер раздач), причем, при взаимодействии с клиентской программой, сервис будет выглядеть как обыкновенный трекер.

В этой статье я сначала коротко расскажу уважаемому собранию как все это работает технически, затем более развернуто покажу на картинках как пользоваться сервисом.
Читать дальше →

OneSwarm — полностью децентрализованная пиринговая сеть

Время на прочтение4 мин
Количество просмотров7.3K
imageПроблема секьюрности информации, передаваемой в файлообменных сетях, сегодня стоит очень остро. Популярный пиринговый протокол битторрент не дает практически никаких средств защиты от посторонних глаз, выдавая IP всех пиров как на ладони. The Pirate Bay, помнится, обещал разработать свой собственный анонимный протокол, но, видимо, дело заглохло.

Еще одной проблемой битторрента является частичная централизованность. Нет серверов — нет сети (DHT не в счет, т.к. не полностью самостоятелен). Очевидно, будущее за полностью децентрализованными сетями — сетями третьего поколения. Об одной из таких я и хотел бы рассказать.
Читать дальше →

Tribler сделал торрент-трекеры архаизмом

Время на прочтение1 мин
Количество просмотров14K
Несколько европейских университетов и Гарвард продолжают работу над совместным мега-проектом Tribler по созданию идеального BitTorrent-клиента. Об этом проекте мы уже несколько раз упоминали на Хабре, например, после разработки платёжной системы, основанной на взаимозачёте трафика (гигабайты вместо долларов, которыми можно расплачиваться за товары), а также после внедрения там системы рекомендаций.

И вот сейчас разработчики объявили (PDF), что в новой версии клиента Tribler 4.1.0 реализована технология полноценной децентрализованной работы. Вся статистика об объёмах закачек и раздач, а также информация о рейтингах и привилегиях, сохраняется в распределённой клиентской сети без помощи торрент-трекеров, при этом есть система социальных рекомендаций по протоколу Buddycast, что устраняет угрозу спама. Искать новые .torrent-файлы можно напрямую на компьютерах других пользователей, опять же без нужды в торрент-трекерах.
Читать дальше →

Linux HA на основе Pacemaker

Время на прочтение5 мин
Количество просмотров126K
В своей предыдущей статье я вкратце коснулся темы создания High Availability решения на основе демона heartbeat. Однако, как выяснилось, что-то сложнее чем 2-х узловой кластер на нем делать не так уж удобно. Изучение проблемы вывело меня на след проекта Pacemaker. Его-то мы сейчас в кратце и рассмотрим.
Читать дальше →

Git on Windows in Technicolor

Время на прочтение1 мин
Количество просмотров1.7K
При работе с git под windows не покидало ощущение, что чего-то не хватает, не столь комфортно с ним работать как на других системах.
Оказывается, в msysgit по умолчанию отключен цветной вывод.

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

Превращаем Midnight Commander в консольный браузер для GIT

Время на прочтение4 мин
Количество просмотров14K

Вместо предисловия...


Мне давно хотелось отсматривать код примерно как это сделано в meld, но только в консоли, и еще мне хотелось чтобы это все было увязано с системой управления версиями файлов GIT. В общем чтобы все делалось 1 кнопкой не выходя из mc.

Ydiff

Однажды у нас на канале (или это было на траке...) проявился некто Daniel Borca пошумел-пошумел и убежал, видимо не понравилась ему наша бюрократия, но зато оставил он после себя несколько сыроватых патчей, к готовившемуся релизу 4.7.0-pre1 миднайт коммандера. Один из них содержал в себе ydiff.[ch] и zdiff.[ch]… Как оказалось, то что я хотел получить, было давно уже реализовано в древнем форке mc-mp и в последней версии ru-fork. После 2-х дневного «перепиливания» я подключил функцию сравнения файлов к последней версии mc… Полдела было сделано. :)
Читать дальше →

Как выглядит арабская клавиатура

Время на прочтение8 мин
Количество просмотров24K
В комментариях к блестящему топику «Как выглядит китайская клавиатура» высказали интересную идею: рассказать про набор текста в разных языках с необычной письменностью.

Арабам относительно повезло: у них лишь 28 букв — даже меньше, чем в русском. Каждой букве можно назначить отдельную клавишу, и ещё останутся свободные. Зато с их письменностью возникают свои сложности, неведомые китайцам.
Читать дальше →

Type Folly — изумительно простой онлайн редактор CSS3

Время на прочтение2 мин
Количество просмотров2.7K



По собственной инициативе выкладываю на суд сообщества проект моего друга, со сложно выговариваемым именем Mircea Piturca.

Встречайте: Type Folly — очень простой и удобный онлайн редактор CSS. Для новичков самое оно.

UPD: Автор внес изменения и поправил баги. Спасибо Хабрасообщству.

Или если верстальщик заболел, например...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность