четверг, 30 декабря 2010 г.

Музыка, фрукты

Еще одно диджейское творение :) Строго не судите, отчетливо понимаю, что темы нет, аккордов нет... Но таки есть гитара, басы, электроника. И самостоятельно )
Берется эта штука тута: прямая ссылка на 2 метра байтов
Формат, естессно, мп3.
На данный момент в перерывах ваяется еще что-то, ну никак не подойдет до кондиции. Взял четыре блатных аккорда - Am, C, Dm, Em, из пятизвучий выбрал нижние, верхние и доминанту - попробовал во фруктах разными инструментами - здорово!! Да... Аккорды, гармония, сечения, 1.618... ;) Хожу вокруг да около, ибо не музыкант, но ушки тянутся к красивому :)
И вообще - фрукты - это вкусно! тем более, восьмерка :) Был бы рад найти единомышленников - но так в жизни не бывает, никто не придет и не подскажет, увы.

А что мне нравится, айтишнегу в музыке? Вот вы не поверите - эта самая утонченая грань между математикой, описывающей всевозможные комбинации нот, аккордов, созвучий, и музыкальными темами, тональностями, тем, что вызывает то или иное настроение у человека - вот эта тонкая, эфемерная, но такая четкая и почти осязаемая инструментом и слухом граница - это и есть притягательное в музыке. Никакой другой вид исскуства никогда не сравнится с музыкой в мере приближения к гармонии - только музыке подвластен иной мир, иногда странный, чаще зовущий, печальный, веселый, да и просто разнообразный. Человеческие слова - "печальный", "веселый" тускнеют рядом с чувствами, которые способна вызвать мелодия, мы очень грубо выражаемся словесно, и только музыке подвластно...
Ни живопись, ни скульптура, ни архитектура с их зримыми, настоятельно вторгающимися образами - не могут вызвать в человеке столь тонкие чувства и ощущения, как музыка.
 И только музыке подвластно, да.
Да простят мне художники и архитекторы. :)
Я песню спел для песни! С тем и закончим на сегодня.
 А над файлом продолжу работу. Взрослая жизнь, иногда не хватает времени, иногда нет настроения, но пусть выльется хоть в попсовую танцевалку - и то дело :)

JKDefrag (утилитки, примочки)

Неплохая и полезная утилитка, которой периодически пользуюсь (-вался) на разных компьютерах и в разных местах :) Называется JKDefrag. Странно, но задача программы совпадает с ее названием (ведь подобное нечасто бывает? :)), это обычный дефраг. В поставку входит хороший набор - экзешник для GUI, еще один консольный, ну и третий модуль выполнен файлом с расширением scr и запускается как обычный скринсейвер, что тоже не может не радовать админов. Программа внешне минималистична, рюшки и оборочки отсутствуют как класс, но свои функции выполняет. Ведет подробный лог. Вот консольные ключи:

JkDefragCmd.exe [-a N] [-e "mask"] [-s N] [-f N] [-d N] [-l "filename"] [items]

-a N Select an action to perform. The number N is a value from 1 to 6,
  default is 3:
  1 = Analyze only, do not defragment and do not optimize.
  2 = Analyze and defragment, do not optimize.
  3 = Analyze, defragment, and fast optimization (default).
  4 = Analyze, defragment, and full optimization.
  5 = Analyze and force together, do not defragment.
  6 = Analyze, defragment, and move to end of disk.
-e "mask"
  Exclude files or directories that match the mask. The files will not
  be defragged and will not be moved. Use wildcards '*' and '?' in the
  mask to match a set of files or directories. If the mask contains a
  space then it must be enclosed in double-quotes. Some examples:
  "*.avi", "*\w3svc*\*.log", "D:\MySQL\Data".
-s N Slow down to N percent (1...100) of normal speed. Default is 100.
-f N Set the size of the free space to N percent (0...100) of the size of
  the disk. The free space is an empty area at the beginning of the
  volume for temporary files. Default is 1.
-d N Select a debug level, controlling the messages that will be written
  to the logfile. The number N is a value from 0 to 5, default is 1:
  0 = Fatal errors.
  1 = Warning messages [default].
  2 = General progress messages.
  3 = Detailed progress messages.
  4 = Detailed file information.
  5 = Detailed gap-filling messages.
  6 = Detailed gap-finding messages.
-l "filename"
  Specify a filename for the logfile. Default is "defrag.log" and
  "windefrag.log". Specify empty string "" (two double-quotes) to
  disable the logfile.
-h Show this help message.
-help Show this help message.
--help Show this help message.
/? Show this help message.
items The items to be defragmented, the path to a file, directory, disk,
  mountpoint, or volume, including removable media such as floppies,
  USB disks, memory sticks, and other volumes that behave like a
  harddisk. Wildcards '*' and '?' are allowed to select a set of files.
  If the item contains a space then it must be enclosed in double-
  quotes. Some examples: "C:", "D:\MySQL\Data", "F:\*.log"

Здесь все понятно, не правда ли? Набор хороший, опции на уровне.

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

Остается добавить, что данный софт бесплатен (Free GNU software), что тем более радует.
Где скачал на этот раз, не помню, но в инете ссылок полно.

среда, 29 декабря 2010 г.

Еще скрипт, снова 3ДМакс

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

Тут, думаю, все понятно и так:

в первой секции параметры стены, во второй - окна, в третьей расстояние до проема от пола и от угла стены. Стенка появляется в Left вьюпорте, торцом прижата к началу координат.
Как бы это и не особо нужно, но ведь надо какие-то задачи ставить для скриптов. Да и, честно говоря, приходилось еще до арчика лепить подобное булином. Муть. Хотя все знают, что буль в моделях - моветон. В общем, арчик спас ситуацию =)

Настройки, приведенные внизу - дело личное. Так, для справки.

Вот до этого места дописал и чуть спать не лег. Собственно, а где тогда скрипт был бы?  Но я одумался:

rollout unnamedRollout "Untitled" width:212 height:527
(
 GroupBox grp1 "Wall" pos:[15,20] width:180 height:100
 button btn1 "Make it" pos:[86,357] width:108 height:23
 label lbl4 "cm" pos:[170,50] width:20 height:16
 spinner spn1 "" pos:[100,50] width:60 height:16 range:[1,1000,500]
 label lbl1 "wall length" pos:[30,50] width:60 height:16
 label lbl5 "wall width" pos:[30,70] width:60 height:16
 spinner spn4 "" pos:[100,70] width:60 height:16 range:[1,1000,40]
 label lbl9 "wall height" pos:[30,90] width:60 height:16
 spinner spn7 "" pos:[100,90] width:60 height:16 enabled:true range:[1,1000,280]

 GroupBox grp15 "Window" pos:[15,150] width:180 height:80
 label lbl18 "wind length" pos:[30,180] width:60 height:16
 label lbl19 "wind width" pos:[30,200] width:60 height:16
 spinner spn14 "" pos:[100,180] width:60 height:16 range:[1,1000,100]
 spinner spn15 "" pos:[100,200] width:60 height:16 range:[1,1000,150]
 label lbl21 "cm" pos:[170,180] width:20 height:16
 
 GroupBox grp18 "Window distanse" pos:[15,260] width:180 height:80
 label lbl29 "from flap" pos:[30,290] width:60 height:16
 label lbl30 "from corner" pos:[30,310] width:60 height:16
 spinner spn21 "" pos:[100,290] width:60 height:16 range:[1,1000,90]
 spinner spn22 "" pos:[100,310] width:60 height:16 range:[1,1000,100]
 label lbl40 "MY USUAL UNITS SETTINGS:" pos:[15,397] width:181 height:17
 label lbl41 "Customize - GridAndSnapSettings: Grid Spacing: 0,002m" pos:[15,419] width:180 height:31
 label lbl42 "Customize - UnitsSetup: metric" pos:[15,454] width:180 height:19
 label lbl43 "Customize - System Unit Setup: 1,0 unit = centimeters" pos:[15,477] width:180 height:31
 on btn1 pressed do
 (
  walllen = spn1.value
  wallwid = spn4.value
  wallhei = spn7.value
  windlen = spn14.value
  windwid = wallwid * 2
  windhei = spn15.value
  wind_dz = spn21.value
  wind_dy = spn22.value
  wall = Box lengthsegs:1 widthsegs:1 heightsegs:1 length:walllen width:wallwid height:wallhei mapcoords:on
  wind = Box lengthsegs:1 widthsegs:1 heightsegs:1 length:windlen width:windwid height:windhei mapcoords:on
  wall.pos.y = walllen/2
  wind.pos.y = windlen/2+wind_dy
  wind.pos.z = wind_dz
  select wall
  boolObj.createBooleanObject $
  boolObj.SetOperandB $ wind 4 2
 )
)
createDialog unnamedRollout width:212 height:527

notes.txt о блендере

Конечно же о Blender3D, других даже не видел )
Я поразился этому пакету, первый раз запустив его совсем недавно. Да, конечно, в чем-то он упускает Максу, в чем-то дополняет, но размер! Архив - 10 метров! Я скачал его телефоном и стал разбираться в полноценной 3Д-среде!
Что не понравилось - не виндовые сочетания клавиш. Меню непривычное, но со временем становится родным. Что понравилось - конечно же его физика. ИМХО - намного проще подключается, буквально двумя кликами на любой объект - имитацию твердых тел, жидкость непередаваема ну и с тканями работать можно. И причем все работает быстро, а твердые тела, их коллизии, гравитация и трение - вообще плевое дело. И это на машине с полгигом памяти.
Маты хорошие, в стандартном рендере на любом материале - преломление, искажение, текстуры. Мне понравилось. Время рендера аналогично максу, чего уж - оптика.





Желательно пинать не сильно, это всего-навсего второй рендер в блендере за всю жизнь :)







Сильно зажал картинку, конечно, жалею модемы :)

VMWare

Странно... столкнулся на равном месте с проблемой, где не ожидал. Делаю в сабже диск на гиг размером с img образа на флопике гружу дос, разбиваю партиции на "винте", форматирую, переношу систему sys a: c: - и ничего! Operating system not found.
Печально, не пойму, куда думать...

А это мой сын.

Вроде похож... Правда, не знаю, где он крылья раздобыл.

notes.txt

Это такой файлик у меня живет на десктопе. Оттуда:

Для чего нужна папка Prefetch и Temp в Windows XP? Можно ли удалить из них зараженные вирусами файлы?
По поводу Prefetch вот, что нашел. В папке prefetch ( .pf расширение) содержится инф. о часто открываемых прог. и сервисов, для более быстрой их последующей загрузки. Из неё можно всё удалить, система будет грузиться быстрее, а проги (в первый раз) медленнее. Потом снова образуются файлы. Можно чистить, даже нужно иногда.
Windows XP по умолчанию создает папку %systemroot%\\prefetch. Используется она для ускорения запуска недавно использовавшихся программ, что очень тормозит загрузку системы. Если важнее скорость загрузки системы, выполните нижеизложенное. Чтобы отключить эту функцию: HKEY_LOCAL_MASHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Memory Management\\PrefetchParameters сделаем параметр EnablePrefetcher равным 0.

вторник, 28 декабря 2010 г.

скрипт для 3DS Max

3Таки добрался и до этого. Давно смотрел в сторону скриптов - ради расширения кругозора и ради а зачем оно мне нужно; пара часов разбирательств вылились в скрипт, меняющий тремя слайдерами RGB цвет выделенных (и только! а иначе ошибка) объектов сцены, которым еще не назначен материал. Неплохо, когда собирается, например, цельный интерьер и только после сборки начинается работа с материалами. Знаю, так делают.
Собственно, сам скриптик:
rollout unnamedRollout "Untitled" width:430 height:211
(
 button btn7 "Reset" pos:[20,180] width:65 height:20
 slider sld6 "R" pos:[10,10] width:255 height:44 range:[0,255,0] type:#integer ticks:10
 slider sld7 "G" pos:[10,60] width:255 height:44 range:[0,255,0] type:#integer ticks:10
 slider sld8 "B" pos:[12,110] width:255 height:44 range:[0,255,0] type:#integer ticks:10
 progressBar pb1 "ProgressBar" pos:[280,40] width:72 height:101 value:100 color:(color 0 0 0)
 label lbl1 "0" pos:[370,32] width:45 height:20
 label lbl2 "0" pos:[370,82] width:45 height:20
 label lbl3 "0" pos:[370,132] width:45 height:20
 on unnamedRollout open do
 (
  c1 = 0
  c2 = 0
  c3 = 0
 )
 on btn7 pressed do
  $.wirecolor = color 0 0 0
 on sld6 changed val do
 (
 c1 = sld6.value
 c2 = sld7.value
 c3 = sld8.value
 $.wirecolor = color c1 c2 c3
 pb1.color = color c1 c2 c3
 lbl1.caption = c1 as string
 lbl2.caption = c2 as string
 lbl3.caption = c3 as string
 )
 on sld7 changed val do
(
 c1 = sld6.value
 c2 = sld7.value
 c3 = sld8.value
 $.wirecolor = color c1 c2 c3
 pb1.color = color c1 c2 c3
 lbl1.caption = c1 as string
 lbl2.caption = c2 as string
 lbl3.caption = c3 as string
 )
 on sld8 changed val do
(
 c1 = sld6.value
 c2 = sld7.value
 c3 = sld8.value
 $.wirecolor = color c1 c2 c3
 pb1.color = color c1 c2 c3
 lbl1.caption = c1 as string
 lbl2.caption = c2 as string
 lbl3.caption = c3 as string
 )
)
createDialog unnamedRollout width:430 height:211

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

Ну и... Поздравляю себя с первым сообщением на блоге :-)