• Теперь Google Analytics работает Асинхронно

      Новый код выглядит вот так:
      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-XXXXX-X']);
      _gaq.push(['_trackPageview']);

      (function() {
       var ga = document.createElement('script');
       ga.src = ('https:' == document.location.protocol ? 'https://ssl' :
         'http://www') + '.google-analytics.com/ga.js';
       ga.setAttribute('async', 'true');
       document.documentElement.firstChild.appendChild(ga);
      })();

      Это значит, что гугл.аналитикс больше не замедлит загрузку вашего сайта :)
      UPD: То есть, он скачивал свой 24кб ga.js во время загрузки страницы, теперь он это может делать после…
      Но после первой загрузки, он обычно закэширован и на всех остальных сайтах используется один и тот же :)

      Материалы по теме:
      Под катом бонус, код для русских поисковиков
    • Как активировать режим Бога в Windows 7

        Знаете ли вы, что вы тоже можете стать Богом!? Ну, по крайней мере, на Windows 7 (по сообщениям пользователей это так же работает и на Windows Vista).

        Этот режим позволит вам управлять всеми настройками Windows из удобного графического меню. Вот как его активировать:

        1. Щелкните правой кнопкой мыши на любом пустом пространстве рабочего стола.
        2. Перейдите в меню Создать и создайте новую папку.
        Читать дальше →
      • HowTo: Cacti 0.8.7g + Plugin Architecture 2.9 + Spine 0.8.7g на CentOS 5.5 i386

          cacti
          Cacti — Веб-приложение которое поможет Вам мониторить состояние вашего сервера, CISCO и всего что может отдавать данные по SNMP протоколу. Вы сможете наблюдать за загрузкой CPU сервера, видеть на графике среднюю загрузку памяти за период времени, количество DNS запросов приходящих на сервер, количество писем (спама) приходящих на почтовый сервер. Сможете мониторить среднюю нагрузку на сеть в рабочие часы и многое другое.

          Cacti Plugin Architecture — дополнение для Cacti расширяющее возможности стандартного пакета путем включения функции установки стороних плагинов.

          Spine — быстрый и качественный поллер для Cacti написанный на C. Используется взамен стандартного поллера, идущего в стандартной инсталляции Cacti, cmd.php.

          Показательная, базовая установка Cacti с прибомбасами на CentOS 5.5 i386. Многие элементы настройки защиты веб-сервера игнорируются, ввиду тестовой инсталляции.Все действия будут выполняться под рутом.
          Приступим
        • Logging. «Из коробки»

            Ведение логов применяется в каждом программном продукте, дожившем до стадии продакшена. Erlang предоставляет программистам целую экосистему, которая включает и механизмы слежения за приложением. В этой части я рассмотрю именно функционал «из коробки».
            Читать дальше →
            • +22
            • 5.2k
            • 5
          • Hello, RavenDB

              В последнее время стал активно изучать и использовать NoSQL-решение RavenDB. И вот я решился написать вводный пост про то, как начать использовать RavenDB. По сути эта статья не сильно отличается от «Hello world» инструкции на сайте проекта (да и примеры я взял оттуда же), но я постараюсь дать некоторые дополнения к тому, что там написано. Сразу хочу сказать, что я не являюсь экспертом в RavenDB, и использую его для своих проектов и задач достаточно недавно.

              P.S. Почему не MongoDB или CouchDB? Не знаю, просто захотелось попробовать именно это решение. Да и на хабре это решение не было еще освещено.

              Читать дальше →
            • 6 шагов загрузки Linux на пальцах

              • Translation
              imageНажмите кнопку включения питания на вашем системнике, и спустя несколько секунд вы увидите окно входа в систему.

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

              Я предлагаю вам познакомиться со следующими уровнями типичной загрузки Linux:
              Читать дальше →
            • Что новенького в моём районе? Отслеживайте правки OpenStreetMap с помощью списка наблюдения

              • Tutorial
              imageКак известно, в MediaWiki, движок Википедии встроена функция «Список наблюдения» (Watchlist). Зарегистрированные участники добавляют статьи в список и потом все правки в этих статьях в реальном времени отображаются на специальной странице. Это очень эффективный инструмент для отслеживания вандализма в реальном времени, который угрожает всем открытым вики-проектам, но не только. Список наблюдения можно использовать и в качестве очень интересной персонально (!) настраиваемой ленты новостей, поскольку в Википедию правки вносятся порой быстрее, чем появляются статьи в СМИ. Хотите быть в курсе исследований ацтеков? Просто подпишитесь на статью «ацтеки». Но это я отвлёкся.

              Преимущества OpenStreetMap такие же — информация очень быстро обновляется. В самом OpenStreetMap, к сожалению, нет хорошего списка наблюдения как и нет «свежих правок» (в Истории почему-то отображаются не все правки) — ещё одного инструмента отслеживания вандализма. Что же делать? Как бороться с вандализмом? Вандалы же полностью испортят карту и никто этого даже не заметит!

              К счастью, стороннее решение проблемы было найдено разработчиком Matt'ом. Представляю вам С.О.В. OWLOpenStreetMap Watch List. С помощью этого сервиса можно не только отслеживать вандализм, но и узнавать что новенького (новые магазины, построенные дороги и здания и прочее, можно даже узнавать об изменении часов работы или номера телефона (!) какого-нибудь кафе) появилось в вашем районе или любом другом участке карты.

              Читать дальше →
            • Как быстро проверить Linux сервер на предмет взлома

              Примерно два года назад я арендовал у одного немецкого хостера не очень мощный сервер на базе Centos 5.2. На нём живут несколько вебпроектов, приносящих некоторую прибыль, и поэтому, я стараюсь присматривать за ним по мере возможности.
              На Centos есть стандартный анализатор логов Logwatch, который запускается ежедневно по крону, анализирует содержимое /var/log, делает сводный отчет и присылает его по электропочте. В один прекрасный день я обнаружил в этом отчете запись:

              --------------------- yum Begin ------------------------ 
               
               Packages Installed:
                  lzo2 - 2.02-3.el5.rf.i386
                  dnstracer - 1.8-1.2.el5.rf.i386
                  openvpn - 2.0.9-1.el5.rf.i386
              
              ---------------------- yum End -------------------------
              


              В тот момент меня она очень смутила, так как в предыдущий день на сервер я не логинился и тем более ничего не устанавливал. Первое, что пришло в голову — сервер был скомпроментирован. Себя я считал уверенным пользователем Linux, однако я растерялся. Благо в тот момент в icq был мой бывший коллега, лучший системный администратор, которого я знаю, и просто очень хороший человек.
              Он помог быстро проверить систему. В результате у меня сформировалось краткое HowTo о том, как быстро проверить свой сервер на предмет взлома. Уверен, что многим Храброчитателям оно будет полезно. Предполагается, что пользователь знаком с консолью Linux/Unix.

              Читать дальше →
            • Движок для создания блогов BlogEngine.NET 2.0

                В начале января был опубликован второй релиз популярного движка для создания блогов с открытым исходным кодом на ASP.NET BlogEngine.NET 2.0. Пакет для установки BlogEngine.NET 2.0 также размещен в галарее веб-приложений на сайте Microsoft, что позволяет установить его буквально в несколько кликов мыши.
                Читать дальше →
              • HideMyAss Proxifier

                  Привет.
                  Хочу рассказать о своём небольшом, но полезном расширении для Chrome.
                  Наверняка многие находятся в такой ситуации, когда провайдер или администраторы блокируют некоторые ресурсы.

                  Не так давно в такой ситуации оказался и я: администраторы на работе заблокировали доступ к YouTube, что и дало толчок к созданию расширения. Решение всем известно — TOR или многочисленные веб-прокси. Естественно, второй вариант в данном случае куда удобнее. Но вот попытки найти прокси, позволяющие пропускать через себя видео-потоки, не увенчались успехом. А потом я узнал о HideMyAss.com, который умеет корректно показывать видео непосредственно с сайта YouTube. Но видео, вставленное в страницы других сайтов, при этом по-прежнему просмотреть с помощью этого сервиса нельзя. Сделать возможность просмотра embed-видео и было первоначальной целью расширения. Позже я реализовал ещё несколько полезных фич для удобной работы с HideMyAss.
                  Читать дальше →
                • Обзор C# библиотек для работы с PDF

                    topic image
                    На написание данной статьи меня подтолкнул топик HTML в PDF, правда по причине того, что он посвящен языку php, лично мне он был мало полезен, т.к. весь опыт работы с php у меня сводился в переводе нескольких скриптов на C#, поэтому я решил сделать небольшой обзор того, что доступно для работы с pdf по средствам языка C#.

                    Ко мне в список попало 7 библиотек, о которых я скажу несколько слов, а для самой популярной (судя по ответам на stackoverflow), я напишу, как с помощью неё сделать простейший документ. Сразу скажу, что это iTextSharp и работа с ней будет описана в конце статьи.
                    Читать дальше →
                  • Знакомство с OCR библиотекой tessnet2 (язык C#)

                    example
                    Буквально на днях у меня появилась необходимость распознать простой текст на картинке и совсем не было желания реализовывать свой алгоритм, т.к. знаком с теорией и знаю, что это не такое простое дело, поэтому сразу решил изучить сначала рынок готовых библиотек. Буквально несколько запросов в гугл и я понял, что ничего более подходящего мне как библиотека tessnet2 невозможно найти. Постоянно читаю хабр и знаю, что тут есть уйма статей посвященных теории OCR и очень удивился, что нет ничего о библиотеке tessnet2.
                    Читать дальше →
                  • Html Agility Pack — удобный .NET парсер HTML

                      Всем привет!
                      Как-то раз мне пришла в голову идея проанализировать вакансии размещенные на Хабре. Конкретно интересовало, есть ли зависимость между размером зарплаты и наличия высшего образования. А еще сейчас у студентов идет сессия (в том числе и у меня), то возможно кому-то уже надоело трепать нервы на экзаменах и этот анализ будет полезен.
                      Так как я программист на .Net, то и решать эту задачу — парсить объявления на Хабре я решил на C#. Вручную разбирать строки html мне не хотелось, поэтому было придумано найти html-парсер, который помог бы осуществить задачу.
                      Забегая вперед скажу, что из анализа ничего интересного не вышло и сессию придется сдавать дальше :(
                      Но зато немножко расскажу про весьма полезную библиотеку Html Agility Pack
                      Читать дальше →
                    • Sedge — приложение для автоматизированного создания отчетов об ошибках

                        Небольшое лирическое отступление


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

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

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

                        Если вы находитесь в похожей ситуации, то вам может пригодиться программа для автоматизации создания отчетов об ошибках – Sedge. С ее помощью вы можете опросить пользователя о произошедшей ошибке, автоматически сформировать отчет, включающий пользовательскую информацию, данные о системе, все необходимые файлы, упаковать и отправить его.
                        Читать дальше →
                      • Набор инструментов для поисковой оптимизации

                          Последние несколько недель, я опрашивал разработчиков на факт использования Search Engine Optimization (SEO) Toolkit для увеличения трафика на свои сайты. Я был удивлен тем, что многие люди не знали вообще о существовании данного инструмента или просто никогда не запускали его. Сейчас мы кратко рассмотрим, почему же каждый веб-разработчик должен использовать данный инструмент.
                          Читать дальше →
                        • Подсветка синтаксиса C# 3.0 в блогах

                            У меня в планах написание серии статей по программированию. Примеров кода на C# будет много. А чтобы код читался, его надо подсвечивать.

                            Но подсветка синтаксиса пропадает при вставке кода в блог. Нужно использовать специальные программы для генерации HTML с эквивалентной подсветкой. Я знаю про два таких проекта — Ookii.FormatC и Source Code Highlighter.

                            Однако функциональности и того и другого мне не хватило. Мне нужна была возможность публикации в ЖЖ и на Хабре (то есть без использования css) плюс подсветка LINQ. Я решил модифицировать Ookii.FormatC и написал свой подсветчик синтаксиса.

                            Читать дальше →
                          • Убираем ненужные http-заголовки из ASP.NET

                            • Translation
                            В связи с последними инициативами Гугла, размер веб-страницы и скорость ее загрузки стали вновь актуальны. Скорость загрузки контента становится одним из критериев ранжирования результатов поиска. О GZip и Deflate сжатии написано уже много, о серверном кешировании — тоже. Поговорим о заголовках.

                            Итак, ваше ASP.NET-приложение, помимо прочих, шлет на клиент следующие заголовки (значения могут варьироваться):
                            • Server: Microsoft-IIS/6.0
                            • X-Powered-By: ASP.NET
                            • X-AspNet-Version: 2.0.50727
                            • (опционально) X-AspNetMvc-Version: 1.0

                            Убрав эти header'ы мы «облегчим» траффик всего на какие-то 100 байт для каждого запроса, но, во-первых, следует помнить, что эти 100 байт, будучи умноженными на десятки тысяч запросов к вашему серверу, сыграют ощутимую роль. Во-вторых, отсуствие header'ов усложнит жизнь злоумышленникам, которые будут лишены информации о версии вашего сервера, версии ASP.NET и о платформе вообще.

                            Теперь к делу.
                            Читать дальше →
                          • Обзор NoSQL систем

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


                              Основной проблемой является то, что реляционные базы данных не могут справляться с нагрузками актуальными в наше время (мы говорим о high-load проектах). Есть три конкретные проблемных области:
                              • горизонтальное масштабирование при больших объемах данных, например как в случае Digg (3 терабайта для зеленых значков, отображаемых, если ваш друг сделал dugg на статье) или Facebook (50 терабайт для поиска по входящим сообщениям) или eBay (2 петабайта в целом)
                              • производительность каждого отдельного сервера
                              • не гибкий дизайн логической структуры.
                              Читать дальше →