четверг, 12 февраля 2009 г.

Семь драконов, мешаюших жить в гармонии с миром

Алчность, высокомерие, нетерпеливость, упрямство, самоуничижение, склонность к мученичеству и саморазрушению - так зовут этих драконов, по мнению Хосе Стивенса.

четверг, 5 февраля 2009 г.

Perl/Tk. Передача параметров по цепочке процедур.

У меня возникла необходимость в передаче объекта Perl/Tk в качестве параметра процедуры, для дальнейшего создания его дочерних объектов (элементов интерфейса) внутри этой процедуры.
Сначала напишем простой код:
#! /usr/bin/perl
use strict;
use Tk;
my $mw=new MainWindow;
print $mw;
После запуска видим следующий вывод:
MainWindow=HASH(0x9acfcc0)
Теперь создадим процедуру создания кнопки для дочернего окна:
sub create_button {
my $mw=shift; #Получаем переданный параметр
print $mw;
}
Если теперь вызвать эту процедуру из main::
...
create_button($mw); #mw - созданный MainWindow
...
То получим вывод:
REF(0x9da0340)
Т.е. получаем ссылку. Для того, что бы можно было создавать дочерние объекты с переданной в качестве аргумента ссылкой на родительский объект, ее нужно разыменовать.
$$mw->Button(-text=>'button')->pack();

Подробнее о ссылках и разыменовании ссылок perl.

четверг, 8 января 2009 г.

2009 наступил, праздники прошли

Собственно, забросил на некоторое время блог.
Наступил 2009 год, пришел так называемый кризис.
Ко всему прочему я еще и приболел. Что ж, найду время и настроение проанализировать прошедший период, выделить ключевые (для меня) события, и начать строить планы на 2009.

четверг, 13 ноября 2008 г.

Из книги "Выходные с пьяным лепреконом, или Как найти свою радость?"

"Наблюдай лишь за тем,
Что желаешь иметь,
Кем хочешь быть,
Чего хочешь достигнуть.
Тогда лишь в это и будешь вовлечен.
Так говорят".
Клаус Дж. Джоул

пятница, 24 октября 2008 г.

Интересный факт

В книге Анатолия Шевырёва прочитал интересный факт, IQ Мадонны (Луизы Чикконе) выше чем у Дж. Ф. Кеннеди.

понедельник, 20 октября 2008 г.

пятница, 10 октября 2008 г.

Неплохо замечено

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

Система управления версиями Bazaar VCS

Собственно, что такое системы управления версиями можно прочитать у IBM. (Перевод статьи несколько корявенький, правда). Сайт самого Bazaar здесь.
Краткое описание команд (буду пополнять по мере "вьезжания" в тему):
  • Начало работы с проектом:
bzr init myproject
в текущей директории будет создана директория my project, которая будет корневой для проекта.
  • Добавление файлов в проект:
bzr add [.]
весь (ранее инициализированный с помощью bzr init) каталог будет рекурсивно (со вложенными каталогами добавлен в проект).
bzr add <файл>
будет добавлен только указанный файл.
Полезная опиция: --dry-run,в случаее ее указания, будет показано, что должно произойти, но ничего в проект добавлено не будет. (bzr add --dry-run .)
Если не требуется рекурсивное добавление, необходимо указать опцию --no-recurse.

  • Фиксация (commit):
Для фиксации текущего состояния (revision) файлов необходимо выполнить команду bzr commit -m "Ваш комментарий". Или bzr commit --file=Файл с комментарием.

  • Просмотр статуса проекта:
bzr status

  • Просмотр лога проекта:
bzr log

  • Просмотр изменений:
bzr diff -rA..N. Где A и N номера ревизий. Если опция опущена будут отображены изменения последней ревизии с текущим состоянием. Если указать bzr diff -rN будут отображены изменения с ревизией N.

  • Извлечение ревизий (checkout):
bzr checkout -r N [BRANCH_LOCATION] [TO_LOCATION]
Извлекает ревизию N из директории [BRANCH_LOCATION] в директорию [TO_LOCATION]


Вызов справки по командам: bzr help [комманда]
Отображене всех команд с кратким описанием: bzr help commands
Отображение разделов справки: bzr help topics
Отображение справки по конкретному разделу: bzr help

четверг, 18 сентября 2008 г.

PowerShell скрипт отображентия версий dll файлов

$start_path="c:\windows\"
function showdir {
param (
$path
)
$files=Get-ChildItem $path
foreach ($file in $files) {
if ($file.PSIsContainer) {
showdir -path $file.FullName
}
else {
if (($file.Extension -eq '.dll') -or ($file.Extension -eq '.exe')) {
$f=gwmi -Class CIM_DataFile -Filter "Name='$(add_slhs($file.FullName))'"
Write-Host $file.FullName,$f.Version
}
}
}
}
function add_slhs($src) {
$dst=""
for ($i=0;$i -lt $src.length;$i++) {
if ($src[$i] -ne "\") {
$dst=$dst+$src[$i]
}
else {
$dst=$dst+$src[$i]+"\"
}
}
return $dst
}


showdir -path $start_path

пятница, 15 августа 2008 г.

Powershell Foreach-Object и Continue

Столкнулся с таким вот:
Если в блоке -Process {} командлета встречается инструкция Continue - выполнение скрипта прекращается. Описано здесь.