Home

Previous 20

Dec. 18th, 2009

Pyramid Head

Объединение множеств на языке Си

Выбранный ранее метод реализации объединения множеств свободных переменных в контексте системы лямбда-бета-эта с помощью представления их замкнутыми двусвязными списками был описан на языке программирования Си следующим образом:
struct fv *unitefv(struct fv *head, struct fv *tail)
{
	if (!head)
		return tail;

	if (tail) {
		struct fv *prev = head->prev;
		struct fv *next = tail->next;

		if (prev)
			prev->next = next;
		if (next)
			next->prev = prev;

		head->prev = tail;
		tail->next = head;
	}

	return head;
}

Dec. 17th, 2009

Pyramid Head

Объединение множеств свободных переменных

Множество свободных переменных в системе лямбда-бета-эта определяется следующим образом:

FV(x) = {x};
FV(λx.M) = FV(M) ∖ {x};
FV(M N) = FV(M) ∪ FV(N).

Для объединения множеств свободных переменных при реализации на языке программирования Си были выбраны замкнутые двусвязные списки, чтобы воспользоваться подходом, чем-то похожим на один из методов интегрирования по контуру, обеспечив таким образом выполнение операции за время O(1):

Dec. 16th, 2009

Pyramid Head

Обход приведения типов в MLC

При написании синтаксического разбора для MLC с планом реализации модели вычислительной системы, как было описано ранее, принято следующее решение в языке программирования Си с целью избежать использования приведения типов:
struct usage;
struct node;
union cell;

struct usage {
        union cell *parent, *term;
        struct usage *prev, *next;
};

struct node {
        union cell *parent, *func, *arg, *var;
};

union cell {
        struct usage usage;
        struct node node;
};

Dec. 3rd, 2009

Pyramid Head

Local Debian Autobuilder

The below steps are to set up a local Debian auto-building system similar to that of Launchpad PPA. Within the steps, it is supposed that a local Debian repository has been already configured as written before.

1 Install `rebuildd', `pbuilder', and `devscripts' packages.

2 Edit /etc/default/rebuildd configuration as follows:
START_REBUILDD=1
DISTS="lenny"
3 Run `sudo rebuildd-init-build-system' and `sudo rebuildd init' to initialize the `pbuilder' chroot environent and `rebuildd' database, respectively.

4 Add the local repository to /etc/apt/sources.list on the host machine (`deb-src http://localhost/debian codedot main').

5 Create /var/www/debian/bin/{addjobs,getsrc,putres} scripts with mode 755 as follows:

Self-written scripts )

6 Edit /etc/rebuildd/rebuilddrc configuration as follows:
source_cmd = /var/www/debian/bin/getsrc ${d} ${p} ${v}
post_build_cmd = /var/www/debian/bin/putres ${d} ${p} ${v} ${a}
build_cmd = pbuilder build --debbuildopts -b --basetgz /var/cache/pbuilder/${d}-${a}.tgz ${p}_${v}.dsc
7 Append /var/www/debian/conf/distributions with two lines:
Log: logfile
 --changes /var/www/debian/bin/addjobs
8 Create /var/lib/pbuilder/hooks/D50update script with mode 755 as follows:
#!/bin/sh

/usr/bin/apt-get update
9 Run the command `pbuilder --update --basetgz /var/cache/pbuilder/lenny-*.tgz --override-config --othermirror "deb http://localhost/debian codedot main|deb-src http://localhost/debian codedot main"'.

10 Start `rebuildd' service: `sudo /etc/init.d/rebuildd start'.

After the above steps have been done, new source packages uploaded into the local repository (e.g. using `dput local *.change' command) will be automatically built by the system, and resulting binary packages if succeeded will be uploaded into the repository as well.

Nov. 30th, 2009

Pyramid Head

Приглашения Google Wave

Запрошенная некоторое время назад учетная запись Google Wave была создана: alexo.uniweb@googlewave.com. Также стали доступными восемь дополнительных приглашений. Хотелось бы несколькими из них поделиться с не имеющими учетную запись заинтересованными в одновременном редактировании текстов людьми, которым небезразличны лямбда-исчисление, проект Uniweb, операционная система Debian и основанные на ней, программирование для POSIX, а также OpenGL и/или связанные вопросы.

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

Nov. 29th, 2009

Carrie Bradshaw

Defaulting with No Default

# This option is deprecated.  Directory for chroot symlinks and sbuild
# logs.  Defaults to the current directory if unspecified.  It is used
# as the location of chroot symlinks (obsolete) and for current build
# log symlinks and some build logs.  There is no default; if unset, it
# defaults to the current working directory.  $HOME/build is another
# common configuration.
#$build_dir = undef;
- Example configuration for sbuild(1)


Like the Fail Blog slogan:

Nov. 10th, 2009

Pyramid Head

MakeHuman в Launchpad

После назначения бага 236625 в Launchpad была подготовлена предварительная версия соответствующего Debian-пакета для программы MakeHuman. Для этого была использована утилита dh_make(8). Установить пакет "makehuman", который был успешно протестирован на 64-битной версии архитектуры x86, можно из созданного для дебьянизации нескольких пакетов, имеющих отношение к 3D-моделированию, репозитария PPA группы Animux, зарегистрированной для одноименного дистрибутива GNU/Linux, добавив следующие строки в файл /etc/apt/sources.list:
deb http://ppa.launchpad.net/animux/ppa/ubuntu karmic main #Animux' PPA
deb-src http://ppa.launchpad.net/animux/ppa/ubuntu karmic main #Animux' PPA

Nov. 9th, 2009

Pyramid Head

Salary Increasing Shell Script

#!/bin/sh

cat >>main.c <<!
#if 0
Dear John Smith,

Please increase my salary this month.

Best regards,
Poor Developer
#endif
!

git commit -m "Just profit." main.c

Nov. 5th, 2009

Pyramid Head

ШЗ с Гиппенрейтер (Compiling and Shappiness)



Evil Shappiness )

Nov. 4th, 2009

Pyramid Head

Печати для припечатывания


<a href="http://www.opengroup.org/onlinepubs/9699919799/toc.htm"><img border="0" src="http://bestsmileys.ru/s/603841.gif" /></a>


<a href="http://ru.wikipedia.org/wiki/Полнота_по_Тьюрингу"><img border="0" src="http://bestsmileys.ru/s/123532.gif" /></a>


<a href="http://lib.mexmat.ru/books/8840"><img border="0" src="http://bestsmileys.ru/s/785082.gif" /></a>


<a href="http://lurkmore.ru/Haskell"><img border="0" src="http://bestsmileys.ru/s/672973.gif" /></a>

Oct. 25th, 2009

Pyramid Head

Macro Lambda Calculus' syntax

Using yacc(1) and lex(1), specified by POSIX and available in Debian through packages `bison' and `flex', respectively, a parser was automatically generated for a simple language called Macro Lambda Calculus.

Oct. 18th, 2009

Pyramid Head

MIPS Assembly

Exercise:

Write a program for the SPIM simulator that uses `syscall' instruction to prompt the user to enter strings one per line representing valid decimal integers in the range from 0 to 999999999999. Use 64 bits for each integer. Valid strings may only contain the characters '0' through '9'. All strings other than valid decimal integers should be ignored. The numeric value indicated by each of the decimal strings should be added into a running 64-bit sum until a total of 10 strings have been entered or until the user indicates that there is no more input. The computed 64-bit sum should then be displayed on the console. This exercise involves converting between external and internal representation for input and between internal and external representation for output.

Solution )

Sep. 25th, 2009

Pyramid Head

Ъ




True created by Akira Yamaoka for Silent Hill 2 was rewritten in ABC notation and compiled into Standard MIDI Format using abc2midi(1) utility. Then, Csound and General MIDI sound set encoded in SoundFont format (available in Ubuntu repository as a package called "fluid-soundfont-gm") were used to play it. The original soundtrack itself plays in Videotape Scene:

Sep. 17th, 2009

Pyramid Head

Csound Debut




The notes used to create a Scot language score for Csound system are the beginning of Akira Yamaoka's piece for Silent Hill (1999), "Not Tomorrow," which plays when Lisa character transforms in the alternative world hospital:

May. 23rd, 2008

Pyramid Head

Измененный плоский граф для "Uniweb"

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

Изображение измененного плоского графа

Следует учесть, что стандарт USB неявно "втягивает" в рассмотрение огромное множество зарегистрированных USB-устройств, а POSIX, в свою очередь, неявно включает, в частности, стандарт C99, ссылаясь на него при определении системных интерфейсов, а также в спецификации команды "c99" (компилятора языка Си).

Тем не менее, прототип PyGX, как и запланировано в параметрах проекта, может быть написан на языке Python и использовать библиотеку "GTK+" для реализации графического интерфейса.

Исходный ODG-файл доступен по следующему адресу:

http://pygx.sourceforge.net/uniweb.odg

May. 20th, 2008

Pyramid Head

Плоский граф некоторых компьютерных технологий

С помощью программы "OpenOffice Drawing" подготовлена следующая схема, плоский направленный граф с нагрузкой в узлах. Нагрузка представляет собой краткое неформальное название метода, программы, протокола или стандарта. Также нагрузка в узлах содержит один из трех цветов, обозначающий субъективную оценку технологии: белый - предпочтительна поддержка идей, лежащих в основе технологии, при рассмотрении возможности построения системы с рабочим названием "Uniweb" (перенос сервисов так называемого "Web 2.0" в пользовательскую среду с клавиатурой, но без мыши и других устройств ввода 2D-информации), светло-серый - поддержка под вопросом, темно-серый - поддержка не предпочтительна.

Изображение плоского графа

Исходный ODG-файл (OpenDocument Graphics) доступен по следующему адресу:

http://pygx.sourceforge.net/standard.odg

May. 18th, 2008

Pyramid Head

Оконный менеджер "Ratpoison"

Аскетичный оконный менеджер с символическим названием "Ratpoison", доступный в репозитарии Ubuntu в виде пакета "ratpoison", создан под влиянием программы "GNU Screen". Он позволяет управлять окнами без использования мыши. Чтобы оценить его в действии в Ubuntu, можно записать строку "ratpoison" в файл ~/.xinitrc, остановить серсис "gdm" с помощью команды "sudo /etc/init.d/gdm stop" и запустить X-сервер командой "sudo startx". Краткая, но достаточная для первого знакомства справка встроена в сам оконный менеджер.

Доставляет некоторые неудобства отсутствие обозначений границ непересекающихся областей, в которых "Ratpoison" размещает окна. Также хотелось бы иметь аналог так называемого командного режима, похожего на имеющийся в редакторе "vi". Возможно, стоит учесть эти замечания при работе над проектом PyGX.

После ознакомления с оконным менеджером можно комбинацией клавиш "Ctrl-Alt-Backspace" завершить работу вручную запущенного X-сервера, а командой "sudo /etc/init.d/gdm start" - вернуть обычный рабочий стол Ubuntu.

Apr. 29th, 2008

Pyramid Head

Диалог о POSIX и PyGX

Состоялся очередной диалог с [info]nivanych, на этот раз - о стандарте POSIX как о модели универсальной операционной системы, а также о целях проекта PyGX и рассмотрения в его рамках возможности переноса сервисов так называемого "Web 2.0" в пользовательскую среду с клавиатурой, но без мыши и других устройств ввода 2D-информации:

Лог )

Apr. 27th, 2008

Pyramid Head

Владимир Надеин об очевидном в России

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

http://www.izbrannoe.ru/26405.html

Вообще, ситуация в стране напоминает "Deadlock", или взаимную блокировку, в теории операционных систем. Как известно, избежать взаимной блокировки можно нарушив одно из четырех необходимых условий блокировки. В политике одним из таких необходимых условий, нарушение которого представляется хотя бы отдаленно возможным, кажется несвобода СМИ. После нарушения этого условия, то есть после открытия основных СМИ, например после возвращения прежнего канала "НТВ" с его "Итогами", "Личным вкладом", "Итого", "Намедни" и другими не менее интересными программами, политическая обстановка может сама нормализоваться со временем, так как выпячивание нарушений основного закона государства на первый план чрезвычайно популярно и прибыльно для свободных СМИ, хотя и довольно опасно для журналистов.

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

Сейчас же, к сожалению, российские телеканалы ограничили более-менее свободный эфир до программы Владимира Познера на "Первом" и "Школы злословия", идущей глубокой ночью на "НТВ". И хотя кабельное телевидение позволяет смотреть "EuroNews" и "Viasat History" на русском языке, в те 99% информации, которую потребляет абсолютное большинство россиян, эфир данных телеканалов не входит.

Apr. 26th, 2008

Pyramid Head

Диалог о целях и мотивации

Состоялся второй объемный диалог с [info]nivanych о целях и мотивации работы над лямбда-исчислением:

Лог )

Previous 20