Обновить
10
0
TTTOOOPPPTTT@script88

Linux system administrator

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

15 лет назад компьютер Deep Blue обыграл человека в шахматы

Время на прочтение2 мин
Охват и читатели18K


Корпорация IBM отмечают ещё один юбилей в своей истории — 11 мая 1997 года компьютер Deep Blue в матче из 6 партий обыграл чемпиона мира по шахматам Гарри Каспарова: дважды победил компьютер, один раз — человек и три партии было сыграно в ничью.

Победа Deep Blue не далась легко IBM — в недрах корпорации еще с начала 1950-х годов прошлого века велись работы по созданию специализированных вычислительных машин и соответствующего программного обеспечения. В 1985 году аспирант университета Карнеги Мелоун Фенг Хсу (Feng-hsiung Hsu) в ходе работы над своей диссертацией построил компьютер для решения шахматных задач, получивший название ChipTest. Его коллега Мюррей Кемпбелл (Murray Campbell), присоединившийся к проекту позднее, вместе с самим Фенгом Хсу были приняты в подразделение IBM Research, занимавшееся разработкой исследовательских инновационных задач. Именно они ответственны за появление проекта Deep Blue, которому в 1989 году оказалось ещё не под силу играть с человеком — тогда Каспаров выиграл. Аналогичная история повторилась в 1996 году, однако уже через год третья версия программы смогла взять реванш, и финальная партия закончилась за 19 ходов — при том, что партии у шахматистов уровня Каспарова длятся около четырёх часов.

Технически Deep Blue представлял из себя компьютер с 32-ядерным (32-node) процессором IBM POWER2, каждый из которых был подключён к восьми специализированным шахматным процессорам VLSI, работающим на серверной платформе RS/6000. Код Deep Blue был написан на С, а в качестве операционной системы использовалась IBM AIX.

После победы Deep Blue был помещён в Смитсоновский музей Вашингтона, положив начало новой эпохе суперкомпьютеров IBM Blue Gene.

Под катом видео, подготовленное IBM к юбилею, в котором Мюррей Кемпбелл — один из первых разработчиков Deep Blue — рассказывает о своём проекте.
Посмотреть

Сотрудник по фамилии Нуль обрушил корпоративное ПО

Время на прочтение1 мин
Охват и читатели21K
Больше года назад на сайте QA по программированию StackOverflow один пользователь попросил помощи по такому вопросу. У них на фирме есть сотрудник по фамилии Нуль (Null). Проблема в том, что из-за него падает корпоративное поисковое приложение, если фамилию сотрудника использовать как поисковый запрос (что в последнее время происходит очень часто). Ошибка:

<soapenv:Fault>
   <faultcode>soapenv:Server.userException</faultcode>
   <faultstring>coldfusion.xml.rpc.CFCInvocationException: [coldfusion.runtime.MissingArgumentException : The SEARCHSTRING parameter to the getFacultyNames function is required but was not passed in.]</faultstring>

Для параметра указан строковый тип данных. Используется WSDL (SOAP). Flex 3.5 Actionscript 3 ColdFusion 8.
Читать дальше →

Один конфиг Nginx для работы с кучей разных сайтов

Время на прочтение3 мин
Охват и читатели109K
Если вам приходилось настраивать Nginx под нужды веб-студии, сеошников или киберсквоттеров ;), то уже наверняка знаете про символ подчёркивания в качестве server_name. Тем не менее несколько других небесполезных приёмчиков из моего примера почерпнуть можно.

Чтоб создать новый сайт на сервере с такой конфигурацией, достаточно создать директорию с именем сайта и залить в неё содержимое. А конфигурационный файл остаётся единственным и неизменным.

Конфиг делает следующее:
1. Отрезает «www» от адреса, дабы сервер нашел директорию с сайтом невзирая на эти буквы в URL.
2. Выдаёт отдельную страничку при запросе несуществующего сайта.
3. Делает стандартный редирект на index.php в корне сайта при запросе несуществующего пути.
4. Перенаправляет запрос на php-fpm при вызове .php файлов.
5. Добавляет возможность обработки .htm(l) файлов как PHP.

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

Linux клиент VMWare View 5.0 c «пробросом USB»

Время на прочтение4 мин
Охват и читатели8.2K
В продолжение моей предыдущей заметки Дружим Thinstation 5.0 и клиент VMWare View 5.0 c полноценным USB-redirect'ом, для тестов необходимо было собрать клиент версии 5.0 с «пробросом USB», который бы работал в Linux. Так как я лучше всего знаю Ubuntu — пакет собирал для нее. Готовый пакет версии 5.0 под катом.
Читать дальше →

Git Wizardry

Время на прочтение17 мин
Охват и читатели455K
1 Введение


В своей прошлой заметке я постарался осветить в общих чертах стиль работы с
распределенной системой контроля версий git и указать на отличия по сравнению с
классическими централизованными СКВ. Целью было прежде всего обобщение опыта
работы с системой без упоминания тонкостей синтаксиса отдельных команд.

Данный же топик задумывался как непосредственное введение в работу с git, нечто
среднее между tutorial и обобщенной справкой, до которого все же рекомендуется
прочитать упомянутое выше введение. Сознательно избегаются технические
подробности работы git, употребляются только общие для СКВ термины и
ограничивается список упоминаемых команд.

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

Fake S3 для офлайновой разработки и экономии денег

Время на прочтение1 мин
Охват и читатели3.9K
Кёртис Спенсер (Curtis Spencer) с коллегами из компании Spool разработали легковесный сервер Fake S3, который ведёт себя как настоящий Amazon S3 и помогает тестировать проекты, не гоняя данные в облако и не тратя деньги на трафик. К тому же, для тестирования Fake S3 надёжнее, потому что работает локально. Спенсер говорит, что благодаря Fake S3 они сэкономили около $1000 за последний месяц на одной только оплате трафика.

Установка

gem install fakes3

Для запуска сервера нужно указать хост и порт

fakes3 -r /mnt/fakes3_root -p 4567

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

Nginx как Reverse Proxy для сайта, использующего SSL

Время на прочтение3 мин
Охват и читатели136K

Введение


Как настроить nginx в качестве frontend к apache и зачем это нужно — написано неоднократно, в том числе и на Хабре. Мой случай немного отличается от классического. Начиналось все как обычно, проект на apache, увеличение количества посетителей и, связанная с ним, недостаточность ресурсов сервера. Но проект использовал SSL для защиты обмена данными с клиентами. С чем я столкнулся и как решил проблемы я расскажу под катом.
Читать дальше →

Google выпустила модуль mod_spdy для Apache

Время на прочтение1 мин
Охват и читатели2K
Продвигая разрабатываемый в компании протокол SPDY, Google вчера выпустила модуль для Apache 2.2, который позволяет веб-серверу начать работу с этим протоколом и который является значительно доработанной версией ранней беты, выпущенной в декабре 2011 года.

Описывая преимущества, которые даёт новый модуль с точки зрения ускорения работы, инженеры Google утверждают, что в некоторых случаях новый протокол будет работать на 50% быстрее обычного HTTP, при этом не предъявляя никаких требований к оборудованию сервера, использованию процессора и оперативной памяти. Это происходит за счёт применения нескольких техник акселерации, таких как сжатие HTTP-заголовков, мультиплексирования запроса нескольких ресурсов за одно TCP-соединение, механизмы приоритезации данных и некоторые другие. Правда, работать SPDY будет только с браузерами, уже поддерживающими этот протокол — это, согласно отчетам некоторых аналитических агентств, второй по популярности браузер Chrome и штатный браузер Android (в Firefox 11 также ожидается внедрение SPDY). К тому же, разработчики признают, что ничего революционного не изобрели, а просто объединили уже существующие технологии в один пакет и представили его общественности.

Стоит напомнить, что Microsoft продвигает собственное подобное решение HTTP Speed+Mobility.

Под катом видео-демонстрация работы SPDY на примере некоего ресурса и ссылка на загрузки.
Посмотреть

10 лучших инструментов для разработки и администрирования MySQL

Время на прочтение6 мин
Охват и читатели779K
Многие компании создают различные многофункциональные приложения для облегчения управления, разработки и администрирования баз данных.

Большинство реляционных баз данных, за исключением MS Access, состоят из двух отдельных компонентов: «back-end», где хранятся данные и «front-end» — пользовательский интерфейс для взаимодействия с данными. Этот тип конструкции достаточно умный, так как он распараллеливает двухуровневую модель программирования, которая отделяет слой данных от пользовательского интерфейса и позволяет сконцентрировать рынок ПО непосредственно на улучшении своих продуктов. Эта модель открывает двери для третьих сторон, которые создают свои приложения для взаимодействия с различными базами данных.

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

Используем Git в качестве инструмента для деплоя веб приложения

Время на прочтение1 мин
Охват и читатели12K
Привет, Хабросообщество!

Продолжая тему использования git хуков, хочу вам рассказать о post-merge и post-checkout

Что имеем


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

Что предлагает нам Git


post-merge — Этот хук вызывается 'git-merge', после того, как мы выполнили 'git-pull' или 'git-merge' на локальном репозитории. Хук не выполнится, если у нас будут конфликты при мердже.
post-checkout — Этот хук вызывается 'git-checkout', после того, как мы выполним 'git-clone' или 'git-checkout'.
Читать дальше →

SSH и FTP через Dropbox

Время на прочтение2 мин
Охват и читатели15K
Всем доброго хабрадня!

Сегодня я расскажу вам, уважаемые хабралюди, об одной бредовой идее, пришедшей в мою голову и даже воплощённой в жизнь.

Внимание! Всё нижеописанное не является руководством к действию и воспринимать это стоит не иначе как юмор. А то больно всерьёз все восприняли… =)

Для начала немного предыстории. Недавно возникла очень острая необходимость в ssh доступе на некоторый unix-based компьютер, дабы выполнить там svn diff > mypatch.diff и перекинуть результат по ftp. Но оказалось, что целевая машина по некоторым причинам не хочет пинговаться! Причём, по словам админов, и не предвидится пинг к ней, хотя выход в интернет она имеет. И я решил, что неплохо бы пробросить ssh через что-то стороннее. В голову сразу начали лезть VPN, reverse ssh, туннели и прочее. Но для большинства решений нужна дополнительная машина и/или дополнительный софт, либо это требует перенастройки самой сети (что для меня совсем не вариант — сеть-то не моя). Я уже готов был отчаяться и гуглить упорнее, но тут в мою не совсем здоровую голову пришла мысль: а что если заюзать дропбокс?
И вот что получилось...

Введение в SELinux: модификация политики targeted для сторонних веб-приложений

Время на прочтение8 мин
Охват и читатели33K
Привет, коллеги!
Многие из нас занимаются настройкой рабочих серверов для веб-проектов. Я не буду рассказывать о том, как настроить Apache или Nginx: вы знаете об этом больше меня. Но один важный аспект создания frontend-серверов остается неосвещенным: это настройки подсистем безопасности. «Отключите SELinux», — вот стандартная рекомендация большинства любительских руководств. Мне кажется, что это поспешное решение, ибо процесс настройки подсистем безопасности в режиме «мягкой» политики чаще всего весьма тривиален.

Сегодня я расскажу вам о некоторых методах настройки подсистемы безопасности SELinux, применяемой в семействе операционных систем Red Hat (CentOS). В качестве примера мы настроим связку для веб-сервера Apache + mod_wsgi + Django + ZEO на CentOS версии 5.8.

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

Линус Торвальдс удостоен премии Millennium Technology Prize 2012

Время на прочтение1 мин
Охват и читатели1.7K
Сегодня стали известны имена лауреатов Millennium Technology Prize 2012 — крупнейшей в мире награды за достижения в технологической области, которая присуждается раз в два года.

В этом году победителей двое: доктор Шиня Яманака (Shinya Yamanaka) за новый метод получения индуцированных стволовых клеток путём эпигенетического перепрограммирования соматических клеток и Линус Торвальдс — за операционную систему Linux.
Читать дальше →

Кластер? Легко!

Время на прочтение3 мин
Охват и читатели56K
image Добрый день хабравчане, по роду своей деятельности нередко приходится работать с кластерными решения тех или иных программных продуктов. Но рассказывать о настройках какого либо программного продукта было бы не так информативно, поэтому поискав, и наткнувшись на сайт Юрия (за что ему огромное спасибо), я решил немножко развить эту тему и на конкретном примере посмотреть прирост производительности при вычислении числа Pi в кластерном исполнении.
Читать дальше →

Tsung: Нагрузочное тестирование Web-приложений

Время на прочтение3 мин
Охват и читатели44K

Tsung — это распределенная система нагрузочного тестирования, написанная на Erlang'е. Заявлена поддержка HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP and XMPP/Jabber. В этой статье я опишу как протестировать обычный web сайт на нагрузку.
Читать дальше

Динамическое (нелинейное) тестирование GUI

Время на прочтение5 мин
Охват и читатели9.8K
Что такое?

Выполнение действий над элементами графического интерфейса в случайном порядке.

Для чего нужно?

Человек, выполняющий тестирование, это Homo sapiens, т.е. он обладает неким интеллектом. Этот самый интеллект, мешает (очень редко, но мешает) ему находить «нелепости поведения» приложения связанные с непредвиденными ситуациями. Он просто не может представить себе настолько нелогичную ситуацию.
Пользователь же, намного превосходит QA в количестве и может значительно уступать ему в IQ. Отсюда, вероятность непредвиденного поведения пользователя отнюдь не крайне мала.
Итак, что нам, обладая свободными ресурсами и желанием, мешает принять меры по предотвращению подобных ситуаций? — Ничего.
Теперь сформулируем конкретные задачи, в которых «бессмысленное клацанье» по кнопкам может быть полезно:
  • Дополнить существующее тестирование стабильности приложения путем введения модели нелинейного поведения пользователя в GUI.
  • Исследовать потребление ресурсов при всех возможных вариантах работы приложения (инициированные из GUI).

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

Как делать будем?

Дальнейшее описание предназначено для тестирования приложений на платформе Windows.
Предлагаю воспользоваться связкой python + pywinauto. Хотя pywinauto и имеет некоторые ограничения в плане доступа к элементам окна, для большинства случаев этого должно быть достаточно.
Честно говоря, альтернативы я не вижу. Все знакомые мне средства автоматизации тестирования GUI не обладают динамичностью, показанной ниже – уже во время выполнения теста получать список контролов, определять их тип и выполнять допустимое действие.
Также не стоит недооценивать возможностей самого Питона и его модулей. Тут вам можно и видео снять, CPU замерить и сообщение, куда надо, в случае чего отправить…
Читать дальше →

Удаленная замена корневой ФС в GNU/linux

Время на прочтение9 мин
Охват и читатели17K
image
Иногда мне приходится сталкиваться с заменой корневой файловой системы. Имея загрузочный диск и доступ к серверу, это не сложно. Однако, я хочу поделиться опытом замены корневой ФС удаленно, через ssh, без перезагрузки.

Причины для замены коневой ФС бывают разные:
  • перевод / в LVM
  • перевод / в mdraid
  • замена типа файловой системы (ext3 => btrfs)
  • уменьшение размера ФС (resize2fs)

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

Выводим состояние серверов из Zabbix на рабочий стол

Время на прочтение9 мин
Охват и читатели39K
Система мониторинга Zabbix предоставляет замечательные возможности по мониторингу серверов под управлением ОС AIX, Linux, *BSD, Windows, Mac OS X, сетевого оборудования, Web-приложений, а также любый железяк поддерживающих SNMP или хотя бы отвечающих на пинг. Zabbix бесплатен и распространяется по лицензии GPL. Серверная часть системы устанавливается только под *nix.
Можно настроить отсылку уведомлений на email, jabber, sms при наступлении нежелательных событий, как то падение сервера, чрезмерная загрузка процессора, отсутствие места на диске и т.п. Также существует веб-интерфейс с красивыми графиками и картой сети.
Но сисадмин, как известно, существо ленивое. Поэтому чтобы не лазить постоянно в веб-интерфейс целесообразно вывести некоторые графики и карту сети прямо на его рабочий стол.

Разнорабочий стол

В данной статье мы рассматриваем Windows XP/7 в качестве клиентской машины, но путем небольшого допиливания скрипт можно использовать и в Linux.

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

Квадрокоптер за 1 день и $120

Время на прочтение8 мин
Охват и читатели351K
Создать квадрокоптер как платформу для летающего робота я планирую уже очень давно. Первые расчеты и заказ деталей я сделал год еще назад. Однако, делать «просто коптер» чтобы полетать, управляя с пультом или даже в FPV режиме конечной задачей не является. Поэтому коптер должен быть максимально гибким и как можно менее дорогим.
По отдельности все детали для коптера есть, но их сопряжение — дело простое только в теории. Нужно быть и программистом и инженером и моделистом — вертолетчиком. Поэтому процесс движется довольно небыстро. А летать хочется :) Ничто так не расхолаживает и не демотивирует как отсутствие видимых результатов, особенно когда прогресс-то вроде есть, но не наглядный. Да и экспериментировать сразу на большом квадракоптере дорого и опасно.
Поэтому я решил собрать для экспериментов миникоптер. Как всегда — задача сделать недорого, просто и гибко.
Мой результат — готовый коптер за 1 день (на сборку и запуск) и $120 (стоимость квадрокоптера включая доставку). А с аппаратурой — $145.
MiniQuadroCopter
«MiniQuadroCopter»
Под катом описание и видео.
Buddy-коды для заказа на HobbyKing
Строим недорогой квадрокоптер

MySQLi раскладываем все по полочкам

Время на прочтение11 мин
Охват и читатели217K

Для кого это статья? Первоочередной целью написания статьи было именно «разложить все по полочкам» для тех, кто уже работал с mysqli, но не вникал глубоко, а быстренько написал свои обертки и забыл про оригинальный синтаксис. Я постарался разъяснить нюансы, с которым столкнулся сам, при переносе данных из большой и очень старой БД, спроектированной человеком, не знающим про нормализации, в новую, с сильно изменившейся структурой.

Можно ли читать эту статью людям, которые все еще используют старое расширение mysql и только думающие об перехода на PDO или MySqli? Думаю даже нужно.

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

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность