Как стать автором
Обновить
0
@pwlnwread⁠-⁠only

Пользователь

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

madVR: как выжать максимум качества из видео

Время на прочтение1 мин
Количество просмотров137K
imageВ первый раз я познакомился с madVR, когда обнаружил новый чекбокс в настройках MPC Home Cinema. Как оказалось, качество видео получаемое на выходе madVR видео рендерер просто не сравнимо ни с чем, что я использовал раньше (EVR, Overlay, VMR 7, 9 и Haali). madVR создавался с целью выводить видео максимально возможного качества. В чем особенности madVR и каким образом у него получается видео такого высокого качества?
Читать дальше →

Обзор ASUS Eee Tablet

Время на прочтение4 мин
Количество просмотров56K
   На недавно прошедшей выставке Computex компания ASUS представила множество интереснейших новинок – планшеты, электронные книги, Lamborghini-ноутбуки и что-то даже еще.

C пятницей! Полцарства и коня в придачу за информацию об этой девушке )

   А вчера мне посчастливилось встретиться с тайваньским руководством компании – случайно увидев у одного из боссов свежий девайс, на корявом английском я выпросил его на пару минут для теста )
Читать дальше →

Добавление и удаление на ходу SATA/SCSI устройств

Время на прочтение2 мин
Количество просмотров68K
Современный Linux (2.6+) может обнаруживать новоподключенные устройства (на шинах, которые поддерживают hotplug). Их можно, так же отключать, предварительно отмонтировав файловые системы и сделав sync. Среди hotplug шин не только USB, но и SATA, SCSI и SAS (в теории, это же применимо и к PATA, но там много глупых контроллеров, которые не умеют адекватно реагировать на исчезновение устройства).

Отключать их лучше не дёргая на ходу физическое устройство, а сказав ядру полностью забыть про про него (гарантируя тем самым, что никаких операций ввода-вывода с устройством производиться не будет, даже если вспохватившийся кеш). Кроме того, иногда нужно выполнять эмуляцию процедуры plug-unplug без физического дёргания питания/шины данных (что не очень хорошо для железа). Самая типичная ситуация — это отладка скриптов udev.

Удаление устройства


echo 1 >/sys/block/sdX/device/delete

(x — буква устройства, sda, sdb, etc).

Эта команда удаляет указанное устройство. Заметим, это низкоуровневая команда, которая не проверяет кеш и статус примонтированности, так что лучше сначала сказать umount & sync.

К сожалению, я не знаю метода совместить выключение шпинделя диска с его удалением с точки зрения ядра. Шпиндель можно отключить командой scsi-spin, однако, при попытке удалить устройство, оно будет раскручено заново и удалено. А у удалённого устройства уже нельзя ничего останавливать (нет устройства). Так что эта часть проблемы пока не решена.

Добавление устройства


Мы не можем «добавить» устройство, мы можем отдать контроллеру команду «перечитать» список устройств, подключенных к тому или иному порту. Если там найдётся что-то интересное, ядру дадут знать.

echo "- - -" >/sys/class/scsi_host/hostX/scan

X — номер шины, совпадает с номером SATA порта на материнской плате. Если не знаете, можете смело делать для всех хостов по очереди, ничего, кроме небольшого лага в дисковых операциях, незаметного для софта и файловой системы, это не даст.

Обратите внимание, host'ы нумеруются с 0, а не с 1. (а в dmesg ata устройства нумеруются с 1).

Так же осуществляется и сканирование USB-SATA переходников (usb-боксов и внешних винчестеров — они просто фигурируют как ещё один scsi_host).

Если мы говорим про SCSI, то вместо "- — -" можно указать точный номер устройства/шины/LUN'а сканируемого устройства (например, «200 1 2»). SATA, в силу архитектурных особенностей (один target для одного initiator) принимает туда только «0 0 0».

Ещё об удалении… Если вы не знаете буквы устройства, но знаете его физическое место подключения, то удалять можно «прямым текстом», записью «1» в "/sys/bus/scsi/devices/targetX:0:0/X:0:0:0/delete".

QuickAdm — быстрые универсальные админки

Время на прочтение1 мин
Количество просмотров14K
В процессе работы, я как-то набрел на проект phpMyEdit — web-интерфейс, позволяющий относительно просто поднимать админки для табличных данных.

После доработки для себя, родилось решение, которое я назвал QuickAdm. Оно делает за очень короткие сроки админки через web-интерфейс к таблицам, имеет простейшую ACL и защиту паролем.

Таблицы называются объектами, их поля — свойствами. Имя объекта/свойства равно имени таблицы и поля в MySQL, поэтому вводить нужно латиницей.

Потестить это можно тут: http://yamozg.ru/adm (логин/пароль для чтения reader/reader, админские admin/admin — удаление таблиц там не работает, ибо запрещено на уровне БД).

Скачать вот тут: http://yamozg.ru/quickadm.tar.gz (настроить нужно config.php и выполнить quickadm.sql в нужной базе, приложение расчитано на работу в папке /adm/ относительно корня сайта).

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

Стартапы умирают из-за малого количества пользователей, ХВАТИТ думать о масштабируемости

Время на прочтение2 мин
Количество просмотров1.4K
Если вы полагаете, что масштабируемость Вашего нового, web приложения — это основное на чем Вам надо сосредоточиться,… подумайте дважды. Можно с уверенностью утверждать, что в обозримом будущем массового нашествия пользователей не ожидается. Вместо этого этого следует готовиться к медленному увеличению количества посетителей, с возможным пиком увеличения их числа (прим. переводчика: хабраэффект например). Но сосредотачиваться на архитектуре и масштабируемости Вашего приложения до миллионов пользователей — не очень хорошая идея. Миллионы это много. Скорее следует приготовиться к борьбе за первую тысячу пользователей. Возможно даже меньше, если Ваш сервис платный.
Читать дальше →

Миграция с RAID1 на RAID5 в mdadm без потери данных

Время на прочтение2 мин
Количество просмотров10K
Допустим есть у нас под Linux софтварный RAID1 собранный с помощью mdadm:
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb[1] sda[0]
      8387572 blocks super 1.2 [2/2] [UU]

И появился у нас еще один винчестер который хотелось бы воткнуть в данную машину расширив доступное дисковое пространство не потеряв при этом в отказоустойчивости т.е. перейти с RAID1 на RAID5.
Читать дальше →

Популярные продукты для электронной коммерции с открытым исходным кодом

Время на прочтение4 мин
Количество просмотров31K
imageНас часто просят порекомендовать продукты eCommerce, которые могут интегрироваться с CMS или использоваться совместно с к.л. CMS. Ниже опубликован список ПО с открытым исходным кодом, пригодного для этих целей.
Примечание: русскоязычных пользователей, прежде всего, интересует наличие локализованных версий, поддержка отечественных платёжных систем и русское сообщество. В комментариях по тексту, выделенных курсивом, по-возможности указана эта информация.
Чертова дюжина движков под катом

Правило чтения по спирали

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

Следуйте этим простым шагам:
Читать дальше →

Виртуальные путешествия по знаменитым местам мира в 3D

Время на прочтение1 мин
Количество просмотров3.4K
Совершенно случайно наткнулся на интересный и ранее не освещенный на Хабра-хабре проект — Vizerra.com. Скачав и установив небольшой клиент появляется возможность попутешествовать по 3D моделям известных мест мира.

image

Доступен режим свободного перемещения, так и режим интерактивного гида (с русской или английской озвучкой).
Еще картинки и как это работает...

Практика современного хайтек-шпионажа

Время на прочтение1 мин
Количество просмотров1.8K
Вчера Министерство юстиции США выложило в открытый доступ иски к 11 шпионам, которые собирали информацию для Российской Федерации. Документы по этому делу (PDF1, PDF2) показывают, что такое шпионаж 21 века: ребята использовали высокие технологии по полной программе.

Например, в одном из эпизодов дела информатор Анна Чапмэн (Anna Chapman) принесла ноутбук с секретной информацией в кафе на 47-улице в Манхэттене. Представители российской разведки подъехали на микроавтобусе и сняли всю необходимую информацию удалённо, даже не заходя в здание.
Читать дальше →

Oracle RAC. Общее описание / Часть 1

Время на прочтение10 мин
Количество просмотров75K
Высоконагруженные сайты, доступность «5 nines». На заднем фоне (backend) куча обрабатываемой информации в базе данных. А что, если железо забарахлит, если вылетит какая-то давно не проявлявшаяся ошибка в ОС, упадет сетевой интерфейс? Что будет с доступностью информации? Из чистого любопытства я решил рассмотреть, какие решения вышеперечисленным проблемам предлагает Oracle. Последние версии, в отличие от Oracle 9i, называются Oracle 10g (или 11g), где g – означает «grid», распределенные вычисления. В основе распределенных вычислений «как ни крути» лежат кластера, и дополнительные технологии репликации данных (DataGuard, Streams). В этой статье в общих чертах описано, как устроен кластер на базе Oracle 10g. Называется он Real Application Cluster (RAC).

Статья не претендует на полноту и всеобъемлемость, также в ней исключены настройки (дабы не увеличивать в объеме). Смысл – просто дать представление о технологии RAC.

P.S. Beware of the многабукаф
Продолжение статьи

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

Как фрилансеру распознать нежелательного заказчика?

Время на прочтение3 мин
Количество просмотров5.3K
Я более 4 лет работаю фрилансером и имею опыт общения с различными заказчиками, опыт разработки различных проектов. Свой опыт я постарался обобщить, создав небольшую памятку, а вернее «стоп-лист», которым теперь пользуюсь для раннего отсева заказчиков, работа с которыми не приносит ни радости, ни выгоды. Мне он помогает экономить время и нервы. Надеюсь, он будет полезен и вам, если вы фрилансер. Он также может быть полезен начинающим заказчикам. Публикую его здесь с небольшими комментариями к каждому пункту.

«Стоп-лист» содержит негативные признаки заказчика. Пожалуйста, обратите внимание, что совпадение 1-2 пунктов может оказаться случайностью. При совпадении 3 и более пунктов я отказываюсь работать с заказчиком.
Читать дальше →

Fake'аем Chatroulette в Linux — гибче, чем в Windows

Время на прочтение11 мин
Количество просмотров9.2K
Все вы знаете о сервисах, подобных CR, которых в интернете нынче развелось достаточно. Основное поведение пользователей этих сервисов, мягко говоря, удручает. Нет, конечно, оно очень выгодно производителям клавиатур и мышек, которые разрушаются от активного кликания/нажимания кнопочки next, но, imho, любому нормальному homo sapiens оно должно взрывать мозг и вызывать творческий зуд в нём и руках, требующий действий по разрушению тотальной симметрии и однообразия в поведении смотропоказывающихся. Кроме того, это ж целых 76800 пикселей рекламной площади. В общем, надо что-то с этим делать. И в этом тексте рассказ о том, с чего можно эти дела (дела, направленные на запуск произвольных видеопотоков в чатрулетки) в Linux начать. Кроме этого из него вы узнаете: (1) как можно использовать dd для буферизации, (2) как при помощи ffmpeg grab'ить произвольную область экрана или видео-изображения, (3) об отличиях vloopback и avld, (4) о эффекте от закрепления процессов за разными нитями на Atom, (5) о использовании Xvfb для видео-монтажа, (6) об одном социальном эксперименте, (7) ну, и ещё что-нибудь да узнаете.

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

Блочное кеширование на стороне клиента

Время на прочтение6 мин
Количество просмотров7K
В последнее время в высоконагруженных сайтах стали все чаще применять технику Partial Caching или блочного кеширования. Достигается это, как правило, за счет применения, казалось бы уже давно забытого, SSI или близких ему технологий (например, ESI). Например, в связках Nginx + Memcached + SSI или Varnish + ESI.

Недавно и на Хабре тоже появился топик в котором автор описывал данный метод кеширования.

В данном топике в 3м варианте решения автор предложил читателям топика привести свои варианты решения относительно данной задачи.

Этому, собственно, и посвящается этот топик.
Читать дальше →

Введение в шаблонизатор Blitz

Время на прочтение5 мин
Количество просмотров10K
Из документации о Blitz: Чрезвычайно быстрый и мощный шаблонизатор для очень больших интернет-проектов.

Приведу несколько фактов:
  1. Это шаблонизатор используемый Хабром;
  2. Этот шаблонизатор используется на высоко-нагруженных проектах, он написан на C, подключается как расширение PHP;
  3. Его скорость сопоставима с самим php (бенчмарк под катом);
  4. Верстальщики будт счастливы, так как в шаблонах нет логики приложения, нет циклов, ветвлений и т.д.;
  5. Один из его авторов Алексей Рыбак fisher.


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

Плагин авторизации через Вконтакте, Yandex, Google, OpenID и тп

Время на прочтение1 мин
Количество просмотров19K
В недавнем моем посте «Javascript виджет авторизации OpenID» на хабре, я описал свою разработку виджет-consumer авторизации OpenID.

Прошло время, я получил много положительных отзывов, получил замечания и пожеланию по улучшению виджета. Среди пожеланий развития была просьба создать WordPress плагин и добавить поддержку Вконтакте OpenAPI.
Читать дальше →

Обеспечение качества программного продукта

Время на прочтение4 мин
Количество просмотров11K
Дисциплина «Метрология программного обеспечения» входит в учебный план подготовки дипломированных специалистов по направлению 654600 — «Информатика и вычислительная техника» по специальности 220400 — «Программное обеспечение вычислительной техники и автоматизированных систем». Дисциплина изучает проблемы оценки метрических характеристик качества ПО на этапах от разработки спецификаций до завершения отладки и тестирования программного продукта. В курсе рассматриваются критерии, характеристики и метрики качества ПО; особый упор делается на характеристики корректности, надежности и сложности программ. Изучаются формальные модели и методы оценки как статических, так и динамических характеристик качества ПО, позволяющие на различных стадиях разработки выявлять просчеты и дефекты программного изделия. Рассматриваются инструментальные средства поддержки и автоматизации измерения характеристик ПО.
Далее по тексту будет находится краткий обзор инструментов с помощью которых можно анализировать различные характиристики в приложениях созданных на PHP. Данный материал появился на свет в результате некоторых экспериментов в области непрерывной интеграции, и должен был являться частью статьи про непрерывную интеграцию (спойлерить пока не буду, боюсь сглазить) все в том же РНР, но я решил все-таки выделить его в самостоятельный обзор, так как возможно, в последующих статьях я буду ссылаться на него, а так же надеюсь узнать об аналогичных инструментах еще не попавших мне на глаза. Некоторые инструменты уже были рассмотрены достаточно подробно, но тем не менее полного списка всех доступных еще не было.
Читать дальше →

Управление ISC DHCPd 4.x из скриптов

Время на прочтение4 мин
Количество просмотров18K
Понадобилось реализовать управление выдачей IP в сети одного провайдера, увязав его с системой учёта и прочими «фишками». В качестве DHCP сервера стоял ISC DHCP 4.x на 9-м Ubuntu Server'е.

Для DHCPd нужно было реализовать:
  1. добавление новой статичной резервации (по маку либо порту свитча — опция 82),
  2. «привязка» юзера с IP выданным динамически (то есть из пула свободных IP) в статичную резервацию
  3. удаление статичной резервации
  4. удаление динамической лизы до истечения срока резервации
  5. Различные отчёты по подсетям, мак-адресам, свободным и занятым аресам

Хочу поделиться информацией, собранной в процессе реализации, на какие подводные камни наткнулся, как обходил, что так и не обошёл. Возможно кому-то сэкономит несколько часов времени.
Подробнее...

Обзор бесплатных библиотек для Flash/Actionscript 3.0 разработчиков

Время на прочтение3 мин
Количество просмотров7.6K
Появление в 2006 году третьей версии языка ActionScript заметно повлияло на развитие рынка флэш-приложений. Смещение акцента с создания дизайнерами небольших флэш-приложений в сторону разработки более сложных программных продуктов потребовало привлечения в отрасль все большего числа профессиональных программистов. Поддержка ООП, пакетов, пространства имен и другие нововведения породили создание различных универсальных и узконаправленных библиотек, которые служат основой для многих проектов.
Данная статья представляет собой обзор наиболее популярных и полезных библиотек, которые могут стать отправной точкой для начинающих флэш-разработчиков, а также оказаться полезными для профессионалов.
Читать дальше →

PHPUnit. Часть 04 Тестовые окружения (Fixtures)

Время на прочтение9 мин
Количество просмотров26K
Предисловие переводчика
Эта статья продолжает серию переводов официальной документации по PHPUnit на русский язык.
Часть 1, Часть 2, Часть 3,


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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность