Пользователь
Архитектор Интернета Пол Бэран умер в возрасте 84 лет
Работая в корпорации RAND в начале 60-х годов, когда холодная война между США и СССР набирала новые обороты, Бэран описал метод разделения информации на «блоки сообщений», которые быстро передвигаются по сетям, собираясь в конечной точке. Позже, англичанин Дональд Дэвис, который параллельно работал над подобной архитектурой, дал название этому явлению — «packet switching» или пакетная коммутация.
IBM отмечает 100 лет своего участия в техническом прогрессе
Наша цивилизация обязана своими успехами в области науки и техники не только гениям-одиночкам, но и крупным компаниям, которые смогли развить достижения прошлого, и привнести множество новинок, которые вряд ли бы появились без существования тех самых компаний. IBM — одна из них, и сейчас компания отмечает 100 лет своего участия в техническом прогрессе. За это время было сделано множество открытий, разработано огромное количество новинок, включая штрих-коды, система бронирования авиабилетов, персональный компьютер.
Основы фотографии: выдержка, диафрагма, ГРИП, светочувствительность
Введение
Часто люди приобретают цифровые зеркальные камеры в погоне за качеством снимков, но при этом не имеют представления о технических моментах съемки. В основном это касается тех, кто до зеркалки держал в руках исключительно компактные фотоаппараты и пользовался автоматическими режимами (которые, к слову, весьма продвинутые в современных камерах).
В результате у кого-то возникает разочарование в камере и фотографии в целом, а другие проявляют терпение и пытаются освоить премудрости фотографии, чтобы раскрыть весь потенциал камеры с полноценным (или почти полноценным) сенсором.
Изначально я планировал написать одну статью, но по ходу дела понял, что объем получается слишком большой и решил разбить ее на несколько частей. В этой главе рассмотрю такие понятия как выдержка, диафрагма, ГРИП и светочувствительность, как эти параметры влияют на результат съемки. На очереди статья про типы и параметры объективов, работу со вспышками и советы по съемке в различных условиях.
Как сделать успешную карьеру в штаб-квартире IBM?
Многие периодически думают о работе в крупной международной компании и я не исключение. Именно поэтому меня привлекла книга Инны Кузнецовой «Вверх». В ней она дает советы по построению карьеры в корпорации. Инна — единственный русский вице-президент IBM. Она отвечает за маркетинг и поддержку продаж системного программного обеспечения, а также руководит подразделениями, отвечающими за бизнес IBM в Linux и технологии виртуализации во всем мире.
Кузнецова начала работу в IBM в России в 1993 году после окончания ВМК МГУ. В 1996 перехала с мужем в США и с 1997 года работает там в «голубом гиганте». С 2006 года занимает позиции в ранге executive. Также она получила MBA в Колумбийском университете.
Знакомство с системой деплоя и сопровождения серверов xCAT
Если ваша деятельность так или иначе связана с установкой и настройкой крупных партий оборудования, то материал, на наш взгляд, будет вам полезен и интересен.
Любому инженеру, управляющему парком серверов Badoo – самой популярной сети знакомств в интернете, не хочется даже вспоминать о том, что когда-то приходилось править вручную конфигурации DHCP-сервера, собирать образы для сетевой PXE-загрузки… Мы хотим рассказать вам, где и как в нашей компании успешно используется программное решение xCAT.
Бекап в Xen4
что имеем — файловая система XEN DomU на LVM
сервер стоечный с двумя Xeon® E5520 (например)
и необходимость бекапа средствами хотя бы отдаленно похожими на автоматические.
Поскольку никто кроме компании phdvirtual.com так ничего не выпустил для автоматизированного бекапа XEN, все бекапят в силу своей изощренности и глубины знаний.
В основном все варианты из гугла сводятся с получению snapshot указанного LVM и сохранение его на диск.
Вообщем-то это практически единственный и самый продуктивный вариант, поcкольку слепок получается без остановки виртуальной машины.
Парк виртуальных машин на моих серверах подбирается к 20 (на небольшой компании), бекап необходим почти для всех, поэтому данные я архивирую. Использую для этого 7zip в мультипроцессорном режиме.
Так же стоит отметить что машины с db и др. требовательными к потере информации сервисами стоит подготовить перед запуском lvm snapshot. Разный взгляд на эту проблему можно найти в каментариях к этой статье ниже :)
Облако: Клонирование дисков VS установка
Большинство наших конкурентов используют клонирование образа, который был единожды установлен и настроен системным администратором. Мы же используем чистую установку с нуля каждой машины.
Ниже я попытаюсь объяснить, чем было вызвано это решение, какие у обоих подходов есть плюсы и минусы.
Как всё начиналось...
Когда облако только-только обретало первые черты, возникла задача автоматизации создания виртуальных машин. Разумеется, первым решением, лежащим на поверхности, было «взять и склонировать». Благо, все делов там — одна команда (xe vm-clone). Дальше была необходимость поправить настройки сети, имя хоста и пароль рута. Всей работы — на пол-дня. Ладно, два дня вместе с ловлей блох.Сделали? Сделали. К счастью, эту версию не увидели даже бета-тестеры.
История одного бага
В слегка прилизанном виде привожу хронологию событий, надеюсь, кому-то будет интересно посмотреть, как работают системные администраторы.
Предыстория
В ходе разворачивания стенда для экспериментов из нескольких идентичных серверов захотелось иметь возможность запускать нужные версии приложения без ручной работы по обновлению кода на куче хостов. Было решено запускать нужные программы с NFS-шары. Приложения были internal use only, одноразовые, причём написанные под конкретную задачу. Шара монтировалась в каталог /opt при загрузке и приложения оттуда запускались с помощью скрипта rc.local. Поскольку речь шла про экспериментальный стенд с очень частым изменением кода, играть в честного разработчика (пакеты, репозиторий, обновления, init.d скрипты) было лениво. Всё происходило под Debian Squeeze.Шара была прописана в /etc/fstab, запуск нужных тестов — в rc.local. Казалось бы, всё сделано.
… И тут я наткнулся на Мистику. Приложения стартовали раз из пяти, причём версия «кривое приложение» была отметена почти сразу — ровно так же иногда не запускались любые другие исполняемые файлы. Причём, с /opt. Из других каталогов отрабатывали нормально. При этом руками rc.local запускаешь — 100% всё хорошо. При загрузке — успешный запуск раз из пяти, или даже реже.
В начале я не воспринимал эту проблему как серьёзную, и пытался её решить нахрапом. Поскольку проблема проявлялась только для /opt я дописал в rc.local команду ls -a1 /opt >/var/log/ls. Как и предполагалось, в /opt на момент выполнения rc.local было только два файла — точка и две точки. Другими словами, NFS-шара не подмонтировалась. Иногда. А иногда подмонтировалась.
Забавляемся с хешами
Попробуйте запустить программу evil.exe.
Что-то пошло не так? Хотите попробовать сами?
DDoS-атаки превысили 100 Гбит/с
Специалисты по сетевой инфраструктуре из компании Arbor Networks опубликовали шестой ежегодный отчёт Worldwide Infrastructure Security Report. В этом документе очень много интересной информации (64 стр.), но особо подчёркивается один из главных итогов 2010 года — впервые в истории подобных замеров мощность одной DDoS-атаки достигла 100 Гбит/с, что более чем в два раза превышает показатели 2009 года и вдесятеро превышает показатели 2005 года.
Простейший способ создать окружение virtualenv
$ python -murllib http://tiny.cc/ve-setup | python
Так это выглядит, а под катом находится пара рецептов использования.
Как устроен AES
О чём эта статья
Долгое время я считал, что криптографические алгоритмы шифрования и хеширования, вроде AES и MD5, устроены очень сложно и написать их совсем не просто, даже имея под рукой полную документацию. Запутанные реализации этих алгоритмов на разных языках программирования только укрепляли это мнение. Но недавно у меня появилось много свободного времени и я решил разобраться в этих алгоритмах и написать их. Оказалось, что они очень просто устроены и для их реализации нужно совсем немного времени.
В этой статье я напишу как устроен алгоритм шифрования AES (которого иногда называют Rijndael) и напишу его на JavaScript. Почему на JavaScript? Чтобы запустить программу на этом языке, нужен только браузер в котором вы читаете эту статью. Чтобы запустить программу, скажем, на C, нужен компилятор и найдётся совсем мало желающих, готовых потратить время на компиляцию кода из какой то статьи. В конце есть ссылка по которой можно скачать архив с html страницей и несколькими js файлами — это пример реализации AES на JavaScript.
Будни разработки облака, часть первая
Когда концепция «оплата по потреблению» только-только оформлялась, а я судорожно искал «как считать», мне казалось, что процессор и память — это два самых простых ресурса.
Действительно, у нас есть xencontrol (библиотека управления гипервизором Xen), которая может точно сказать про каждый домен (запущенную виртуальную машину), сколько у неё есть памяти, сколько наносекунд времени было потрачено. Эта библиотека запрашивает информацию напрямую (через xenbus) у гипервизора и подвергает её минимальной обработке.
Выглядит эта информация примерно так (вывод биндинга xencontrol для питона):
{ 'paused': 0, 'cpu_time': 1038829778010L, 'ssidref': 0, 'hvm': 0, 'shutdown_reason': 0, 'dying': 0, 'mem_kb': 262144L, 'domid': 3, 'max_vcpu_id': 7, 'crashed': 0, 'running': 0, 'maxmem_kb': 943684L, 'shutdown': 0, 'online_vcpus': 8, 'handle': [148, 37, 12, 110, 141, 24, 149, 226, 8, 104, 198, 5, 239, 16, 20, 25], 'blocked': 1 }
Как мы видим, есть поле mem_kb, соответствующее выделенной памяти для виртуальной машины и есть поле cpu_time, содержащее какое-то умопомрачительное число (хотя на самом деле это всего лишь 17 минут). cpu_time считает с точностью до наносекунд (точнее, величина, которая тут хранится считается в наносекундах, реальная точность около микросекунды). Память, как понятно, в килобайтах (хотя внутренней единицей учёта, что гипервизора, что ядра линукс является страница — её размер по-умолчанию 4 килобайта).
Казалось бы «бери и считай», однако, дьявол кроется в деталях…
Извините за жёлтый заголовок ниже, но именно так звучал вопрос в полемике в ходе обсуждения одной из проблем:
Hyper-threading + Xen = воровство денег у клиентов
Структуры данных: двоичная куча (binary heap)
Для дальнейшего чтения необходимо иметь представление о деревьях, а также желательно знать об оценке сложности алгоритмов. Алгоритмы в этой статье будут сопровождаться кодом на C#.
Введение
Двоичная куча представляет собой полное бинарное дерево, для которого выполняется основное свойство кучи: приоритет каждой вершины больше приоритетов её потомков. В простейшем случае приоритет каждой вершины можно считать равным её значению. В таком случае структура называется max-heap, поскольку корень поддерева является максимумом из значений элементов поддерева. В этой статье для простоты используется именно такое представление. Напомню также, что дерево называется полным бинарным, если у каждой вершины есть не более двух потомков, а заполнение уровней вершин идет сверху вниз (в пределах одного уровня – слева направо).
Определение местоположения отключенного телефона: миф?
По поводу отслеживания включенного аппарата, — сомнений нету, — есть LBS, и его не стоит путать с A-GPS. Да и сам МТС в 2009-м году анонсировал услугу определения местонахождения.
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность