вторник, 26 мая 2009 г.

wiki: Интервью с генеральным директором Vita Nuova

Опубликован перевод достаточно старого, но от того не менее интересного интервью с Vita Nuova CEO, Майклом Джефри. В разговоре затрагиваются такие темы как история Plan 9 и Inferno, достоинства Inferno, компании, использующие Inferno, и другие. Обязательно к прочтению новичкам и всем, кто хочет знать больше о компании, занимающейся разработкой операционной системы Inferno.

пятница, 22 мая 2009 г.

Софт. Часть 2. Интересности

На страничке Андрея Мирчовски вы сможете найти несколько интересных наработок:

sokoban - порт всем известной головоломки в Inferno.
decay и zoom - хранители экрана.
lens - порт Plan9-утилиты, увеличивающий выбранный участок экрана (лупа).
rotzoom - увеличение и поворот экрана.

Также на его сайте можно найти бинарный образ emu, использующий Linux Framebuffer в качестве устройства вывода графики (чтобы запустить Inferno на Linux без X Window), исходники которого можно взять здесь (автор: Александр Сычев), набор subfont-шрифтов Vera, полученных из TTF-шрифтов с помощью Plan9-утилиты ttf2subf из пакета freetype-plan9 и порт виртуальной машины Dis на Plan9.

P.S. В Inferno есть поддержка subfont-шрифтов, которая используется, например, в пакете acme-sac.


среда, 20 мая 2009 г.

Софт: Часть 1. Полезности

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

Mechaiel Lukkien поддерживает ресурс www.ueber.net, на котором регулярно публикует ПО для Inferno собственной разработки. Вот список того, что можно найти на его сайте:

kirkwood - порт Inferno на SoC-платформу kirkwood компании Marvell (в разработке).
hgfs - сервис, предоставляющий доступ к репозиториям Mercurial через протокол styx.
hgweb - веб-интерфейс к hgfs (написан на Limbo!).
nfssrv - NFS-сервер для Inferno (нестабилен, поддерживает только третью версию протокола).
pdfread - пакет библиотек и утилит для чтения pdf-файлов.
ircfs - виртуальная файловая система для работы с IRC-протоколом (в комплекте библиотека и графический IRC-клиент).
ssh - SSH-клиент (неполная реализация).
textmangle - утилита для преобразования текстовых файлов, содержащих специальные символы форматирования, в html, latex или troff.
httpd - полнофункциональный и полностью следующий стандартам HTTP-сервер. Ему будет посвещена отдельная статья.
http - HTTP-библиотека с поддержкой SSL и простой HTTP-клиент.
scgid - фоновый демон, обслуживающий SCGI-запросы через запуск внешних программ.
web - набор web-утилит и библиотек (генерация HTML, разбор запросов CGI, генерация RSS и т.п.).
webdavfs - виртуальная файловая система, импортирующая ресурсы по протоколу WebDAV.
cryptfile - средство шифрования файлов.
lyricd - сервер, производящий поиск текстов песен по множеству ресурсов, и набор клиентов к нему.
ventisrv - Venti-демон. В одном из ближайших постов мы поговорим о системе Venti.
hdict - клиент протокола dict (поиск по словарям).
attrfs - интерфейс файловой системы к attrdb(6).
playfs - файловая система для создания и обработки плейлистов и простая графическая программа для их отображения и проигрывания (используя команду mpg123 низлежащей ОС).
httptun - программа для создания HTTP-туннелей.
games - игра blobslay.

четверг, 7 мая 2009 г.

понедельник, 4 мая 2009 г.

TIP: Простая демонстрация мощи концепций Inferno

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

В Inferno тоже есть часы, аналоговые, примитивные как сапог (100 строк кода). Кроме извещения о текущем времени они ничего не умеют и никак не конфигурируются. Но! Эти часы тоже могут показывать время в нескольких часовых поясах одновременно.

Вот как это делается (часовые пояса: текущий, Япония, Израиль):

wm/clock &
bind /locale/Japan /locale/timezone
wm/clock &
bind /locale/Israel /locale/timezone
wm/clock &

Результат:



пятница, 1 мая 2009 г.

Интерпретатор scheme для Inferno

Некто blstuart анонсировал новый проект inferno-scheme, в рамках которого планируется создать интерпретатор scheme для Inferno. На данный момент реализация интерпретатора состоит всего из 4000 строк кода, но уже почти полностью поддерживает "стандарт" r4rs и большую часть r5rs.

Из Википедии:
Scheme - это функциональный язык программирования, один из двух наиболее популярных в наши дни диалектов языка Лисп (другой популярный диалект - это Common Lisp). Авторы языка Scheme - Гай Стил (Guy L. Steele) и Джеральд Сассмен (Gerald Jay Sussman) из Массачусетского технологического института - создали его в середине 1970-х годов.