• Еще один способ использования экзотических шрифтов на веб-странице

      imageНередко бывает, что клиент хочет «вот этот красивенький шрифтик ААА» себе на сайт. Раньше это было в большинстве случаев недоступно, пока не появились различные библиотеки для работы с нестандартными шрифтами либо тот же @font-face.

      Существуют также решения типа sIFR, cufon, и другие, хотя они, возможно, по сравнению с предлагаемым методом не так элегантны. Холиварить, что лучше мы не будем.
      Да и с @font-face могут быть проблемы с лицензиями на шрифты и другие вещи.

      Еще когда-то большая часть сайтостроителей пользовались картинками (да и сейчас замечается). Иногда мне в те времена приходилось отказываться от картинок в пользу быстрой загрузки сайта (ведь тогда еще скорость Интернетов была не такая как сейчас). Но заказчику объяснить, почему лучше не использовать тот или иной «красивенький» шрифт — весьма трудно. Да и не должно такое быть на самом-то деле!

      Какой же вариант наиболее оптимален?
      Читать дальше →
    • Как безболезненно перевести образовательное учреждение на Linux и СПО?

      Доброго времени суток.
      С самого начала оговорюсь: переход на Linux и пакет СПО — не совсем безболезненная штука, да и не все ПО в конце перехода остается свободным. Но об этом позже.

      Итак, начнем.
      Возможно, многие уже знают, что в школах заканчивается срок действия лицензии на MS Windows. Точная дата — 1 января 2011. Где-то сверху было решено, что продлевать лицензии на ОС от Microsoft — слишком дорогое удовольствие, и гораздо проще перейти на пакет бесплатного ПО.
      Читать дальше →
    • Debian штуки — apt-mirror

      • Tutorial
      Очередной пост, посвящённый полезным утилитам. из состава Debian =)) На этот раз хочется вспомнить про программу apt-mirror, которая позволяет не много не мало, а создавать свои собственные зеркала Debian репозитариев с ежедневным обновлением онных.

      Зачем это может понадобиться, мне даже не нужно говорить, так как все знают, что в локальной сети предприятия или какого-нибудь села/дома легче сделать общее зеркало со срезом репозитария, чем нагружать Интернет-канал каждый раз, когда некоторый индивид использующий на своём рабочем месте Debian GNU/Linux захочет обновиться до более свежей версии.

      Читать дальше →
    • Создание локального репозитория Ubuntu 10.04

      Постепенный перевод предприятия на GNU/Linux порождает необходимость соответствующих изменений в инфраструктуре. Сегодня мы решаем проблему глобального обновления клиентских машин путем создания локального репозитория. Процесс изначально документировался как памятка на будущее, потому заранее прошу прощенья за возможные несуразности в тексте. Итак.
      Для начала следует определиться, посредством чего лучше сделать это. Интернеты выделяют двух фаворитов rsync и debmirror. Выбрал последний, ввиду его большей гибкости.

      1. Получение ключей


      Для создания зеркала репозитория необходимо получить ключ «Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>». Для этого в терминале от суперюзера вводим:
      gpg --no-default-keyring --keyring trustedkeys.gpg --recv-keys 437D05B5
      Читать дальше →
    • Как создается Ubuntu

      • Translation


      Менеджер сообщества Убунту объясняет, как создается популярный дистрибутив.
      Ubuntu — один из наиболее оттачиваемых доступных дистрибутивов Linux, используя работу глобального сообщества, спонсоров, которые обеспечивают большое количество людей и их навыков, чтобы сделать Ubuntu такой, какой она сейчас является.

      В то время как все мы наслаждаемся плодами нового выпуска Ubuntu каждые шесть месяцев, много людей спрашивают команду за эти годы, как это большое количество «волонтеров» управляется, чтобы создать новый выпуск Ubuntu.

      В этой статье мы собираемся объяснить, как делается новый выпуск Ubuntu, какие навыки и талант при этом применяются и какую организационную структуру мы используем, чтобы объединить этот набор вкладов в один связанный модуль.
      Читать дальше →
    • Требования к html-верстке

        1. Верстка, аутсорсинг и технические задания


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

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

          Сегодня мне кинули ссылку на прикольный сервис для быстрого генерирования изображений-заглушек. Может пригодиться для html-верстки. На мой взгляд, это удобно тем, кто и так использует заглушки — экономит время при вёрстке, т.к. сами заглушки уже готовы. Можно цвета/размеры подбирать, меняя только числа/буквы в коде, не отвлекаясь на сам файл картинки — и сразу видеть эффект. И сами размеры видеть написанными, если нужно, чтоб к коду не возвращаться для проверки. Или вместо размеров можно текст добавить, чтоб всегда знать, для чего эта заглушка (типа «Бан(н)ер» или там «Лого», или «Фотография»).

          На сервисе не нужна регистрация — и вообще на сайт можно не заходить, чтобы его использовать. Пишете сразу у себя в коде, например:
          <img src="http://placehold.it/350x50" />
          и получаете:


          Update. Благодаря усилиям k0rv1n, найден вариант этого сервиса, только лучше :)
          Во-первых, там поддерживается кириллица. Во-вторых, там даны ссылки на исходники для разных языков.
          Автор dummyimage.com — тот же Russell Heimlich, что и у placehold.it. У placehold.it есть ещё один автор, но будем считать, что он делал дизайн (дизайн там правда круче, но видимо как раз из-за понтового шрифта Unicode и не выходил).

          Примеры (см. под хабракатом) я поменял с placehold.it на dummyimage.com, раз уж он функциональнее…
          Ещё насколько примеров под катом
        • Правило чтения по спирали

          • Translation
          Техника, известная как «Чтение по спирали/по часовой стрелке» (“Clockwise/Spiral Rule”) позволяет любому программисту разобрать любое объявление языка Си.

          Следуйте этим простым шагам:
          Читать дальше →
        • Прошивка DD-WRT на домашнем роутере

            Прошивка DD-WRT на домашнем роутере


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

            Рано или поздно каждый пользователь интернета покупает себе домой роутер, поскольку количество устройств, требующих интернета, растёт. А у многих растут дети, которые тоже требуют подключения к интернету :) Но мне больно и обидно видеть, что люди не всегда понимают, что можно и нужно делать для достижения максимального комфорта.
            Итак, роутер превращается... Часть 1
          • Выравнивание разделов на современных жестких дисках с помощью программных средств

              Появление современных жестких дисков с секторами размером 4 KБ (вместо 512 байт) сделало проблему выравнивания разделов актуальной как для IT-специалистов, так и для обычных пользователей. Все дело в том, что несоответствие между физическим и логическим распределением данных может привести к резкому снижению производительности всей системы и сокращению срока службы оборудования.
              Читать дальше →
            • Именование узлов в сети

                Хочу поднять вопрос, который, как мне кажется, никто не рассматривал ранее системно. Вопрос звучит так:

                как называть узлы и интерфейсы узлов в сети?


                Для начала обрисую суть проблемы: когда у вас 2-3-5-10 серверов, то их названия, адреса и т.д. вы быстро запоминаете, и особой путаницы они не вызывают. Но если у вас несколько тысяч серверов (добавим к реальным ещё виртуальные), если у вашего маршрутизатора несколько сотен реальных или виртуальных (в виланах) интерфейсов, каждому из которых нужно дать имя (хотя бы для PTR/A записей в DNS), когда у вас есть интерфейсы для конфигурирования коммутаторов, принт-серверов, сетевых принтеров… В этих условиях нужно реально садиться и думать, как их называть. Лучше садиться думать до того, как начали называть, чем после.

                Читать дальше →
              • BugZilla как система постановки задач и контроля работы. Реальный опыт использования

                  Планирование, постановка задачи, контроль — вот одни из важных принципов на которых строится управление проектами и web проектами в частности. А в процессе руководства удаленными командами и организации взаимодействия между ними, без использования систем постановки и контроля задач не обойтись.
                  В данном посте я хочу рассказать о самой популярной системе багтрекинга BugZilla и успешном ее внедрении и эксплуатации в веб-студии «Твинс». Почему-то на хабре БагЗиллу всегда упоминают вскольз. Но никто и никогда подробно не ней не останавливался. А зря…

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

                  Читать дальше →
                • Электронный документооборот или чего не стоит делать

                    Я уже несколько лет занимаюсь внедрением систем электронного документооборота (СЭД). Начинал свой профессиональный путь в небольшой IT-компании, в которой работало около 10 человек. Компания внедряла коробочные решения СЭД в различных органах государственной власти. После этого я работал еще в нескольких компаниях, какие-то из них были очень даже серьезными, с серьезным подходом к проектам и серьезными бюджетами. Но независимо от масштабов компании и «раскрученности» внедряемой платформы, большинство моих проектов были нецелесообразными.
                    Это не значит, что все проекты были убыточны. Какие-то из них имели технико-экономическое обоснование, а какие-то даже ему соответствовали, и были действительно экономически выгодными. Но экономическая эффективность это не единственная величина определяющая целесообразность проекта.

                    Читать дальше →
                  • Инструкция по выбору шрифта

                      Выбираете шрифт? Можно сделать это просто отвечая на вопросы «да» и «нет», благодаря блок-схеме авторства Julian Hansen.

                      image

                      Ссылка на полную версию картинки:
                      julianhansen.com/files/infographiclarge_v2.png (1983×1402)

                      Шрифты классические, но, я думаю, каждый может открыть для себя нечто новое в этой схеме.
                    • Шейпирование трафика в Linux. Часть 2

                        Вторая часть статьи об управлении трафиком в Linux. В статье приведены примеры приоретизации трафика (QoS) и рассказано об использовании hash таблиц при фильтрации трафика (fast hash tables), использование которых позволяет существенно увеличить производительность.
                        Читать дальше →
                      • ThickButtons

                          Уважаемое Хабра-сообщество, хочу представить вашему вниманию стартап Thickbuttons, который этой ночью был анонсирован на конференции DEMO Spring 2010. Это новая технология которая позволяет удобно и точно набирать текст на тачскрин телефонах, в зависимости от набранных символов, Thickbuttons увеличивает кнопки, которые скорее всего будут нажаты следующими. Приложение уже доступно на Android Market.





                          Читать дальше
                        • Тестирование инсталляторов. Теория

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

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

                            В распределенных системах, где приложение разворачивается на уже работающем окружении, простого набора инструкций может быть мало. Для этого, зачастую, пишется план установки (Deployment Plan), включающий не только шаги по инсталляции приложения, но и шаги отката (roll-back) к предыдущей версии, в случае неудачи. Сам по себе план установки также должен пройти процедуру тестирования для избежания проблем при выдаче в реальную эксплуатацию. Особенно это актуально, если установка выполняется на системы, где каждая минута простоя — это потеря репутации и большого количества средств, например: банки, финансовые компании или даже баннерные сети. Поэтому тестирование инсталляторов можно назвать одной из важнейших задач по обеспечению качества программного обеспечения.

                            Именно такой комплексный подход с написанием планов, пошаговой проверкой установки и отката инсталляции, полноправно можно назвать тестированием установки или Installation Testing.

                            Под катом много текста о том, что следует помнить при тестировании.
                            Кат...
                          • Мониторинг домашнего роутера



                              Знакома ли вам ситуация «инет никакой»?

                              Обычно попытка исправления подразумевает:
                              — обход членов семьи (ну да, я качаю новый сезон «Доктор Хаус». А кому это может мешать?)
                              — перезагрузить роутер (ну завис я, завис — сутками всякую дрянь качаете..)
                              — не качаются ли обновления (приятная новость — новый Acrobat Reader...)
                              — нет ли у нас блошек (нашему ботнету сегодня дали большое домашнее задание)
                              — звонок провайдеру (наш канал работает как часы с самого основания компании)
                              — эм. может еще раз роутер?

                              все может стать проще