Архив за 31 октября 2012 - 2

20 октября было отмечено как 8 лет с момента появления Ubuntu на GNU/Linux сцене. С октября 2004 года, каждые 6 месяцев выпускалась новая версия этого дистрибутива принимая все большую и большую популярность, но которая последнее время угасает.

Большая ошибка Марка Шаттлворта
Читать полностью »

Векторная графика на рассеянных кривых
Векторное изображение на рассеянных кривых

Долгое время возможности векторной графики были ограничены только линейными и круговыми градиентами, в результате чего можно было создавать лишь «плоские» изображения с определённым набором фигур. Настоящим прорывом стали смешанные градиенты (gradient mesh), которые впервые сделали векторную графику фотореалистичной. Группа французских исследователей под руководством Александрины Орзан (Alexandrina Orzan) из Технологического института в Гренобле в 2008 году сделала следующий шаг на пути развития векторной графики. Они разработали инструменты для генерации векторной графики на рассеянных кривых (diffusion curves), в том числе программу для автоматической конвертации растровых изображений в векторные.
Читать полностью »

Russian AI Cup 2012
Спешим поделиться с вами новостью: 29 октября 2012 мы запустили соревнование для программистов под названием Russian AI Cup 2012: CodeTanks! Нет, здесь вам не надо будет решать алгоритмические задачи на скорость — в этот раз участникам предстоит написать искусственный интеллект для танка и принять участие в сражениях.

Читать полностью »

imageЯ уже не раз писал о своем модуле modLivestreet для связки MODX Revolution + LivestreetCMS (В этом топике подробно расписана идея и реализация со схемами и т.п.).
Спустя почти две недели с начала разработки модуля, я пришел к следующему выводу: слишком все сложно получается. Идея сама по себе простая: к MODX Revolution (которому исторически не хватает модулей для построения блогов) прикрутить LivestreetCMS, дабы получить этакую социалочку с хорошим функционалом.

Первый пакет я накидал быстро, и он вполне обеспечивал перенаправление запросов на Livestreet и вывод контента в MODX. Но дальше захотелось реализовать синхронную работу с пользователями MODX- и LS-., потом еще что-то… В общем функционал рос, код тоже. Проблемы проявились в сложностях настройки данного союза. Если с MODX можно сказать вообще никаких серьезных проблем не возникло (во всяком случае не потребовалось трогать ни байта кода движка), то с Livestreet все оказалось сложнее… Так или иначе приходилось лезть в код. Я конечно понимаю, что какие-то вещи можно и перегрузкой классов в своем плагине сделать, но это только частное решение проблемы. Да и некоторые моменты не перегрузить, как к примеру обстояло дело с классом Jevix. Но это не важные детали. Главное — настройка всего этого дела требует много ручной работы. Когда я написал мануал по установке и настройке всего этого дела, я совсем озадачился… Вроде и не много, но все равно больше, чем ничего.Читать полностью »

Введение

Многие наверняка знают это чувство опасения за свою флешку, подключая ее в «чужой» компьютер. Тем более, если нельзя посмотреть что происходит в операционной системе этого компьютера из-за прав пользователя, да и сам этот компьютер «публичного доступа» ( аудитория в учебном заведении). И еще более паршивое чувство, когда опасения оправдываются: помимо записи на флешку, вирус некоторым образом модифицирует данные на ней, притом криво.
С этим столкнулся и я. А заполучив образец вируса на подставную флешку, решил разобраться, что еще он делает и в чем вообще заключается суть его работы, а главное – как изгнать эту заразу с компов и «зараженных» флешек.
Статья будет полезна тем, кому интересна область анализа ПО, независимо от квалификации и навыков (специалисты могут в комментарии написать о своем опыте).

Читать полностью »

Немецкие правообладатели обеспокоены аналоговой дырой

Недавно я рассказывал о существующем в Германии правиле 7 друзей. Многие тогда не поверили, что действительно можно совершенно легально скопировать фильмы или музыку, и раздать копии семи друзьям, а они потом могут копировать их своим друзьям.

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

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

Вслед за моноблочными компьютерами Wind Top AE2282 и AE2282G компания MSI выпустила еще две похожие модели с ОС Windows 8, но оснащенные экранами большего размера.

Моноблочные ПК MSI AE2712 оснащены 27-дюймовыми экранами

Размер экрана моделей MSI AE2712 и AE2712G равен 27 дюймам, разрешение — 1920 x 1080 пикселей. Экран — сенсорный, распознает до 10 одновременных прикосновений.

Симулятор для тестирования ПО АСУТП: ПримерЗа время, прошедшее с публикации первой статьи на хабрахабре, появилось желание поделиться с сообществом некоторыми мыслями, а так же более подробно описать процесс создания программного симулятора автоматизируемого оборудования. Желающих ознакомиться с предыдущим текстом, прошу сюда — Симулятор для тестирования ПО АСУТП.

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

Задача, которая была выбрана в качестве примера, относится скорее к обработке сигналов, чем к АСУТП, и не имеет абсолютно ни какого практического смысла. Сделано это намеренно, для того чтобы не отвлекать читателя излишними подробностями предметной области и увеличить наглядность (все любят графики).

Читать полностью »

Компания Elitegroup Computer Systems добавила в свой ассортимент системную плату H61H2-MV, построенную на чипсете Intel H61. Новинка характеризуется небольшими габаритами (она выполнена в форм-факторе Micro-ATX) и совместимостью с процессорами Intel в исполнении LGA1155, тепловой пакет которых не превышает 65 Вт.

ECS H61H2-MV

Читать полностью »

Задача: Запустить, настроить n (в примере будем запускать 3) qemu машин с ОС ubuntu-12.04.1-server-amd64-1шт. и FreeBSD-9.0-RELEASE-amd64. Версия amd64 является рекомендованной разработчиками ubuntu.

1. Инсталляция (Не забываем обновить порты товарищи BSD'дельники)


main [16:54:emulators/qemu]# cd /usr/ports/emulators/qemu                                                 
main [16:55:emulators/qemu]# make install clean


                                                                  

Итак:


main [17:25:emulators/qemu-devel]# pkg_info | grep «qemu»                                                 
kqemu-kmod-devel-1.4.0.p1_5 Kernel Accelerator for QEMU CPU Emulator (development versi
qemu-0.11.1_11 QEMU CPU Emulator                                                                                
main [17:25:emulators/qemu-devel]# 


                                                                                   
Ускоритель и процессорный эмулятор установлены.

2. Создание рабочего пространства и настройка окружения

main [17:40:/usr/QEMU]#mkdir —p /usr/QEMU/UbuEx1


Скачаем образ загрузочного диска ubuntu-12.04.1-server-amd64.iso с официального сайта. Загружаем модули ядра и добавляем их в loader.conf (создаем при необходимости)


main [17:53:/usr/QEMU]# touch /boot/loader.conf
main [17:53:/usr/QEMU]# echo 'kqemu_load=&aquo;YES»' > > /boot/loader.conf
main [17:53:/usr/QEMU]# echo 'aio_load=&aquo;YES»' > > /boot/loader.conf


kqemu.ko — Модуль акселерации.
aio.ko — Модуль асинхронного ввода-вывода.

Или можно добавить модуль aio в ядро, так же для эмуляции работы в сети нам потребуется устройство tap, а следовательно в ядро необходимо подгрузить следующие модули:


options VFS_AIO
device tap
options IPFILTER
options IPFILTER_LOG

main [17:53:/usr/QEMU]# cd /usr/src
main [17:53:/usr/QEMU]# make buildkernel KERNCONF=< kernel_name >

main [17:53:/usr/QEMU]# make installkernel KERNCONF=< kernel_name >

main [17:53:/usr/QEMU]# shutdown —r now


Если не подгрузить модуль aio.ko то QEMU упадет с криком:


Bad system call: 12 (core dumped)


В том случае если вы планируете налаживание сетевого взаимодействия между хостовой FreeBSD и гостевыми системами необходимо так же загрузить седующие модули:


main [18:14:~]# kldload if_bridge
main [18:14:~]# kldload if_tap


После перезагрузки мы увидим, наши модули как погруженные в ядро:


main [18:22:~]# kldstat
Id Refs Address Size Name
1 28 0xffffffff80200000 1203808 kernel
2 1 0xffffffff81404000 2bdd0 kqemu.ko
3 1 0xffffffff81612000 42a7 linprocfs.ko
4 1 0xffffffff81617000 1e00b linux.ko
5 1 0xffffffff81636000 1582 fdescfs.ko
6 1 0xffffffff81638000 64b00 radeon.ko
7 1 0xffffffff8169d000 13a2b drm.ko
8 1 0xffffffff816b1000 2655 if_tap.ko
9 1 0xffffffff816b4000 55fe if_bridge.ko
10 1 0xffffffff816ba000 353d bridgestp.ko


bridgestp.ko — подгрузился автоматически.

Далее убедитесь что ваша основная шина IDE-master подерживает тенологию DMA (сейчас ее поддерживает большенство архитектур)

Так как неободимые модули ядра уже загружены — продолжим подготовку хостовой ОС к предстоящей настройке сети в гостевой ОС. После загрузки модуля if_tap.ko, среди сисемных переменных появятся те, которые регулируют работу интерфесов tap*. Нас интересует две —


main [19:26:~]# sysctl -a | grep «net.link.tap»
net.link.tap.debug: 0
net.link.tap.devfs_cloning: 1
net.link.tap.up_on_open: 0
net.link.tap.user_open: 0


net.link.tap.up_on_open — переводит интерфес в положение up, когда открыт /dev/ tap. net.link.tap.user_open — позволит пользователям открывать /dev/tap. Для ограничения использования устройств /dev/tap* изменим его владельца и права доступа к нему. Это можно сделать задав правила devfs в файле /etc/devfs.rules, по умолчанию в FreeBSD 9.0 его нет, поэтому создаем.


main [20:12:~]# touch /etc/devfs.rules
main [20:18:~]# echo "[sysqemu=11]" >> /etc/devfs.rules
main [20:17:~]# echo «add path 'tap*' mode 0660 group qemu» >> /etc/devfs.rules


Теперь изменим переменные:


main [20:20:~]# sysctl net.link.tap.user_open=1
net.link.tap.user_open: 0 -> 1
main [20:21:~]# echo net.link.tap.up_on_open=1
net.link.tap.up_on_open=1


Теперь подготовим сеть. Мне необходимо, чтобы ко всем машинам можно было подключиться снаружи по IP и они имели выход в локальную сеть виртуалных машин. Итак необходимо создать bridge интерфейс объеденив в него 3 tap интерфейса.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js