• Солнце — это просто. Часть третья: О солнечных вспышках

      В третьей части моего рассказа речь пойдёт о солнечных вспышках. Расскажу я о том, как они образуются и вообще что это такое.
      В качестве примера изображения, получаемого нами, хочется привести изображение Солнца, полученного с телескопа TRACE. Белым квадратиком обозначен примерный размер Земли.
      image

      Предыдущие части здесь и здесь.
      Читать дальше →
    • Как я покупал iPod touch на ebay, и как мне пришло не совсем то…

        Привет, image
        Я хочу рассказать интересную историю, как я покупал на Ebay плеер Apple iPod touch 32Gb. О том, как я использовал «снайпер», пользовался посредником и о том какие проблемы возникли. Я уже больше полугода делаю покупки из-за рубежа и особых проблем по поиску того что мне надо не возникло.
        image
        Читать дальше →
      • Как мы создали SPAE — SaaS для администраторов интернет серверов

          image

          С чего всё началось?


          Однажды, два админа, с достаточным опытом администрирования зоопарков серверов, задумались над тем, что для каждого серверного окружения приходится настраивать, или исторически они уже есть, свои nagios'и, mrtg, cacti, zabbix'и, nessus'и etc… Хоть настройка графиков, службы мониторинга сервисов и безопасности является тривиальной задачей, но все равно эта задача занимает время, требует размножения сущностей и постройки новых зависимостей. Логично пришла идея сделать «для себя» инструмент, который максимально помогал бы в рутинном администрировании. Но перед тем как «придумывать новый велосипед» нужно разложить проблему, которую он будет решать на составляющие.

          Читать дальше →
        • Вардрайвинг в MAC OS X

          • Tutorial


          Стандартом де-факто в вардрайвинге обычно считается система Linux (модифицированные драйвера, Kismet в связке с aircrack-ng). Но немногие знают, что в маке есть мощные инструменты для взлома аудита безопасности беспроводных сетей, ни чуть не уступающие, а во многом и превосходящие по функционалу Linux-аналоги.
          UPD: Описанные в статье инструменты на сегодняшний день устарели. Рекомендуется использовать Linux

          Читать дальше →
        • Стандартный Color Picker для веб-дизайнера

            image

            Любой веб-дизайнер трудящийся на Маке не раз сталкивался с проблемой получения цвета напрямую с экрана или из окна браузера. Существует множество способов это сделать, например панель Web Developer в Safari или целая армия всеразличных «экранных линеек» от сторонних разработчиков.

            Проще всего эту задачу решает самое обыкновенное окно выбора цвета, которое есть на маке изначально.
            Достаточно лишь немного его улучшить.
          • OAuth: описание протокола простым и понятным языком

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

              Пример кросс-авторизации


              Вернемся в 2005-й год и представим, что мы пишем социальную сеть. В ней имеется форма импорта контактов из адресной книги GMail. Что нужно для доступа к контактам GMail? Конечно, логин и пароль от ящика. Но если мы попросим ввести их на нашем сайте, пользователь заподозрит неладное. Где гарантия, что мы не сохраняем на сервере введенные пароли? Поэтому нам хочется, чтобы пароль вводился только на сайте GMail, и после этого доступ к контактам через API GMail предоставлялся нашей социальной сети (возможно, на время).
              Под катом - повествование с примерами
            • Игра Сет

                Есть такая потрясающая настольная (не компьютерная!) игра — Сет (The Set). Генетик Марша Фалко (Marsha Falco) изобрела её, делая пометки во время исследования эпилепсии у немецких овчарок. Игра получилась необычной, чрезвычайно увлекательной и мозгозагружающей. Хабралюдям — самое то! Осторожно: может появиться зависимость.



                Читать дальше →
              • Забудем про captcha

                  [Intro]
                  С недавнего времени я начал изучать AJAX библиотеку jQuery…
                  На мой взгляд это лучшая, удобная и легкая либа для AJAX…
                  Прочитав некоторые статьи, доки по либе я решил сделать так, чтобы пользователям на вашем сайте не пришлось смотреть на закорюченные символы

                  Читать дальше →
                • Бэкап в Time Machine используя домашний сервер под Ubuntu в качестве iSCSI — таргета

                    Добрый вечер, уважаемое хабросообщество!

                    Долгое время из за отсутствия TimeCapsule или внешнего USB винчестера я использовал Time Machine для бэкапа на домашний сервер по протоколу SMB (подробно о том как это сделать смотри, например здесь) Однако совершенно не зря на мой взгляд данный метод не поддерживается Apple официально, метод плохой, негодный. Дважды образ для бэкапов оказывался испорченым без всяких видимых на то причин но данные удалось спасти, на третий раз чаша моего терпения переполнилась и я стал искать альтернативный вариант. Представляю сообществу свой вариант решения проблемы бэкапа путем предоставления доступа к отдельному диску домашнего сервера по протоколу iSCSI. Что это такое, для чего оно нужно а также преимущества и недостатки по сравнению с SMB/nfs можно узнать, например здесь.

                    Итак, дано:
                    1. Сервер под управлением Ubuntu 9.04 server (сделан dist-upgrade с 8.10). Выступает в роли iSCSI-target. Для бэкапа будем использовать отдельный жесткий диск.
                    2. iMac под управлением MacOS 10.5.7 Выступает в роли iSCSI-initiator
                    Читать дальше →
                  • Написание сложных интерфейсов с Backbone.js

                      image

                      Backbone.js это каркас для создания RIA JavaScript приложений, его автором является Jeremy Ashkenas, создатель CoffeeScript, Backbone является частью компании Document Cloud ей же «принадлежит» Underscrore.js. Backbone — очень легкая библиотека, помогающая вам создавать интерфейсы. Она может работать с любыми библиотеками, к которым вы привыкли.
                      Backbone это набор классов, размером менее 4Кб, которые формируют структуру вашего кода и помогают создавать качественные MVC веб-приложения.
                      Backbone формирует структуру тяжелых JavaScript приложений, внесением моделей с key-value подобным хранилищем и своими событиями, коллекций с богатыми API, видов (ориг. views) с декларативной обработкой событий и соединяет все это в в одно приложение, поддерживающее RESTful JSON интерфейс.

                      Backbone не может работать без Underscore.js. Для поддержки REST API и работы с DOM элементами в Backbone.View настоятельно рекомендуется подключить json2.js и jQuery-подобную библиотеку: jQuery или Zepto

                      В статье будет рассмотрена структура Backbone.js, будет поэтапно создано простое Todo приложение.
                      Читать дальше →
                    • Введение в Cappuccino

                        Фреймворк Cappuccino – уникальная технология, позволяющая создавать веб-приложения десктопного качества. Он абстрагирует DOM и вместо него предоставляет Cocoa-подобный API. Вместо того, чтобы возиться с CSS-версткой и кроссбраузерными проблемами, вы используете интерфейсы, специально созданные для разработки приложений, а не статических страниц, интерфейсы, взятые с платформ Mac OS X и iOS.

                        Я заметил, что на русском языке почти нет обучающих материалов о Cappuccino, и решил восполнить пробел. Этот очерк рассчитан на то, чтобы прочитав его, можно было сразу приступать к разработке своего первого Cappuccino приложения. Я познакомился с фреймворком, когда искал средство для реализации онлайновой среды разработки для своего проекта Akshell. Мне нужно было сделать полнофункциональную IDE, работающую в окне браузера, и Cappuccino отлично справился с поставленной задачей.
                        Читать дальше →
                      • Разработка видеохостинга на Erlang

                          Представляем вашему вниманию доклад Максима Лапшина, сделанный им на конференции Application Developer Days. Мы собрали воедино видео и аудио, слайды презентации, а также стенограмму доклада. Последнее потребовало огромных усилий, но оно явно того стоит. Сорокаминутный доклад можно «услышать» в несколько раз быстрее.

                          Свел видео и презентацию в единый ролик, а также записал стенограмму Стас Фомин (человек и пароход локомотив :)).
                          Читать дальше →
                        • Linux: Ускоряем софтрейд и RAID6 в домашнем сервере

                            Чем можно заниматься в 0 часов 0 минут в Москве? Сидеть за праздничным столом и праздновать? Как бы не так. В этот праздничный миг я хочу поделиться с вами моими сегодняшними изысканиями по тюнингу производительности софтрейда в домашнем сервере. Можно пропустить теорию и сразу читать последний абзац где основная соль.

                            Почему RAID-6?


                            Как известно, RAID-5 выдерживает смерть одного веника, и после этой самой смерти – до момента когда закончится восстановление рейда с новым винчестером ваши данные под угрозой – восстановление обычно занимало до 70 часов для больших массивов и еще один веник может легко умереть в это время.
                            RAID-6 выдерживает смерть 2-х любых веников. Из минусов – общепризнанное мнение что тормозит, особенно запись, даже по сравнению с RAID-5. Что-ж, проверим.
                            Читать дальше →
                          • Установка VMware ESXi 4.1 без KVM на примере hetzner.de

                              Как можно понять из заголовка, есть сервер Hetzner.de, а именно модель EQ4, 8 гигов памяти, заказчику надо развернуть на этом хосте ровно 3 виртуальние машины, 2 линукса и 1 виндовс, так как по сути 3 эти хоста не будут мега нагружены, то конфигурация в самый раз. На Hetzner.de присутствует возможность установки VMware ESXi 4.1, о чем они собственно и не скрывают (и не афишируют впрочем тоже ), просто при заказе сервера надо указать это, и к вашему счету вежливо добавят +45 евро, 24 за сетевую карту Intel, и еще 21 за KVM.
                              Данная инструкция не завязана на Hetzner.de, но реализована на его примере.

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

                              Читать дальше →
                            • Еще несколько полезных плагинов

                                За последний месяц, я написал уже два поста с обзорами плагинов jQuery (1 и 2). Надо сказать, что подобные статьи на английском языке появляются все чаще и чаще. Однако их содержание довольно быстро приедается. Галереи картинок, слайдеры, опять галереи картинок, многочисленные динамические меню и опять слайдеры. Мне не хочется описывать очередную порцию подобных плагинов. Поэтому сегодня я расскажу не о двадцати-тридцати как обычно, а только о семи важных на мой взгляд плагинах, о которых очень хотелось рассказать. Лучше меньше, да лучше.
                                Читать дальше →
                              • Настройка роутинга для домашнего multihomed сервера

                                • Tutorial
                                Сейчас наличие нескольких подключений к интернет на одном, в том числе и домашнем сервере — не редкость. Городские локалки, ADSL, 3G модемы… Добавим к этому сети домашние локальные и внешние виртуальные (VPN), и получим ядрёную смесь интерфейсов, между которыми необходимо роутить трафик, балансировать трафик между разными каналами в интернет (когда они есть), и переключаться с нерабочих каналов на рабочие (когда они отваливаются).

                                Судя по постам в инете, большинство людей, столкнувшихся с этой ситуацией, очень плохо представляет себе, как это настраивается. Надо отметить, что в линухе действительно управление роутингом весьма сложное и запутанное — следствие эволюционного развития и поддержки (частичной) совместимости. Я хочу описать принципы настройки роутинга multihomed серверов на конкретном, достаточно сложном, примере: на сервере три физических сетевых интерфейса (один в домашнюю локалку и два к ADSL-модемам), два ADSL-подключения (ADSL-модемы в режиме bridge, так что pppd поднимает этот же сервер) к разным провайдерам (одно со статическим IP, второе с динамическим), плюс VPN на сервер компании — итого шесть интерфейсов.

                                Тема достаточно сложная, поэтому для понимания материала потребуется хотя бы минимальное понимание работы роутинга (что такое default route и gateway), файрвола (маркировка пакетов, отслеживание соединений, связь между разными таблицами и цепочками файрвола и роутингом), pppd (скрипты ip-up/ip-down) и протоколов IP и TCP.
                                Читать дальше →
                              • Pivotal Tracker

                                  image
                                  Мы все прекрасно понимаем, что не существует универсальной системы управления проектами, которая бы подходила для всех случаев. Выбор системы целиком и полностью зависит от Ваших нужд. Если вы не нуждаетесь в репозитариях, и для общения Вам достаточно комментариев в тикетах, а работаете Вы над проектром по «гибким» методологиям, то возможно одним из лучших вариантов будет — Pivotal Tracker.

                                  Пост в первую очередь предназначен для тех, кто не знаком с Pivotal Tracker, или тех кто считает его сложным и непонятным.
                                  Читать дальше →
                                • KIWI Image System: атака клонов

                                    ⇒Введение


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

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


                                    А потом пришли фрукты и спасли мир
                                  • Настройка и понимание Bacula

                                      Иногда проснувшись утром отчетливо понимаешь — что то не так. Хотя ты побрился и даже ни разу не порезался, кофе не выкипел, на улице солнечное утро, добрался до работы быстро и без приключений, вроде бы все хорошо, а все равно что то не так. Но войдя в офис ты видишь общую панику, истеричные вопли, о том, что все пропало и «весь офисный планктон» умрет, а ты находишься во главе тех кто погибнет.
                                      Оказывается ночью отказали файловый и почтовый серверы. И тут понимаешь, что не с проста утро началось так хорошо. Работы предстоит достаточно, но данные надежно сохранены, ибо ты позаботился об их резервном копировании.
                                      Читать дальше →