16 декабря 2011 г.

решение возможных проблем с драйверами на debian unstable 64bit

Основная сложность, по крайней мере, в некоторых дистрибутивах, является то, что директорием для 64-битных библиотек является

/usr/lib

а не /usr/lib64 . Хотя было бы логично обойти эту проблему с помощью символьной ссылки:

ln -s /usr/lib/ /usr/lib64 

или подобным образом. зависит от того, куда при установке системы кидаются библиотечные файлы. если в /usr/lib64 были установлены какие-то файлы, а основным директорием является /usr/lib , то нужно скопировать из lib64 в lib, затем удалить пустой lib64 и вместо него создать ссылку

проблемы подобного рода встречаются часто при установке видеодрайверов, или драйверов принтеров. По сути, нужно в драйвер-инталлере делать корректную проверку имени директория с 64-битными библиотеками, а не задавать имена по умолчанию.

22 ноября 2011 г.

процесс восстановления рисунка с фотографии для выпиливания

достаточно интересное задаение нашел для себя. в интернете нашёл фотографию люстры.



на странице умельца Владимира Истягина. ссылка

Спомощью программы GIMP увеличил изображения с линеарным увеличением, чтобы не было сильных искажений, которые мешают восстановлению рисунка. Для обработки рисунка боковин нужно использовать дополнительно перспективное смещение для вытягивания рисунка, т.к. сфотографировано под углом.
После распечатки двух прототипов (желательно распечатать крупно) я взял в руки обычную копирку и обвел рисунки. Т.к. они симметричны, то и восстановить достаточно только одну половинку рисунка.

Вот что получилось.

после предварительной доработки в том же GIMP




для дальнейшей доработки конструкции я использовал этот "чертёж"

взято здесь по этой ссылке можно найти выкройку для этого абажура.

используя старые контуры, путём наложения нового рисунка, получаем:



19 октября 2011 г.

Хокку от меня :)

у начальника префектуры - музыкальный инструмент с мехами и кнопками,
у специалиста по механизмам - с клавишами.
мы сильно устали и хотим всех вертеть на горе Фудзияма

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

в саду цветов ли, иль в саду вечных деревьев
все сбились с ног в поисках толстого самурая,
обнаружили только одного тощего

вышел самурай на порог своего жилища.
что-то беспокоит его пониже чёрного пояса.
сунул руку - неожиданная пропажа! потерял равновесие.

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

самурай на посту, а самурай на посту?!
совершите отдолжение мне, приличной гейше!
соедините пуговицей мой срамной орган с вашим головным убором!

из-за зарослей сакуры, из-за горы Фудзи, 
показал простолюдин орудие для рубки бамбука. 
не все догадались, к чему был привязан предмет. ​ ​

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

полюбила водителя железного коня.
посидела с ним на склоне Фудзи.
о боги! целый день мне не было покоя от зловоний!

13 октября 2011 г.

дамп процесса с помощью GDB под Linux

Старая тема с VBto на иной лад старая тема была здесь: "взлом" результатов программы VBto дампингом памяти
так вот, дамп памяти можно произвести отладчиком, без вспомогательных программ из интернета

первым делом, узнаём номер процесса, к которому нужно прицепиться gdb:

ps -ef |grep nameOfYourProcess

левая колонка с номером покажет на номер процесса. затем вызываем отладчик, если номер нужного процесса 2575

gdb -q – 2575

после этого из консоли отладчика

(gdb) generate-core-file

"открепиться" от процесса

(gdb) detach

и выйти из дебаггера


(gdb) quit

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


strings core.2575 > core.txt

успехов!

10 октября 2011 г.

нахождение потенциальных проблем "undefined symbol" в бинарниках

Ранее мной был написан скрипт для нахождения бинарников, к которым нет внешних библиотек. Но есть еще минимум одна неприятность, это устаревшие библиотеки. К примеру, бинарник компилировался с новейшей версией, а в дистрибутиве по недосмотру, или какой другой причине, была установлена старая версия. В этом случае программа может вывалиться с сообщением undefined symbol:
kdevelop: symbol lookup error: /usr/lib/kde4/kdevcmakemanager.so: undefined symbol: _ZN16CMakeParserUtils13includeScriptERK7QStringN8KDevelop22ReferencedTopDUContextEP16CMakeProjectDataS2_
На первый взгляд, не совсем понятно, что за символ такой, и к чему он принадлежит.
Но в Linux есть утилиты binutils, среди которых есть программка c++filt, которая, собственно, и может декодировать такие символьные строки.

c++filt _ZN16CMakeParserUtils13includeScriptERK7QStringN8KDevelop22ReferencedTopDUContextEP16CMakeProjectDataS2_

результат выполнения:
CMakeParserUtils::includeScript(QString const&, KDevelop::ReferencedTopDUContext, CMakeProjectData*, QString const&)

Ранее написанный скрипт здесь можно расширить для поиска таких бинарных файлов.

Применять для фильтрации "undefined symbol" можно командой

ldd -d -r nameOfBinFile

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

ссылка на документ c++filt: link

16 сентября 2011 г.

Ремонт Samsung X20

Достался мне ноут Samsung X20. Попытался его я отремонтировать. Симптомы: при подключении адаптера питания светодиод начинает мигать - признак перегрузки. Ноутбук сам дотянул до полной разрядки батареи, т.к. зарядить уже ничего не мог.

Разбираю, подключаю сетевой адаптер. Сильно греется полевик SI4435, на первой фотке отмечен стрелкой.



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

На материнке первое, что сделал - проверил сопростивление на контактах для кондюка напряжения 18V, на рисунке обозначил зелёным цветом. 0.001 ом! теперь осталось найти причину. отпаивал поочерёдно находящиеся недалече SI4435 (обозначено синим), там есть еще один SI4431 около диода Шоттки, обозначил красным. После выпаянных SI4435 картина не менялась, но после SI4431 К.З. исчезло. Рядом с ним находился диод, который я тоже на всякий случай выпаял, чтобы проверить. Диод Шоттки оказался тоже пробитым.



После замены этих двух деталей ноутбук начал снова работать от сети и заряжать батарею.

На радостях установил Debian базированную систему, только дополнительно нужно было установить пакет для WLAN, скачать можно здесь

12 сентября 2011 г.

автоматическое улучшение качества плохого скана

вот еще одна тема, с которой мен пришлось столкнуться. нашел я одну книженцию на просторах интернета. качество её меня сильно не устроило.


при ближайшем рассмотрении можно увидеть много "шумов". читать можно но...

в программе GIMP я помотрел, можно ли что-нибудь улучшить, используя изменения кривых цвета. затем на ресурсе скриптов для ImageMagick я нашел подходящий скрипт curves.

Transformation Graph (curve with points drawn)

Подбирая две точки, нашел лучше всего подходящие параметры:
./curves -s 100,100 "25,25 75,95" test.jpg test_out.jpg

результат приведён ниже:


после этого, как и ранее, я применил скрипт для циклической обработки всех изображений книги:

#!/bin/bash
# loop_for_fotos.sh
#

SAVEIFS=$IFS
IFS=$(echo -en "\n\b")

#проверяем, установлен ли convert
convert > /dev/null
if [ $? -ne 0 ] ; then
    echo "Error: convert is needed, it's a part of ImageMagick" ;
fi;
DIR=$1;
# велосипед, убирающий "/" в конце
if [ -z $1 ]; then $DIR=`pwd`;
else
    TEMP=`pwd`;
    cd $DIR; TEMP2=`pwd`;
    cd $TEMP;
    DIR=$TEMP2;
    echo $TEMP2;
fi;
#наши старые файлы копируем в DIR.orig
echo $DIR
mkdir $DIR/orig;
cp *.jpg $DIR/orig/
ERR=0;
CPUS=1;
echo "Start in " $DIR
files=$(ls $DIR/*.jpg)
list=($files)
len=${#list[@]}
echo $len
CPUS=2;
echo "Start curve transformation"
for(( i=0; i<$len ; i=i+$CPUS))
do
    for(( j=0; j<$CPUS ; j++))
    do
    if [ ${list[i+j]} ]; then
#echo ${list[i+j]}
    ./curves -s 100,100 "25,25 75,95"  ${list[i+j]} ${list[i+j]}.new.jpg &
    fi
    done;
    for job in `jobs -p`
    do
    echo $job
    wait $job || let "FAIL+=1"
    done;
    if [ $? -eq 0 ]; then
    echo "curve transformation successfully ;) next step";
    else ERR=$[$ERR+1]; #считаем ошибки
    fi;
    for(( j=0; j<$CPUS ; j++))
    do
    if [ ${list[i+j]} ]; then
    mv  ${list[i+j]}.new.jpg ${list[i+j]}
    fi
    done;
done;

if [ $ERR -eq 0 ]; then
    echo "Job done!";
else echo "Job done with some errors.";
fi;
echo "You can find your old files in $DIR.orig"

IFS=$SAVEIFS
#end


попытки обрабатывать пробелы в именах файлов при помощи
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
...
IFS=$SAVEIFS

к успеху не привели, т.к. либо в скрипте curves, либо в самой конвертирующей программе выдаёт ошибку convert: unable to open image... более подробно не выяснял.

точки кривых всегда нужно выяснять экспериментальным путём, в зависимости от качества скана.


автор публикации - Карбофос.

8 сентября 2011 г.

уменьшение времени генерации locales на debian базированном дистрибутиве

Порой пакет locales актуализируется и при этом проводится генерация локалей для системы, видим:

Generating locales (this might take a while)...
de_DE.UTF-8... done
en_GB.UTF-8... done
en_US.UTF-8... done
ru_RU.UTF-8... done

в моём случае, чтобы не ждать очень долго генерации локалей, я подредактировал файл /etc/locale.gen, оставив в нем только те, которые мне могут пригодиться. при коротком списке актуализация проходит очень быстро. если список не изменять, то можно прождать несколько минут

дистрибутив: debian базированный

2 сентября 2011 г.

новая версия X.org server 1.11 закрыла КУЧУ УТЕЧЕК памяти. прогрессивное человечество вздохнуло с облегчением ;)

В последнее время наблюдал тихий ужас на моём компе
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1982 root 20 0 685m 587m 3360 S 31 29.2 6:27.83 Xorg
В общем, наблюдалось НЕЧТО, чему я не мог найти толком объяснения. В любом случае, я думал обо всем, чем угодно, но не об ошибках ТАКОГО УРОВНЯ.

Вчера проактуализировал свою систему, и, О, ЧУДО!!! :)

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1960 root 20 0 154m 32m 7116 S 6 1.6 0:27.05 Xorg

Железо на моём компе такое:

процессор AMD Athlon(tm) Dual Core Processor 4850e
видеокарта VGA compatible controller: ATI Technologies Inc Cedar PRO [Radeon HD 5450]
плата MSI K9A2GM
система Linux 3.0-3-amd64

Вполне вероятно, что большинство ошибок утечки специфичны для 64bit систем...

Проявления: у меня на компе основная оболочка KDE 4, но запускал также и другие дистрибутивы с другими оболочками. Не было этой проблемы только на OpenSUSE 11.4, но там использовалась версия 1.9, а не 1.10.
При открытии объектов (всплывающие окна, объекты меню и пр.) было видно, что перед появлением информации в форме заготовка создавалась с содержимым-мусором, по всей видимости - содержимых других, уже занятых участков памяти. Выглядело примерно так:



30 августа 2011 г.

Взломана система защиты Xbox 360

Хакеры Gligli и Tiros нашли возможность запустить Xenon Linux Loader на Xbox 360. Для этого взломщику нужны навыки в паянии.

Ссылка на руководство. Результаты взлома можно увидеть на видео



Видео: Reset Glitch Hack
При взломе было найдено уязвимое место в аппаратуре и вынуждает систему выполнять код, которому запрещено выполняться. Программное обеспечение хорошо защищено против взлома, объясняют хакеры. Поэтому они использовали взлом на аппаратном уровне. Взлом провоцирует ошибку Glitching. Индуцированными импульсами для сигнала "сброс" на замедленном процессоре хакеры позаботились о том, чтобы код запускался.
Собственно, заргузчик должен загрузить код, как только он получает разрешение. Microsoft таким образом пытается противостоять запуску копий игр. Взлом обходит эту защиту.


Совсем непростой взлом


Только при каждой четвертой попытке взлома открывается возможность подсунуть на выполнение Xbox 360 не подписанных кодов. Процесс этот может продолжаться несколько минут. Хак могут осуществить только те, у кого есть навыки паяния SMD деталей. Аппаратура должна быть не просто разобрана, но и к ней должна быть подключена (припаяна) плата. Готовых комплектов на данный момент в продаже нет. Кроме того, взлом на консоли Slim от более старого Xbox 360 отличаются.
Согласно Logic Sunrise влом не работает на всех вариантах Xbox 360. Поддерживаются версии Zephyr, Jasper и Trinity (известный как Xbox 360 Slim). На старой консоли Xenon метод не работает.
Так как речь идет о взломе аппаратуры, невозможно разработать патч против него, сообщают хакеры.

источник: golem.de

18 августа 2011 г.

Тотальная чистка и реиндексация Sqlite

источник здесь: link

Многие программы в Ubuntu хранят данные не в текстовых файлах, а в базах данных и часто в качестве последней выступает система управления базами данных (СУБД) Sqlite. Можно провести средствами Sqlite чистку пустых записей и создание заново индексов файла базы данных. Лучшим вариантом будет создание скрипта, содержащего вызовы Sqlite, для периодического запуска его время от времени. И так:

1. Установите sqlite3 через Синаптик или в Терминале sudo aptitude install sqlite3

2. Запустим файловый менеджер Nautilus и создадим папку bin в домашней папке. Перейдем в папку bin и там в меню Наутилуса Файл — Создать документ — Пустой файл. Дайте имя файлу, например optimizer.sh Откройте этот файл в Текстовом редакторе и вставьте строки, сохраните изменения

#!/bin/bash
find ~/ -size +100k -type f -print0 | \
while read -d '' FILE; do
  abs_file_name=$(readlink -f "$FILE")
  headfile=`head -c 15 "$abs_file_name"`;
  if [ "$headfile" = "SQLite format 3" ]; then
    file_size_do=`du -b "$abs_file_name"|cut -f1`;
    sqlite3 "$abs_file_name" "VACUUM; REINDEX;" > /dev/null 2>&1
    file_size_posle=`du -b "$abs_file_name"|cut -f1`;
    echo "$abs_file_name";
    echo "Размер ДО $file_size_do";
    echo "Размер ПОСЛЕ $file_size_posle";
    echo -n "Процент "
    echo "scale=2; ($file_size_posle/$file_size_do)*100"|bc -l
  fi
done
sleep 2
exit 0


3. В Наутилусе на файле optimizer.sh щелкните правой клавишей мыши и вызовите Свойства, в закладке «Права» выставьте права Выполнения или все это можно сделать в Терминале, используя команду chmod +x ~/bin/optimizer.sh

4. Перейдите в консоль, нажав Ctrl + Alt + F1 и залогиньтесь под своей учетной записью.

5. Завершите Gnome/KDE

$ sudo /etc/init.d/gdm stop
$ sudo /etc/init.d/kdm stop


6. Запустите скрипт, который разыщет все файлы SQLite в домашней директории и оптимизирует их. Перенаправляем вывод в файл, чтобы посмотреть его позже в удобной среде Gnome.

$ ~/bin/optimizer.sh > ~/report_sqlite_shrink.txt


7. Дождитесь окончания работы скрипта и перезагрузись:

$ sudo shutdown -r +0


8. Откройте в Текстовом Редакторе файл ~/report_sqlite_shrink.txt и посмотрите какие файлы подверглись оптимизации, посмотрите в процентах на сколько лишнего баласта было до оптимизации.
От данного совета, особенно выиграют пользователи KDE и Google Chrome, им и порекомендуем данный совет.

Первый троянец, ипользующий GPU для взлома BitCoin

Троянец Badminer использует GPU инфицируемого компьютера к взлому виртуальных монет BitCoins, сообщает Symantec. Если вредоностная программа не находит работоспособные GPU, она использует основной процессор системы. При рассчитывании BitCoins компьютер должен решать криптозадачи для взлома пароля.

Вредоносная программа была обнаружена на компьютерах, в процессе взлома на которых использовался основной процессор. К примеру, шестиядерный процессор может делать до 33,3 млн попыток подбора hash, а обычные нетбуки - приблизительно 1,19 млн.


Графические карты высокопроизводительных моделей с 2 GPU могут проводить примерно 758 млн. операций Hash, что по расчетам Symantec при нынешнем обменном курсе можно подсобрать примерно 157$ ежемесячно. По сравнению с суммами от взлома банковских сервисов через Интернет, это немного, но если помножить на несколько тысяч инфицированных компьютеров, то может получиться кругленькая сумма.

оригинал статьи

17 августа 2011 г.

Кроссплатформенная компиляция на LabVIEW для AVM Fritz!Box

Оригинал статьи здесь

AVM Fritz!Box - интернет-маршрутизатор, базированый на linux. Полный набор утилит (toolchain) доступен с freetz-проектом. Таким образом можно модифицировать фирмварь железки в том числе и собраны программы для запуске на Fritz!Box.
LabVIEW включает в себя также Microprocessor SDK с возможностью написания кода на Ansi-C.

Предварительные условия

Вам понадобится Fritz!Box с ПОРТОМ USB и USB-to-serial адаптером для соединения. Я использую адаптер, базированный на МН-2303HX чипсете.
LabVIEW вместе с Microprocessor SDK должен быть установлен на машине Windows.
Freetz-toolchain должен быть собран на Linux.

Создание программы

После портирования LabVIEW-библиотек для MIPS Fritz!Box' можно брать файлы для линковки с вашей программой.
Следующее видео показывает, как создать маленькую программу с помощью LabVIEW. Исходные файлы сохранены в директории "Console_Application". Я копирую этот директорий с содержимым на Linux машину. Затем стартую скрипт build.sh, который собирает файлы и линкует их. Получившийся файл скопирован в корневой каталог apache-вебсервера. Таким образом получаем доступ к файлу Fritz!Box.



14 августа 2011 г.

В Adobe Flash 10.3.183.5 устранено 400 потенциальных уязвимостей

В очередном обновлении Adobe Flash 10.3.183.5 было официально устранено 13 уязвимостей, 12 из которых имеют характер критических проблем и позволяют организовать выполнение кода при открытии пользователем определенного Flash-контента.

По данным одного из работников Google, на самом деле в новой версии было исправлено около 400 (четырёхсот) потенциальных уязвимостей. Данные уязвимости были выявлены в процессе проведения внутреннего аудита кода, проведенного силами компании Google, поставляющей Flash-плагин в составе браузера Chrome. Так как информация о данных проблемах не вышла за стены компании, Adobe решила не пугать пользователей и умолчать о дополнительно внесенных исправлениях.

В блогах компаний Google и Adobe опубликованы подробности. Для выявления ошибок в Google было организовано грандиозное тестирование, было отобрано около 20 тысяч SWF-файлов, которые в течение нескольких недель обкатывались на Flash-плеере в кластере из 2000 CPU. Участвующие в тестировании файлы определенным образом изменялись, создавая нештатные ситуации для проявления ошибок. В итоге были выявлены сотни потенциальных уязвимостей, вызванных выходом за границы буфера, целочисленными переполнениями, использованием памяти после освобождения и т.п.

Всего было выявлено 400 уникальных сигнатур, приводящие к краху Flash-плеера. На основе изучения данных сигнатур в коде было выявлено 106 ошибок, приводящих к проблемам безопасности. Для исправления данных ошибок, с учетом дублирования проблем, в код потребовалось внести 80 изменений. Компания Adobe не стала заводить CVE-отчеты о данных ошибках, так как по её мнению CVE отражает информацию о публично известных ошибках, в то время как данные проблемы были выявлены при сугубо внутреннем тестировании (SPLC - Adobe Secure Product Lifecycle). Adobe заводит CVE в двух случаях: при поступлении информации об уязвимости извне и при исправлении zero-day уязвимостей. Для проблем, найденных в процессе разработки продукта, CVE не заводятся, иными словами уязвимости исправляются молча.

источник опеннет

какие "технологии" майкрософт мне не нравятся и почему

в самом начале, когда я ещё только начинал работать с виндами (винды 98, винды 2000), я ещё не обращал внимания на кривую технологию регистри (псевдобаза данных) ОС Windows. я задавал себе другие, более поверхностные вопросы, касающихся конкретных программ.

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

дефрагментатор
. такой тупой реализации программы для дефрагментации я ещё не видел. даже программы для бесплатного пользования далеко переплёвывали ещё тогда по функционалу это поделие.
фрагментация - разбросанность файлов по диску после многочисленных копирований, активности самой операционной системы, удалений и прочая. чем сильнее фрагментировано, тем медленнее работают операции с файлами, тем медленнее работает ОС.
что должен делать дефрагментатор? упорядочивать в блоки отдельные файлы, располагать файлы по использованию друг с другом, устанавливать системные файлы в область диска, где они считываются быстрее, дефрагментировать файл подкачки, упорядочивать область регистри, дефрагментировать служебную область файловой системы: директории и MFT. очень даже может быть, что есть ещё и куча других способов дефрагментации.

так вот, майкрософтовский дефрагментатор вин2000 и винХР занимался немножечко одним лишь пунктом: лёгонькой дефрагментацией файлов. и это из всего выше перецисленного. что это за нах? они не знают о своих технологиях, как они работают? зачем тогда ТАКОЕ вообще встраивать в систему? На форумах читал, что с дефрагментатором положение дел в 7й версии несколько улучшилось, но дополнительные опции можно вызвать только при вызове программы из power shell с дополнительными параметрами.

система восстановления.

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

простите за тавталогию.

но дело в том, что эта система востанавливает на вашей операционной системе в том числе и вирусы. это в самых лёгких случаях. в немного сложных случаях эта система восстановления операционной системы не поможет вовсе. такие пироги.

зато:
систематически засерается (пардоньте великодушно) место на вашем накопителе (винчестере) для копий системных файлов, и регистри. не больше и не меньше. гигабайты. не верите? проерьте, подивитесь.
если происходит заражение компа, а именно - системных файлов, то заражённые файлы будут бодренько записываться вашим компьютером. в случае востановления будут появляться и заражённое.

хотите облеглегчить систему? вырубите эту фичу вовсе. в серьёзных ситуациях не поможет. не верите? у вас появится возможность проверить при следующих неполадках системы.

но, если вам свё-таки балласт не нужен:

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

индексация файлов. предназначена для более быстрого поиска на компе.

вы часто ищете на компьютере, или всё же вы более-менее отдаёте себе отчёт, что и где лежит? кроме всего, эта индексация может работать постоянно, даже если ничего на винчестере не меняется особо.

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

ещё один эффект этой службы: если индексация постоянно работает, то и работа системы замедляется.

фишечки-рюшечки.

начиная с Windows XP началось в колхозе утро: новый вид стартового меню, суперэффекты, которые на слабых компах вообще ни к месту. каждый раз что-то новое.

апофеоз: Office 2007 со своим меню. даже нет возможности сделать, как было в предыдущих версиях этой программы. переход офиса на xml формат файлов, борзо спионериного из OpenOffice, частичная несовместимость со старыми форматами самих же оффисных документов от того же майкрософта превращает жизнь документообработчика в ад.

кто сильно хочет, чтобы винды выглядели необычно, есть программы:
WindowBlinds платная
WinCustomize бесплатная
VistaXP бесплатная
ну и есть много интересного для эффектов и прочих рюшек

очередная кривая программа от майкрософт - брандмауер, или фарьволл. для защиты от нападений из интернета, и для контроля программ, выходящих в сетку.

программа составлена примитивно: несколько опций, но можно руками дополнять порты и так далее, при попытке незнакомой программы выхода в интернет показывает окошко: "допускать, или нет?" всё слишком просто и вроде бы хорошо.
до того момента, когда вам нужно будет что-нибудь удалить из списка блокировки. т.к. после удаления брандмауер будет и дальше блокировать до тех пор, пока вы не перезапустите комп.
был случай, что брандмауер блокировал определенные странички наглухо, причем этих страничек я не обнаружил в настройках. помогло лишь восстановить изначальные установки и перезапустить компьютер.
уж не в курсе, решена ли эта проблема в висте и семёрке.

актуализация системы

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

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

вторая заключается в том, что временные файлы, которые создаются во время установки, после оной никуда не удаляются системой. эти никому не нужные файлы и директории находятся в каталоге system32 и носят бросающиеся в глаза названия, которые начинаются и заканчиваются символом "$" поэтому постепенно система раздувается. но не только благодаря тому, что актуализация так хреново работает.

пресловутая и навязываемая м$ технология .NET

этот монстр, если проактуализировались до версии 3.5, занимает минимум 500 мегабайт плюс всё то, что закидывается в директорий восстановления системы, плюс хлам, заваливаемый после многочисленных патчей, плюс дополнительные директории в системной папке, плюс копии для мгновенного восстановления файлов в случае неуспешного изменения этих файлов извне.

почему столько много? всё потому что этот суперметод от мелкомягких называется кумулятивной установкой оакетов. если вам нужна версия .NET 3.5, то с ней автоматом (вроде как для совместимости) установятся версии 1.0, 2.0, 3.0. а это уже не фигли-мигли, а сотни мегабайт! и это из-за того, чтобы запустить программку, весом в пару мегабайт?

примерно гигабайтик так набежит.

не пользуетесь программами, базированными на .NET? деинсталируйте эту хрень от греха подальше!

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

на самом деле является большой брешью в вашей системе, запускаемой через Internet Explorer. по грубым подсчётам, более половины дыр в этом браузере относится именно к этой компоненте. доходило даже до смешного: наскор поставленная заплатка была взломана за пару дней. и если m$ быстро реагировал, то получали вскоре новую актуализацию (заплатку на заплатку). вот такая вот супертехнология.

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

спящий режим предназначен для быстрого старта выключенного компа и восстановления состояния не только с простым стартом системы, но и восстановлления программ, которые работали до выключения компа.

всё бы хорошо, если не тупая реализация этого очередного поделия от мелко-мягких. алгоритм до такой степени туп, что ему требуется на винчестере столько же места, каким размером у вас на компе установлен RAM (память). есть 2 гига памяти, нужно для спящего режима 2 гига на винчестере. ну и так далее. то есть память просто тупо сохраняется 1:1 и всё. никакой компрессии, никакого учёта того, сколько сейчас памяти действительно используется. вот так. причём, если хотите использовать этот режим, то файл будет выделен на винчестере системой и будет существовать, пока вы не отключите эту кривую функцию.
кстати говоря, она работает некоторое время, а потом перестаёт почему-то. даже на висте. про семёрку могу сказать, что пару-тройку месяцев назад выковыривал систему из спящего режима: система после загрузки вырубала монитор.

8 июля 2011 г.

Запись дисков для xBox 360 в Linux

не моя заметка, источник

Вот только недавно задался вопросом по записи дисков на игровую консоль xBox 360 в операционной системе Debian. Перечитал множество мануалов в интернете, но некоторые из них сразу внушили сомнения…

Первые из попадавшихся заметок оказались с комментариями “Не получилось, диск не читается на xBox 360”. Я наткнулся и на такие где были успешные отзывы. Смутило то, что эти заметки отличались друг от друга полностью, а также у них отсутствовали какие-либо комментарии. Из-за этого я не стал проводить эксперименты. Больно смутило меня это всё.

Хотел сделать запись диска на xBox 360 пакетом k3b, но в настройках данного пакета не нашёл такого как было написано в заметках посещённых сайтов. И по сему пошёл, как обычно, по пути консоли. В этом пути имеются свои непонятные особенности, о которых я напишу чуть ниже. А пока расскажу как у меня получилось записать диск для консоли xBox 360.



Открываем консоль от root’a и даём команду:

growisofs -use-the-force-luke=dao -use-the-force-luke=break:1913760 -dvd-compat -speed=2 -Z /dev/sr0=/media/disk/xbox360/image.iso

где:

-use-the-force-luke=break:1913760 – указываем приводу принудительно переходить на второй слой для записи

-dvd-compat -speed=2 – скорость записи 2х

/dev/sr0=/media/disk/xbox360/image.iso – куда пишем и откуда берется образ для записи (в данном случае sr0 – это наш dvd-привод)

6 июля 2011 г.

чем лучше ядро 2.6.39?

как говориться, прогрессивное человечество облегченно вздохнуло. :) пришу несколько позже релиза. хотелось потестировать и убедиться в стабильности. в чем была заковыка со времён ядра 2.6.35?
дело в том, что обновления ядра с 2.6.35 до 2.6.38 сопровождалось сильными проблемами с usb устройствами: нестабильная работа wlan. пришлось даже написать скрипт для случая вывала беспроводной связи: каждые несколько секунд проверял ping до маршрутиризатора, в случае нулевого ответа перегружал скриптом соединение. можно сказать, жесть.
с чем это связано? многие проблемы связаны с переходом от старого алгоритма bkl, его "выколупыванием" из кода ядра. немногим более в деталях можно было бы сказать, что жесткая завязанность драйверов usb с алгоритмом блокированного ioctl, нужен был полный переход на новый ioctl без bkl (big kernel lock).
честно говоря, даже удивляет то, что непромышленные дистрибутывы не так уж и быстро перешли, или переходят на новую версию ядра.

с версиии 2.6.35 реакция была очень разная, к примеру, wlan связь вываливалась при копировании с одного usb устройства на другое; при интенсивном трафике через беспроводную связь; просто спонтанно, с симптомами, свойственными перегреву чипа.

боле подробно о bkl: ссылка

Восстановление данных на Windows, LInux, BSD, MacOS, DOS

Порой случается так, что нечаянно удалили данные, а копии не было. Очень хорошая утилита для восстановления таких файлов: TestDisk, Data Recovery
подробная информация здесь: http://www.cgsecurity.org/wiki/TestDisk

3 июля 2011 г.

Улучшаем лобзик - 2

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

ОСТЕРЕГАЙТЕСЬ ПОПАДАНИЯ СВЕТА ЛАЗЕРА В ГЛАЗА!


почти готово, осталось присоединить батарейки, отъюстировать наклон и... пилить строго вертикально.
батарейки не стал навешивать на конструкцию, из-за веса.
сам лазер думаю позже укрепить зажимом из тонкого металла

в принципе, батарею можно использовать от старого сотового телефона, либо можно изменить конструкцию ручки, встроив источник тока внутрь.

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

Автор идеи - я

24 июня 2011 г.

Улучшаем лобзик

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

Вот такой лобзик был (хорошо видно проблематичную часть :) )


вот такой примерно зажим использовал:


Результат (все картинки кликабельны):



Автор идеи - я. Если в интернете увидете какие подобные решения, то, видимо, кто-то придумал такое пораньше меня

20 июня 2011 г.

Квантовый код взломан

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

Соответственно, в некоторых случаях результаты измерения Боба будут верными, а в некоторых - нет. После того, как все измерения выполнены, Боб по открытому каналу отправляет Алисе информацию о том, как он считывал поляризацию в каждом случае, не сообщая собственно результатов измерения. Алиса тоже по открытому каналу отвечает Бобу, в каких случаях он ошибся. Отбросив результаты неправильных измерений, Боб получит данные о последовательности фотонов, закодированных Алисой - эта переданная Бобу секретная информация получила название первичный ключ.

Чтобы проверить, не был ли взломан код, Алиса и Боб по открытому каналу сравнивают значения некоторых измерений. Если Ева перехватила часть посланных Алисой, то результаты по крайней мере части этих измерений будут неверными.

Слабым местом всей системы является детектор, при помощи которого Боб считывает поляризацию фотонов. Если "ослепить" его при помощи лазера (то есть насытить фотонами до некоторого критического значения), детектор теряет способность различать отдельные кванты света и начинает работать как классический прибор. Перехватывая каждый посланный Алисой фотон, Ева измеряет его поляризацию и посылает на детектор Боба луч света, интенсивность которого превосходит пороговое значение, причем поляризация фотонов в луче совпадает с поляризацией перехваченного фотона. В итоге при сверке Алиса и Боб не находят признаков взлома.

по материалам lenta.ru

16 июня 2011 г.

Конвертируем из формата Nero в обычный ISO образ под Linux

под линуксом проще всего использовать утилиту `dd`. Разница между фоматами файлов NRG и ISO заключается в наличии 300kb шапки Nero, прикрученной к ISO файлу. Мы модем просто выкинуть эту избыточную инфомацию из ISO файла.


dd bs=1k if=cd-image.nrg of=cd-image.iso skip=300


ссылка на описание формата NRG : link

9 июня 2011 г.

Делаем выжигатель из блока питания компьютера

Задумал я смастерить выжигатель по дереву. Примерно почитал, что нужно минимальный трансформатор на 200 Ватт и желательно регулятор выходного напряжения, например, с галетником. Обратился я к одному товарищу и он подсказал мне, что не нужно искать простой трансформатор, если есть возможность использовать подручные материалы. Материалом этим является... Преобразователь напряжения для обычного компа!

Вот, найденный материал (картинки коикабельны)

Регулируемый преобразователь от 0.6 до 20 V, сила тока от 0.15 до 20 А



преобразователь от 0.6 до 30 V, сила тока от 0.1 до 12 А


ссылки: страничка автора
большой список разных ссылок

6 июня 2011 г.

Быстрая установка пакетов после переустановки системы на примере debian

Этот совет можно применить на любой дебиан-базированной системе.

Создаём список пакетов, установленных на актуальный момент (права root не обязательны)
for i in $(dpkg -l| awk '{ print $2 }'); do
echo $i; done >> my_current_deb_packages.txt


Файл my_current_deb_packages.txt лучше всего создать в директории пользователя, если он прикручивается отдельно, как партиция.

Потом, после переустановки системы, с правами доступа для установки пакетов:
for i in $(cat my_current_deb_packages.txt); do
apt-get install --yes $i; sleep 1;
done

настройка astyle

Про утилитку Artistic Style я уже вёл речь.
Чтобы настроить один стиль форматирования исходников, достаточно в домашнем директории пользователя создать файл .astylerc. К примеру, у меня хранится файл с такими установками, содержимое файла:

--mode=c
--style=k&r
--indent=spaces=4
--indent-classes
--indent-switches
--indent-preprocessor
#--brackets=attach
--convert-tabs
--lineend=linux

теперь astyle можно вызывать без дополнительных параметров, к примеру:

astyle $(find . -name "*.cpp")

3 июня 2011 г.

Код Skype взломан!

Независимый разработчик Ефим Бушманов заявил, что у него имеется исходный код популярного сервиса IP-телефонии Skype и встроенного в программу механизма шифрования данных, и выложил эти данные в интернет, сообщает РИА "Новости". Бушманов, который называет себя "исследователем-фрилансером", объясняет свой поступок желанием сделать Skype специализированным программным обеспечением с открытым исходным кодом, чтобы каждый мог программировать и настраивать клиент под свои потребительские цели и нужды

Хакер утверждает, что ему удалось получить закрытую информацию о протоколе Skype, включая информацию о применяющихся в программе механизмов шифрования, c помощью методов так называемой "обратной разработки" (reverse engineering - изучение кода программы с целью выяснить, как она работает).

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

Результаты своего исследования хакер выложил в открытый доступ на файлообменнике Depositfiles.com и на сервисе The Pirate Bay, указав ссылки на них в своем блоге. При этом разработчик уточнил, что использовал устаревшую версию протокола Skype, которая уже вышла из употребления.

В Skype говорят, что несанкционированное использование кода сервиса приравнивается к нарушению прав компании на интеллектуальную собственность. "Мы предпримем все необходимые меры, чтобы остановить эти гнусные попытки подорвать работу Skype", - заявили представители пресс-службы Skype в ответ на просьбу агентства прокомментировать заявление Бушманова.

Блог Ефима Бушманова (вполне возможно, что это псевдоним) ведется полностью на английском языке, однако эксперты полагают, что он проживает на территории РФ или является выходцем из России.

В сервисе Skype зарегистрировано более 600 миллионов пользователей. В начале мая сервис был приобретен компанией Microsoft за 8,5 миллиарда долларов. Microsoft планирует интегрировать Skype в другие свои программные продукты и сделать его прибыльным.

источник новости
блог автора взлома плюс ссылки

26 мая 2011 г.

Опции xorg.conf для закрытых драйверов fglrx (AMD/ATI)

Небольшое описание с пояснениями.

Section "dri" описание прав доступа к опциям: определенная группа пользователей, или общее описание.
# доступ к OpenGL ICD разрешен для всех:
# Mode 0666
# доступ к OpenGL ICD разрешен только для определенной группы:
# Group "users"
# Mode 0660

Section "Extensions" блок установок расширений
# Option "Composite" "Enable"

Section "Module" динамически подгружаемые модули
# Load "dbe" # расширение даойной буферизации

# модули шрифтов
# Load "type1"
# Load "freetype"

# GLX и DRI
# Load "glx" # libglx.a
# Load "dri" # libdri.a

Section "Files" дополнительные файлы: здесь могут быть расположены дополнительные шрифты для работы с ними, либо описан директорий подгружаемых модулей:
# FontPath "/usr/X11R6/lib/X11/fonts/local/"
# FontPath "/usr/X11R6/lib/X11/fonts/misc/"
# FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
# FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
# FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
# FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
# FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
# FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"

# The module search path. The default path is shown here.
# ModulePath "/usr/X11R6/lib/modules"


Section "ServerFlags" дополнительные установки сервера
# нужно для более деталированного описания пункта вывала сервера
# применять, если драйвер работает нестабильно
# Option "NoTrapSignals"

# для деактивации crtl alt bs
# Option "DontZap"

# для деактивации crtl alt KP_+ / KP_-
# Option "Dont Zoom"

# для деактивации клиента xvidtune
# Option "DisableVidModeExtension"

# для деактивации удаленного xvidtune клиента.
# Option "AllowNonLocalXvidtune"

# для деактивации динамичного изменения установок устройств ввода
# (мышь и клавиатура).
# Option "DisableModInDev"

# то же, только для не локальных
# Option "AllowNonLocalModInDev"


Section "InputDevice" в этой секции описываются устройства ввода, дополнительные установки клавиатуры, мыши или тачскрина, например для установки определенных комбинаций клавиш на уровне сервера.

пример:
# Section "InputDevice"
# Identifier "Mouse2"
# Driver "mouse"
# Option "Protocol" "MouseMan"
# Option "Device" "/dev/mouse2"
# EndSection
#
# Section "InputDevice"
# Identifier "spaceball"
# Driver "magellan"
# Option "Device" "/dev/cua0"
# EndSection
#
# Section "InputDevice"
# Identifier "spaceball2"
# Driver "spaceorb"
# Option "Device" "/dev/cua0"
# EndSection
#
# Section "InputDevice"
# Identifier "touchscreen0"
# Driver "microtouch"
# Option "Device" "/dev/ttyS0"
# Option "MinX" "1412"
# Option "MaxX" "15184"
# Option "MinY" "15372"
# Option "MaxY" "1230"
# Option "ScreenNumber" "0"
# Option "ReportingMode" "Scaled"
# Option "ButtonNumber" "1"
# Option "SendCoreEvents"
# EndSection
#
# Section "InputDevice"
# Identifier "touchscreen1"
# Driver "elo2300"
# Option "Device" "/dev/ttyS0"
# Option "MinX" "231"
# Option "MaxX" "3868"
# Option "MinY" "3858"
# Option "MaxY" "272"
# Option "ScreenNumber" "0"
# Option "ReportingMode" "Scaled"
# Option "ButtonThreshold" "17"
# Option "ButtonNumber" "1"
# Option "SendCoreEvents"
# EndSection

Section "Monitor" описатель свойств монитора: частоты, разрешение монитора и прочее.

# Identifier "Monitor1"
# NEC:
# HorizSync 60-70
# VertRefresh 55-65
# 109:
# HorizSync 30-111
# VertRefresh 50-160
# Option "DPMS"


Section "Device" описатель каждого графического девайса (графиккарты)
Section "Device"
Identifier "ATI Graphics Adapter 0"
Driver "fglrx"
BusID "PCI:1:0:0" # no device found at config time
# ChipID 0x5653
Screen 1
EndSection


Section "Screen" описнаие доступных экранов.
# Identifier "Screen0"
# Device "ATI Graphics Adapter 0"
# Monitor "Monitor0"
# DefaultDepth 24
#Option "backingstore"

# Subsection "Display"
# Depth 24
# Modes "1400x1050"
# ViewPort 0 0 # initial origin if mode is smaller than desktop
# Virtual 1280 1024


завтра я заострю внимание на описателе секции "Device"
источник: xorg_conf_fglrx_single

23 мая 2011 г.

Консоль, обработка файлов

Одно из очень удобных свойств консоли - врзможность обработки файлов кучей. Например, можно отформатировать все исходники актуального директория со всеми вложенными субдиректориями:

astyle $(find . -name "*.cpp")


astyle - программка для автоматического форматирования исходного кода. очень полезная утилита для форматирования файлов проектов, позволяющая поддерживать фоматирования кода в нужной стилистике.

Таким же образом можно подчищать директории от ненужных файлов (осторожней с командой rm !)

rm $(find . -name "*.cpp~")

21 мая 2011 г.

Работа с USB WLAN на Linux

Очень часто бывает такая ситуация: Человек настроил одну антенну, а при подключении второй ничего не работает. В чем дело? Вроде как пароль и имя WLAN соединения уже были настроены.
Дело в udev. Это демон для USB устройств, позволяющий автоматически распознавать и активировать подключенные железки. Так вот. Если WLAN не работает, следует обратить внимание на файло
/etc/udev/rules.d/70-persistent-net.rules
новые железки, если они корректно определяются сервисом udev заносятся в этот файл автоматом. Только загвоздка заключается в том, что имена WLAN устройств заносятся в порядке определения: когда-то подключили первой одну антеннку, она занеслась под названием wlan0, вторая - wlan1 и так далее. Если не используются несколько антенн одновременно, то лучше всего, по моему мнению, сделать так, чтобы они определялись под одним именем. Для этого нужно везде исправить параметр

NAME="..." на NAME="wlan0"

Вынимаем железку из разъёма, снова подключаем. Вуаля! Всё работает со старыми установками.

20 мая 2011 г.

Cmos password recovery tools 4.8


Cmos password recovery tools decrypts password stored in cmos used to access BIOS SETUP.

Works with the following BIOSes:

· ACER/IBM BIOS
· AMI BIOS
· AMI WinBIOS 2.5
· Award 4.5x/4.6x/6.0
· Compaq (1992)
· Compaq (New version)
· IBM (PS/2, Activa, Thinkpad)
· Packard Bell
· Phoenix 1.00.09.AC0 (1994), a486 1.03, 1.04, 1.10 A03, 4.05 rev 1.02.943, 4.06 rev 1.13.1107
· Phoenix 4 release 6 (User)
· Gateway Solo - Phoenix 4.0 release 6
· Toshiba
· Zenith AMI

With CmosPwd, you can also backup, restore and erase/kill cmos.
AWARD 4.50 have a backdoor, a generic password : AWARD_SW SOYO motherboard have "SY_MB" as master password for Award 4.51. CmosPwd give equivalent passwords for Award BIOS, not original one.

CmosPwd works and compiles under:

· Dos-Win9x,
· Windows NT/W2K/XP/2003,
· Linux,
· FreeBSD and NetBSD.

CmosPwd
Toshiba Linux Utilities
List of passwords

19 мая 2011 г.

Прикручиваем AMD Catalyst 11.5 (11.6) к ядру 2.6.39 (3.0.0) на Debian

Метод также испробован с версией Catalyst 11.6, в том числе с новой версией ядра Linux 3.0

Для начала должны быть установлены пакеты:

build-essential
cdbs
fakeroot
dh-make
debhelper
debconf
libstdc++6
dkms
libqtgui4
execstack
libelfg0
ia32-libs

Затем нужны драйвера Catalyst и патчи к новому ядру:

mkdir atifix
cd atifix
wget http://wwx2.ati.com/drivers/linux/ati-driver-installer-11-5-x86.x86_64.run
wget http://www.mindwerks.net/wp-content/uploads/2011/03/2.6.39_bkl.patch
wget http://www.mindwerks.net/wp-content/uploads/2011/03/no_bkl.patch
chmod +x ati-driver-installer-11-5-x86.x86_64.run
rm -rf driver
./ati-driver-installer-11-5-x86.x86_64.run --extract driver
mv *.patch ./driver/
cd ./driver/
patch -p1 -i 2.6.39_bkl.patch && patch -p1 -i no_bkl.patch



После патчей генерируем для нужного дистрибутива установочный пакет:

./ati-installer.sh 8.85 --buildpkg Debian/testing
cd ..
dpkg -i fglrx*.deb


или проще:

./ati-installer.sh 8.85 --install


Если во время установки не всплыло никаких зависимостей, то

aticonfig --initial -f


Перегружаем комп (или X Server), и проводим на всякий случай диагностику:


cat /var/log/Xorg.0.log | grep EE


После рестарта можно проверить

fglrxinfo



fgl_glxgears



Найдено на просторах интернета: ссылка

Не так страшна консоль, как её малюют

В консоли Linux есть очень много полезных вещей, облегчающих работу с ней. Не обязатально всякий раз вызывать какую-то программу с кучей параметров при тестировании, или при многократном использовании с параметрами, немного отличающимися от предыдущего запуска.

Для тестирования с различными параметрами можно написать небольшой скрипт-цикл с вызовом программы и выдачей чезультатов:

#!/bin/bash
echo "shell script for the testing of erosion/corrosion device"
device=/SPTT1
resistors=($device/Sensor/R1 $device/Sensor/R2 $device/Sensor/R3 $device/Sensor/R4 $device/Sensor/Rref)

calcEro=$device/ErosionRate/ENG
calcCorr=$device/Metalloss/ENG

values=(0.002692 0.00277 0.002751 0.00277 0.005676 0.002692 0.00277 0.002751 0.00277 0.005676 0.002692 0.00277 0.002751 0.00277 0.005676 0.002692 0.00277 0.002751 0.00277 0.005676 0.002692 0.00277 0.002751 0.00277 0.005676)

echo i will reset the userbits in resistors. please wait.
for i in $(seq 0 4)
do
   for j in $(seq 0 10)
   do
        pio setubit ${resistors[i]} $j 0
   done
done

echo

for i in $(seq 0 14)
do
  echo ${resistors[i%5]} set to ${values[$i]}
  pio set ${resistors[i%5]} ${values[$i]}
  pio get $calcEro
  pio get $calcCorr
  sleep 1
  i=`expr $i + 1`
done




Или работа с telnet с использованием определенной последовательности символов, или даже знаков

#!/bin/bash
host=127.0.0.1
port=23
arr=( "superadmin" "yourpassword" "24" "8" "poe drop poe0" "dev dial 1" "99" )

(echo open ${host} ${port}
 sleep 1
 for j in "${arr[@]}"
 do
   echo $j
   sleep 1
 done
echo exit) | telnet


При частом использовании определенной программы, можно использовать историю ввода команд. Только не всегда пользование этой историей очень удобно. Мне вполне удобно листать по хистори, используя кнопки PgUp и PgDn (листание страниц). Если при попытке использовать эти кнопки ничего не получается, то можно активировать их в файле /etc/inputrc:

# alternate mappings for "page up" and "page down" to search the history
"\e[5~": history-search-backward
"\e[6~": history-search-forward

Если же нужно активировать эту фичу только для одного пользователя, то это тоже фозможно:

cp /etc/inputrc /home/$youraccount/.inputrc

и затем настроить содержимое файла .inputrc

18 мая 2011 г.

Конвертирование имён файлов после распаковки

Собственно, речь пойдёт о том, как преодолеть трудности с кодировкой имён файлов после распаковки файлов, собранных на Windows.

Испробовать кодировку cp866 в консоли (есть еще cp1252):
ls -N | iconv -f cp866

Если получилось увидеть файлы, то можно и проконвертировать:
find . -type f -exec sh -c 'np=`echo {}|iconv -f cp866`; mv "{}" "$np"' \;

Переконвертировать имена директориев:
find . -type d -exec sh -c 'np=`echo {}|iconv -f cp866`; mv "{}" "$np"' \;


для более тяжелых случаев можно посмотреть здесь: Работа с русскими именами файлов в ZIP и UNZIP под *nix

17 мая 2011 г.

Решение проблем при запуске русифицированых программ на WINE

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


export LANG=ru_RU.utf-8
wine $binname


где $binname - имя вашего exe файла

Например, было (изображения кликабельны, при увеличении хорошо видны изменения в меню, снизу):


стало:

Hashcat: GPU базированная ломалка паролей

Весьма интересное применение GPU для перебора паролей. Позволяет многократно увеличить скорость взлома паролей при использовании различных алгоритмов шифрования: md5, md4, sha1, sha256 и некоторых других. Список можно найти здесь

В программе используется распараллелиный алгоритм перебора, базированный на технологии CUDA (NVidia) и OpenCL (AMD/ATI).

Сравнение производительности:
  • Ubuntu 10.10, 64 bit, ForceWare 270.18 (beta), 1x NVidia 8800gt, stock clock, oclHashcat+ v0.02, 64 bit
Hash Type / Rule Name no rules passwordspro.rule generated.rule perfect.rule
MD5 / NTLM 10533k c/s 218M c/s 175M c/s 302M c/s
md5crypt $1$ 187k c/s 189k c/s 192k c/s 192k c/s
phpass $P$9 135k c/s 137k c/s 137k c/s 137k c/s
  • Ubuntu 10.10, 64 bit, ForceWare 260.19.29, 2x NVidia gtx480 @1520, oclHashcat+ v0.02, 64 bit
Hash Type / Rule Name no rules passwordspro.rule generated.rule perfect.rule
MD5 / NTLM 18640k c/s 2074M c/s 2182M c/s 2718M c/s
md5crypt $1$ 1892k c/s 2096k c/s 2102k c/s 2102k c/s
phpass $P$9 1206k c/s 1282k c/s 1282k c/s 1282k c/s
  • Ubuntu 10.10, 32 bit, Catalyst 10.12, Stream SDK v2.3, 1x ATI hd5970, stock clock, oclHashcat+ v0.02, 32 bit
Hash Type / Rule Name no rules passwordspro.rule generated.rule perfect.rule
MD5 / NTLM 7213k c/s 2636M c/s 2983M c/s 4673M c/s
md5crypt $1$ 2310k c/s 3361k c/s 3354k c/s 3378k c/s
phpass $P$9 1702k c/s 2243k c/s 2243k c/s 2247k c/s

Технические данные чипов GPU

Radeon
HD 5970
Radeon
HD 5870
Radeon
HD 6870
GeForce
GTX 480
GeForce
GTX 580
Чип 2x RV870/Cypress RV870/Cypress Barts GF100 GF110
Транзисторы 2x ca. 956 Mio. ca. 2,15 Mrd. ca. 1,7 Mrd. ca. 3 Mrd. ca. 3 Mrd.
Технология 55 nm 40 nm 40 nm 40 nm 40 nm
Такт 850 MHz 750 MHz 900 MHz 700 MHz 772 MHz
Shader-частота 750 MHz 850 MHz 900 MHz 1.401 MHz 1.544 MHz
Shader-юниты
(MADD)
2x 160 (5D) 320 (5D) 224 (5D) 480 (1D) 512 (1D)
FLOPs (MADD/ADD) 2x 1.200 GFLOP/s 2.720 GFLOPs 2.016 GFLOPs 1.345 GFLOPs 1.581 GFLOPs
ROPs 32 2x 16 32 48 48
Заполнение пикселов 2x 12.000 MPix/s 27.200 MPix/s 28.800 MPix/s 21.000 MPix/s 24.704 MPix/s
TMUs 2x 40 80 56 60 64
TAUs 2x 40 80 56 60 64
Заполнение текселов 2x 30.000 MTex/s 68.000 MTex/s 50.400 MTex/s 42.000 MTex/s 49.408 MTex/s
Shader-модель SM 4.1 SM 5 SM 5 SM 5 SM 5
Hybrid-CF/-SLI X X X X X
Режим сбережения энергии
Объём памяти 2x 1.024 MB GDDR5 1.024 MB GDDR5 1.024 MB GDDR5 1.536 MB GDDR5 1.536 MB GDDR5
Такт памяти 1.800 MHz 2.400 MHz 2.100 MHz 1.848 MHz 2.004 MHz
Интерфейс памяти 2x 256 Bit 256 Bit 256 Bit 384 Bit 384 Bit
Пропускная способность RAM 2x 115.200 MB/s 153.600 MB/s 134.400 MB/s 177.408 MB/s 192.384 MB/s

Источник сравнительных таблиц
www.computerbase.de, GTX 480
www.computerbase.de, HD 5970

Способы атаки: Straight, Combination, Toggle-Case, Brute-Force, Permutation, Table-Lookup.

Программа, к сожалению, закрытая, но есть бесплатные вариации.

Ссылка на страничку производителя: http://hashcat.net

16 мая 2011 г.

скрипт для восстановления соединения при нестабильной связи с модемом (роутером)

Причин нестабильной связи может быть несколько: от настроек самого модема, до проблем с железом. На моей практике была одна WLAN антенна с перегревающимся чипом. При нестабильном соединении система порой может считать, что соединение в порядке, но при попытке пинговки получаем timeout.
Что весьма мешает, когда пользователь скачивает что-то.

Этот скрипт может решить временно проблему, до устранения ее причин :)

скрипт wlanseeker.sh

  #!/bin/sh
  # by Karbofos
  echo "wlan seeker"

  while true;
  do
  # пингуем модем
    ping -c1 192.168.1.1 1> /dev/null ;
    if [ $? != 0 ];
    then
    # если у вас проблематичный wlan0...
      ifdown wlan0; ifup wlan0 ;
    fi
  # повторяем проверку каждые 5 секунд
  sleep 5;
  done


скрипт нужно запустить с правами доступа для перезагрузки wlan0

11 мая 2011 г.

Распиновка контаков разных моделей сотовых

Состояние 2003 года, вкратце, но обзорно. Изображение кликабельно.




более подробнее и актуальнее:
http://pinouts.ru/
http://nokiaport.de/

9 мая 2011 г.

установка линукс на старом железе на примере ноутбука Thinkpad R30

в первую очередь хочется сказать о конфигурации: Celeron 500 Mhz, RAM 128 MB, Video Trident CyberBlade i1 AGP 2x do 8MB видеопамяти. пока не стал устанавливать больше памяти, было интересно, как будет работать.

1. какую оболочку?
из оконных менеджеров лучше не использовать при таком объёме памяти что-то вроде KDE3, KDE4 или Gnome. Лучше использовать что-то попроще, вроде XFCE, Fluxbox, Windowmaker, IceWM или других. перечисленные мной - одни из самых распространённых. Эти оболочки потребляют гораздо меньше памяти, чем кеды, ил гном.

2. какой дистрибутив?
я протестировал две системы с лёгкими оболочками: Xubuntu и Sidux XFCE. из того, что можно было скачать с серверов. "новизна" дистрибутива особой роли не играет, т.к. железка не новая, а это значит, что всё (или почти всё) из железа определится и установится.

3. сравнение установки и работы:
Особенности установки. Xubuntu позволил прикрутить /home партицию с установками юзера, Sidux не может этого делать. на Sidux приходится после установки системы устанавливать ручкам, что и где прикручивать. в Xubuntu можно это сделать в процессе установки системы. зачем нужна /home на отдельном разделе диска? так сохраняются все установки юзера, для всего софта. Если человек переустанавливает систему полностью, или устанавливает другой линукс дистрибутив, то все настройки, начиная от оконного менеджера, заканчивая любой использованной вами программой, сохранятся. Это может быть внешний вид программы т.д. Очень удобно.
Время установки Xubuntu было около часа. уж не знаю, что он там надрывался... Sidux справился буквально за 15 минут. это, конечно же, не только установка системы, но и установка стандартного софта. плюс 5 минут морока с партициями при навыках работы. если нужно - могу описать гораздо подробнее.
Загрузка системы. при стандартном списке загружаемых модулей и сервисов: Xubuntu загружается около 3 минут, что меня разочаровало. ну и время реакции на клики несколько выше, чем на Sidux. последний загружается секунд за 30-40. повторюсь: это настройки по умолчанию. то есть любой дистрибутив можно "заточить" под свои нужнды, отключив сервисы и проведя прочие "водные процедуры"

4. Проблемы.
оба дистрибутива работали с экраном только в разрешении 800х600. после некоторых поисков в интернете я обнаружил, что эта проблема работы с достаточно редким видеоадаптером. решается установкой файла xorg.conf , взятого отсюда http://launchpadlibrarian.net/20066022/xorg.conf обсуждение темы здесь: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-trident/+bug/209018 Файл нужно установить в директории /etc/X11/ и перезапустить комп.
остальные трудности возникают из-за малого объёма памяти и процессора с небольшим объёмом кэш.

5.процесс работы.
для воспроизведения видео маловато, хотя может частично решится путём увеличения памяти до (хотя бы) 256 Мегабайт, вебрадио и музыка идут без проблем. программировать на компе тоже можно. флэшигрульки - с трудом, далеко не все. при запуске системы с графическим интерфейсом XFCE занимается примерно половина памяти компа, примерно 40-60MB. ну и дальнейшее включение программ сппутствуется уменьшением количества свободного объёма памяти.

данные ноута: TR03BGE / ThinkPad R30 2656 - Celeron 500 MHz - RAM : 128 MB - HD : 15 GB - CD - WLAN : 802.11b - Win98 SE - 13.3" TFT 1024 x 768

дистрибутивы для скачивания:
http://aptosid.com/
http://www.xubuntu.org/get

CAD (САПР) для Linux

Обзор CAD (САПР) для Linux предназначенных для создания чертежей, конструкторских и технологических документаций.

Начнём:
QCad



Лицензия GNU GPL
Распространение Свободное
Платформа GNU/Linux,Windows,Mac OS
Сайт www.ribbonsoft.com


QCad Community Edition — 2D САПР предназначенная для создания чертежей и архитектурных планов.
Community Edition распространяется с открытым исходным кодом под лицензией GNU.
QCad имеет платную профессиональную версию, пользовательская лицензия на профессиональную версию стоит $33.
QCad существуют инструменты для черчения точек, прямых, дуг, окружностей, эллипсов, размеров, штриховки и сплошной заливки. Может работать с растровыми изображениями и имеет множество других инструментов. Можно воспользоваться командной строкой для управлением черчения. Интересный факт, что некоторые тайваньские компании приняли ее в качестве стандартного решения. QCad не поддерживает DWG-файлы, которые используются в AutoCAD но Qcad работает с dxf-файлами, которые можно открыть в AutoCAD
Пользователь после AutoCAD не будет восторге от Qcad, нет там некоторых возможностей, библиотек и прочих радостей жизни. Но не каждый может позволить себе дорогую лицензию AutoCAD, да и возможности Qcad вполне приемлемые.
Доступны (бинарные пакеты) для дистрибутивов GNU/ Linux : Debian, Fedora, RHEL, SUSE, Mandriva Linux, Ubuntu и некоторых других.


Open CASCADE




Лицензия GNU GPL
Распространение Свободное
Платформа Java
Сайт www.opencascade.org

Open CASCADE Technology может применяться в моделировании CAD/CAM/CAE, AEC, а также PDM приложений. Open CASCADE включает в себя компоненты для 3D моделирования, визуализации, обмена данными и быстрой разработке.
Технология существует с середины 1990-их и уже используется многими коммерческими клиентами, принадлежащих разным компаниям, включая создания программного обеспечения для тяжёлой промышленности.
Разработки Open CASCADE Technolog - программное обеспечение, доступное в открытом коде.
Для своих клиентов компания Open CASCADE SA предлагает техническою поддержку.
Open CASCADE Technolog использует лицензию LGPL, но с некоторыми различиями. Вам разрешается использовать продукты Open CASCADE Technolog в коммерческих условиях, но вы вынуждены признать факт его использования. Вы так же обязаны направить изменения открытого кода разработчикам, если вы из произвели, на Open CASCADE SAS.


VariCAD




Лицензия Проприетарная
Распространение Платная
Платформа GNU/Linux,Windows
Сайт www.varicad.com


VariCAD является 3D/2D CAD системой для машиностроения. Помимо стандартных инструментов для 3D моделирования и разработки 2D, CAD система предоставляе:

* Инструменты для проектирования резервуаров, трубопроводов, листового металла,
* Библиотеки стандартных механических частей (ANSI,DIN)
* Возможность инженерных расчётов.
* Инструменты для работы с материалами (BOM) и название блоков.

VariCAD поддерживает форматы файлов STEP, STL, IGES, DWG и DXF файлов форматов.
VariCAD позволяет быстро создавать, оценивать и изменять свои модели. Компактный, быстрый, лёгкий в использовании, VariCAD предоставляет все нужные средства для моделирования механических конструкции. Поддерживает стандарт (ISO 10303) для обмена, который описывает, каким образом представлять и обмениваться цифровой информацией для документов.
Стоимость лицензии 620$, лицензия позволяет использовать VariCAD столько, сколько хотите. Так же есть лицензия с технической поддержкой на один год (обновления включены)750$.
Есть возможность загрузки 30 дневной пробной версии VariCAD и возможность оценить все ее мощные возможности. Пробная версия полностью функциональна в течение ограниченного периода времени.
Доступны (бинарные пакеты) для дистрибутивов GNU/ Linux : Debian, Fedora, RHEL, SUSE, Mandriva Linux, Ubuntu и других дистрибутивов.


MEDUSA4




- компания производитель "CAD Schroer"

Лицензия Проприетарная
Распространение Платная (Возможно загрузки MEDUSA4 Personal бесплатно)
Платформа GNU/Linux,Windows
Сайт www.cad-schroer.com

MEDUSA4 - служит для комплексной автоматизации проектирования механики, оборудования, строительства и автомобильной техники.
MEDUSA является мощным средством для работы инженеров, может помочь Вам получить продукт быстрее и эффективнее.
Её модули включают:

* Мощные средства 2D/3D проектирования системы MPDS.
* Революционные возможности расположения объектов.
* Решениям по документу и управления данными.
* Проектирование электросетей.
* Включения унаследованных данных путём применения растровых технологий.
* Программирование интерфейсов.

Он полностью совместим со сторонними системами. MEDUSA - поддерживает форматы файлов SHE, TSH, DWG и DXF.
"CAD Schroer" - представляет, кроме MEDUSA4, ряд продуктов, для профессиональной инженерной работы на платформе Linux.

Возможно зарегистрироваться и получить лицензию бесплатно для личного пользования, а также скачать MEDUSA4 Personal. Это в полной мере функциональная версия включает в себя многие из возможностей, имеющихся в ADVANCED варианте, такие как SMART изменения и основные 3D функции, а также некоторые из дополнительных модулей, в том числе Sheet Metal Design (сведения о металлических конструкций).
Жаль что закрыта но хорошо что можно пользоваться MEDUSA4 Personal.


ARCAD




Лицензия Проприетарная
Распространение Платная
Платформа GNU/Linux,MAC OS
Сайт www.arcad.de


Система ARCAD предлагает решение CAD и AVA систем для профессионального сектора в операционной системе Linux.
ARCAD представляет возможность быстрого расчёта массы и объёмов, автоматической генерации, комплексной визуализации. Все данные необходимые в планировщику могут быть получены из 3D-модели.
Интуитивно понятный пользовательский интерфейс понравится как и опытным пользователям CAD, так и новичкам.
Интеграция AVA и визуализации (Quickshader, Raytracing и Radiosity) позволяют в целом одновременно работать без временных затрат. Создания 3D моделей для применения в строительстве создаются просто и быстро, из строительных чертежей 2D.
ARCAD - имеет список многофункциональных продуктов (для GNU/Linux) как и для частного использования так и для малых и крупных предприятий, для архитекторов и инженеров (и не только) так же предлагает вполне приемлемою, гибкую ценовою линейку.

В заключения хочу добавить что это далеко не все CAD (САПР) для Linux, я выбрал лишь наиболее интересные для меня.

_____________________________________

Копирование материала разрешено только при наличии ссылки на источник:
неофициальный проект GNU/Linux ХМАО-Югра www.oslinux.ru


существуют также другие системы проектирования, как FreeCAD, BRL-CAD, SALOME

более подробно можно почитать о них и многих других программных продуктах:
http://ru.wikipedia.org/wiki/%D0%A1%D0%90%D0%9F%D0%A0

AVR Studio 5. Программа для программирования чипов Atmel

Программка бесплатна, для программирования 8- и 32-битовых чипов от Atmel.

Работает ли под ОС Linux, мне пока неизвестно, нужно будет попробовать запустить через WINE

Интегрирован C компилятор


Новый проектный визард


Продвинутый редактор


Подробнее здесь

Скачать можно здесь:
AVR Studio

Atmel AVR Software Framework

7 мая 2011 г.

3D разработка плат. Бесплатная программка

Software Designspark PCB - бесплатная утилита для разработки схем и печатных плат. Можно визуализировать результаты в двух- и трёхмерном представлении.

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

Программу можно также запускать и в Linux, с помощью WINE



Скачать
источник: http://elektorembedded.blogspot.com/2011/01/test-driving-designspark-pcb.html

6 мая 2011 г.

Страшилки, мой вклад :)

Эти страшилки были сочинены мной и никем другим, в своё время я запостил их на башорге, но некоторые не прошли голосование

Маленький мальчик с детства флудил,
троллил на форумах, людям хамил.
череп проломлен, сломаны пальцы.
в долгу не остались сети постояльцы

маленький ламер, он хакером звался,
лазил в сети: кейген отыскался!
вирус в системе, куча троянов:
нет, не заметит он этих изъянов!

маленький мальчик твикер скачал,
с видом умнейшим настройки менял.
нет интернета, ПО удалил...
В общем - систему он шустро убил.

Маленький мальчик по парку ходил,
Маленький мальчик пернатых кормил...
Не ожидал он от птичек коварства:
Нету от птичьего гриппа лекарства!

Мальчику мозг на череп давил:
Всем он советовал, чему-то учил...
Добренький мальчик с битой большой
Его отучил от привычки дурной!

Мальчик 'звёздные войны' любил.
Лазерный меч себе смастерил.
Клонов война - не игра в мушкетёров!..
Разрезан на части завхоз Помидодов.

Мальчик в кино 'Аватар' посмотрел,
Тушью обмазался, хвост привертел.
В потьмах его шутку не оценили:
'Джейка' кувалдой в подъезде прибили.

Маленький мальчик программу писал,
Циклы, костанты в программе менял...
Запуск ракеты... Спутник ГЛОНАСС
Весело брякнулся с неба на нас!

маленький мальчик на бирже играл:
всё продавал он, всё покупал.
быстро в стране кризис настал...
мальчик за долг душу продал.

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

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

4 мая 2011 г.

Манипулирование изображениями из командной строки

Масштабирование:

convert -resize 320x200 in.jpg out.jpg


Вырезание блока:

convert -crop 660x528+320+200 in.jpg out.jpg

Вращение на 90 градусов:

convert -rotate 90 image_0001.tiff output.tiff

Переворот верх-низ:


convert -flip me.jpg me_flipped.jpg
convert -flop me.jpg me_flopped.jpg


Создание уменьшенного варианта:


mogrify -sample 80x60 *.jpg
mogrify -format png -sample 15%x15% *.jpg


Создание одного PDF из группы картинок и наоборот:


convert *jpg allinone.pdf
convert allinone.pdf img.png


Добавление текста:


convert -font helvetica -fill yellow -pointsize 25 \
-draw 'text 100,250 "Nandi Hills, Bangalore"' \
image.png text.png

convert -font helvetica -fill yellow -pointsize 36 \
-draw 'text 100,250 "Nandi Hills, Bangalore"' \
-fill green -draw 'text 150,300 Beautiful' \
image.png text.png


Обрамление рамкой:

convert -bordercolor blue -border 5x5 pic001.png border001.png


Мозаика:


convert -page +15+30 1.png -page +49+60 2.png \
-page +52+58 3.png \
-background wheat -mosaic mosaic.png


2D Logo:


convert basic.png -fill blue -draw 'color 0,0 reset' \
basic.png +matte -compose CopyOpacity -composite \
-font Helvetica -pointsize 20 -fill white \
-gravity center -annotate 0x0 "Blue Pill" 2D.png


3D эффекты:
Расплывание:

convert basic.png -blur 0x4 -blur 0x4 -blur 0x4 -blur 0x4 \
+matte blurred.png


Тень:


convert blurred.png -shade 90x0 -normalize light.png
convert blurred.png -shade 90x180 -normalize dark.png


3D Logo:


convert \( light.png \( +clone -fx 'rand()' -threshold -1 \) \
+swap +matte -compose CopyOpacity -composite \) \
\( dark.png \( +clone -threshold 100% \) \
+swap +matte -compose CopyOpacity -composite \) \
-compose Over -composite high_lighting.png

convert 2D.png high_lighting.png -compose ATop -composite 3D.png

convert 3D.png \( +clone -fx 'rand()' +matte -shade 120x45 \
-fill gray -fill beige -tint 120 \) \
-insert 0 -flatten bg_3D.png


Источник: http://www.opennet.ru/tips/info/853.shtml