Pref News logo by Maxim Troukhan <TPYXAH@pacbell.net>

  1. Major PC Makers to Ship PCs Sans Windows
  2. Nauru: Real life Kinakuta
  3. Movie Review: Princess Mononoke
  4. QT/GPL licensing trouble
  5. Amiga Dealers Suing Amiga Inc./Gateway
  6. Darwin's Radio
  7. French Senator Proposes Requiring Open Source
  8. MP3 Player Made From a Router
  9. Oracle Rolls Out Latest NC - With Linux
  10. Tucows Opens Domain Name Registry
  1. FTP Control 3.80
  2. CDRWIN 3.8A Beta
  3. PowerKids 4.5.5 for AOL 4.0 32 bit
  4. Nero ASPI Driver
  5. icМ ToolStar for Windows 0.80.00 Beta 1
  6. Scour Media Agent Version 2.9.31 Beta
  7. McAfee DAT File 4049 Version 4.x
  8. GetRight 4.1.1
  9. Advanced Call Center Beta 3
  10. E.Spy 2.0.8
  1. nscache 0.2
  2. WebEvent 3.2b3
  3. Qvwm 1.1.3
  4. mod_auth_kerb 4.6
  5. TAPIIR 0.2.4
  6. Open-Source Internet desktop and application suite
  7. KPooka 0.2
  8. Flash Web Server 0.1
  9. HB 1.9.5
  10. uptimer 1.0.1
  1. Midgard Weekly Summary for 27th of October, 1999 (#21)
  2. KDE Development News: October 1999 [1/2]
  3. LinuxPR: Bynari International Announces South America Alliance
  4. LinuxPR: WebEvent 3.2b3 Released - Web calendar software
  5. Boston Globe: Keeping Crashes to a Minimum
  6. ZDNET UK: Under the counter Definite Linux sells like hot cakes
  7. The Register: TurboLinux clustering and the code-forking scare
  8. NY Times: Oracle to Form New Company for Network Computing
  9. Network Computing: The Open Source Mystique
  10. Debian Security Advisory: New version of nis released
28.10.99

Эмулятор игровых автоматов MAME работает на фотокамере Kodak.

Слайды из презентации PHP.

Как пользоваться архивом CPAN, пример tied filehandle и статья про mod_perl.

Объяснения на немецком - как установить perl не имея прав rootа.

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

#!/usr/bin/perl -w

use strict;                            # никогда не забывайте эту строку

sub rmtags2 ($$$)
{
    my $txt = shift;                   # текст, который надо очистить
    my $otg = shift;                   # regex для открывающего tag-а
    my $ctg = shift;                   # regex для закрывающего tag-а

    1 while $txt =~ s/$otg((?:(?!$otg).)+?)$ctg/$1/is;

    return $txt;
}

my $TXT = 'a<FONT FACE="Arial">b<FONT FACE="Times New Roman">c' .
          '</FONT>d</FONT>e<FONT FACE="Courier">f</FONT>g<FONT' .
          ' FACE="Arial" SIZE=1>h</FONT>ijklmnopqrstuvwxyz';

print rmtags2 ($TXT, '<FONT\s+FACE="[^"]+">', '<\/FONT>');

Выпущен Service Pack 6 для Windows NT 4.0.

27.10.99

Скрипт, проверяющий соответствие адреса e-mail стандарту RFC 822.

Серия из семи подробных курсов: введение в Perl и CGI.pm, использование cookies и templates, библиотека LWP, взаимодействие с базами данных Access и MySQL.

25.10.99

Институт, в котором мне придется писать диплом с января по июль.

Небольшое введение в DBI.

Как разнообразить шрифты в Java-appletе.

Хорошее обозрение Pythonа на немецком.

На прошлой неделе я наконец-то сдал свой последний экзамен. Чтобы стать Dipl.-Ing. Elektrotechnik мне осталось написать программу на C++, использующую OpenGL и Qt для визуализирования FEM. Параллельно к Qt команды можно будет вводить через консоль с помощью readline и Pythonа.

24.10.99

Монстр Eyeball из грядущего Quake 3.

Вы стоите перед проблемой: после сохранения Word-документа в формате HTML избавиться от HTML-tagов вида <FONT FACE="Arial">...</FONT>, но при этом сохранить <FONT FACE="Arial" SIZE=1>...</FONT>. Ситуацию ухудшает то, что эти tagи могут быть вложенными. См. внизу мой вариант решения. Чтобы его было легче разобрать, поменяйте флаг -w на -d для запуска debuggerа и введите строку { p "\n\ttxt = $txt\n\ttag = $tag\n\tbeg = $beg\n\t\$1 = $1\n". Введите еще s и затем просто нажимайте клавишу ENTER для построчного выполнения:

#!/usr/bin/perl -w

use strict;                            # никогда не забывайте эту строку

# Строка для debugger-а (флаг -d и потом все время вводить s):
# { p "\n\ttxt = $txt\n\ttag = $tag\n\tbeg = $beg\n\t\$1  = $1\n"

sub rmtags ($$$)                       # рутина ожидает три аргумента:
{
    my $txt = shift;                   # текст, который надо очистить
    my $otg = shift;                   # regex для открывающего tag-а
    my $ctg = shift;                   # regex для закрывающего tag-а
    my ($pos, $tag, $beg);

    while (scalar $txt =~ /($otg.*?$ctg)/isg)    # см. "perldoc perlre"
    {
        $tag = $1;                     # кусок от 1го $otg до 1го $ctg
        $beg = $`;                     # запомнить начало строки и
        $pos = pos $txt;               # где мы пока остановились

        # ПЕРВАЯ ЧАСТЬ: если в куске $tag только один $otg, то:

        if ($tag =~ s/($otg)/$1/igs == 1)
        {
            $tag =~ s/^$otg//is;       # отрезать у $tag 1й $otg
            $tag =~ s/$ctg$//is;       # и самый последний $сtg 
            substr ($txt, 0, $pos) = $beg . $tag;          # заменить
            next;                                          # кусок в $txt
        }

        # ВТОРАЯ ЧАСТЬ: если в куске $tag пока меньше $ctg, чем $otg, то:

        while ($txt =~ /\G(.*?$ctg)/isg)         # см. "perldoc perlre"
        {
            $tag .= $1;                # добавлять по одному $ctg за цикл
            $pos  = pos $txt;          # это значит мы сдвинулись дальше

            if ($tag =~ s/($otg)/$1/igs == $tag =~ s/($ctg)/$1/igs)
            {
                $tag =~ s/^$otg//is;   # ТО ЖЕ САМОЕ, ЧТО И ВЫШЕ
                $tag =~ s/$ctg$//is;
                substr ($txt, 0, $pos) = $beg . $tag;
                last;
            }
        }
    }

    return $txt;                       # вернуть очищенный текст
}

my $TXT = 'a<FONT FACE="Arial">b<FONT FACE="Times New Roman">c' .
          '</FONT>d</FONT>e<FONT FACE="Courier">f</FONT>g<FONT' .
          ' FACE="Arial" SIZE=1>h</FONT>ijklmnopqrstuvwxyz';

print rmtags ($TXT, '<FONT\s+FACE="[^"]+">', '<\/FONT>');

Идея в том, что рутина состоит из двух частей. Первая часть простая: в переменную $tag помещается кусок текста от первого попавшегося открывающего tagа $otg до первого закрывающего tagа $ctg. Если в этом куске нет других $otg (то есть нет других вложенных tagов), то $tag просто обрезается спереди и сзади. А если есть - то в цикле из второй части к $tag добавляются один за другим $ctgи, пока число $otg и $ctg в нем не уравняется.

Кто такие Perl mongers.

23.10.99

Презентация Perl/Tk для начинающих.

Получил от автора CGI.pm совет добавлять в начало русских скриптов $CGI::DEFAULT_DTD = '-//IETF//DTD HTML//RU';

22.10.99

Doom приспособили для наглядного убивания UNIX-процессов.

После долгой паузы вышел стабильный kernel 2.2.13.

Статья про Sybase SQL Anywhere.

Интервью с программистами October GNOME (почти готова версия для FreeBSD).

Компетентные статьи про mod_perl, inodes, написание SCSI drivers, установку IP-masquerade и TCP-связь.

Я выпустил ранюю версию Lingua::RU::Charset. Если Вы хотите поддержать идею модуля на чистом Perlе (так его легче устанавливать на разных платформах или просто копировать необходимые рутины) для поддержки и определения всех русских кодировок, включая UTF-8 и Unicode (пригодится Java-программистам) и незавимого от locale (например для не-российских серверов), присылайте недостающие функции. Если никто не будет мне помогать, то я напишу только нужные мне рутины (для частотного определения кодировки) и на этом все закончится.

21.10.99

Предположим, Вы устраиваете конкурс красоты и хотели бы разрешить посылку фотографий в формате GIF или JPG на Ваш сервер (в каталог $DIR), при условии что размер картинок не превышает 128 килобайт. Кроме того имена принимаемых файлов должны отличаться от уже полученных. Проработайте этот небольшой скрипт - в нем много деталей, и я постарался его подробно прокомментировать:

#!/usr/bin/perl -T                               # используйте -T для CGI-скриптов

$SIG{ALRM} = sub { die "$0 timed out" };         # прекратить выполнение скрипта 
alarm 900;                                       # в любом случае через 15 минут

use strict;                                      # никогда не забывайте эту строку
use Fcntl;                                       # O_EXCL, O_CREAT и O_WRONLY
use CGI       qw (:standard);                    # читайте "perldoc CGI"
use CGI::Carp qw (fatalsToBrowser);              # вывод ошибок к browser-у 

$CGI::POST_MAX    = 131072;                      # максимальный ввод = 128 KB
$CGI::DEFAULT_DTD = '-//IETF//DTD HTML//RU';     # используется в start_html()

my $foto;                                        # декларация переменной для strict
my $DIR = '/home/alex/pics';                     # не забудьте "chmod 777 pics"
my $JS  =<< 'JAVASCRIPT';                        # JavaScript для проверки формы

function check (form)
{
    if (form.elements['foto'].value.length < 4) // поле foto должно быть заполнено
    {
	alert ('A gde zhe foto?');
	form.elements['foto'].select ();
	form.elements['foto'].focus ();
	return false;                           // false запретит browser-у
    }                                           // отправлять данные к серверу

    return true;                                // все OK - можно отправлять
}

JAVASCRIPT

print header (-type  => 'text/html; charset=koi8-r'),
      start_html (-title  => 'МИСС ИНТЕРНЕТ',    # напечатать заголовок и $JS
		  -script => $JS);
                                                 # 1й запуск скрипта - поэтому
unless ($foto = param ('foto'))                  # напечатать multipart-форму
{
    print start_multipart_form (-onsubmit => 'return check (this)'),
	  h1 ('Отправьте нам фото спутницы Вашей жизни! '),
	  filefield (-name => 'foto',
	             -size => 40),               # поле для upload-а файлов
	  submit (-value => 'Go baby go!'),      # и кнопка для отправки формы
	  end_form;
}
elsif (uploadInfo ($foto) -> {'Content-Type'} ne 'image/gif' and
       uploadInfo ($foto) -> {'Content-Type'} ne 'image/jpeg')
{
    print h1 ('Используйте пожалуйста формат GIF или JPG!');
}
elsif (-e "$DIR/$foto")                          # -e проверяет наличие файла
{
    print h1 ('А такая у нас уже есть!');
}
else                                             # все в порядке - создать файл
{
    die "Не могу создать $DIR/$foto: $!"
        unless sysopen FILE, "$DIR/$foto", O_EXCL | O_CREAT | O_WRONLY, 0444;

    no strict;                                   # здесь придется выключить проверку
    print FILE while (<$foto>);                  # скопировать принятые данные в файл
    close FILE;

    print h1 ('Ха-ха, спасибо!');
}

print end_html;                                  # напечатать </BODY></HTML>

Почему я использовал для создания нового файла функцию sysopen, а не просто

    die "Не могу создать $DIR/$foto: $!" unless open FILE, ">$DIR/$foto";

Дело в том, что в короткий промежуток времени между проверкой -e и моментом создания файла процессор может переключиться на выполнение этого же самого скрипта, запущенного другим посетителем Вашего сайта. Если название его файла такое же, и после создания файла его скриптом процессор опять вернется к Вам, может произойти смешение данных на диске. Маловероятно - но зачем халтурить? Флаг O_EXCL предотвратит эту ситуацию.

Выпущен Unreal Tournament для Linuxа.

20.10.99

Арни пьет кофе в фильме про конец света.

Как использовать regexы в JavaScriptе для проверки форм.

Первый выпуск интересного дайджеста переписки perl5-porters.

Выпущен ActivePerl 521 (исправлены проблемы CGI::Carp в комбинации с PerlEx, а также %SIG, %ENV, Win32::GetCwd() и закрытие socketов).

Хотите архив Pref News (два мегабайта) для личного пользования?

В последнее время у меня появилось много "друзей", которые присылают мне вопросы по Perlу через ICQ и e-mail. Не надо этого делать. Для вопросов есть русские группы fido7.ru.perl и fido7.ru.cgi.perl (вот архив: 1 и 2). Если у меня или у других будет желание - Вам ответят. Если на Ваш вопрос не отвечают - наймите специалиста.

19.10.99

Если Вы не пользуетесь редактором Vim, то Вы теряете время.

Еще один архив с книгами O'Reilly.

Интервью с автором недавно изданной книги Mastering Algorithms with Perl.

Перечисление распространенных наговоров на Perl.

18.10.99

eppletы для недавно выпущенного Enlightenment 0.16

Статьи про оптимизацию regexов и автоматические разборку и заполнение форм с помощью HTTP::Request::Common (чтобы помучать сервер?)

Хитрая попытка обнаружения plug-inов, установленных в MSIE.

Статьи про новые технологии SMIL и MetaFlash.

15.10.99

When the things are dim - give `em VIM!

Костя написал два Perl-модуля для определения и конвертации русских кодировок.

Статья про борьбу со spamом средствами Perlа.

Критический взгляд на Corel Linux и статья про ActiveState.

Microsoft выпустил Asheron's Call beta (53 MB).

14.10.99

Юра прислал адрес еще одного архива с книгами по UNIX и Perl.

13.10.99

Homer applet для GNOME

Короткое объяснение regexов на русском. А также перевод статьи Гвидо.

ActiveState выпустил PerlEx 1.1.6 - аналог mod_perlа для NT-серверов.

Еще одна статья в Forbes - на этот раз про Джона Ромеро, отколовшегося три года назад от Id Software и просадившего 15 миллионов.

12.10.99

Получил сегодня 15й выпуск TPJ

Вторая глава из книги про Swing для Java 2.

Вопрос из TPJ: что произойдет, если из функции вернуть ссылку на декларированную в ней с помощью my частную переменную? Выберите пожалуйста ответ внизу:

Статья про шефа Id Software Джона Кармака, который обычно пашет с 16:00 до 6:00 утра.

10.10.99

Начало серии про DHTML, новый взгляд на CVS и статья про Jini.

Boson - копия Command & Conquer под Linux-ом

Вопрос из TPJ: предположим, Ваш скрипт содержит две переменные: local $var и my $var. В чем тогда разница между ${var} и ${"var"}? Выберите пожалуйста ответ внизу:

Желающие дописать книгу Picking Up Perl получат 725$.

Еще одно интервью с автором Pythonа.

9.10.99

Вопрос из TPJ: какое значение возвращает функция read() в конце файла? Выберите пожалуйста правильный ответ внизу:

Диснеевский Stunt Island - автор Linux-клона получит 205$

Интервью с создателем Pythonа.

Статья про zsh (см. также введение и manual).

Введение в программирование OpenGL под Windows.

Небольшая серия про борьбу с кракерами: 1, 2 и 3.

8.10.99

RTS-игра Clone для Linux, использует компакт от WarCraft II

Вышел октябрьский выпуск Perlmonth со следующими статьями: введение в Apache::ASP, работа с localtime, продолжение серии про mod_perl (1, 2 и 3), примеры OOP и серия про XML parsing (1 и 2).

Вопрос из TPJ: какое значение возвращается простым return; в конце функции? Выберите пожалуйста ответ внизу:

Предположим, Вы хотите напечатать сколько раз слово $word было найдено в каком-нибудь тексте. Вариант print "Слово $word найдено $found раз."; звучит не всегда по-русски. Последнее слово этой фразы надо бы склонять в зависимости от последней цифры: print "Слово $word найдено $found ", $found =~ /[234]$/ ? "раза." : "раз."; Однако и этот способ все еще не учитывает числа 12, 13, 14, 112, 113, 114 и так далее. Надо смотреть на предпоследнюю цифру тоже (при условии, что она есть - то есть $found состоит не из одной цифры): print "Слово $word найдено $found ", $found =~ /(?:[^1]|^)[234]$/ ? "раза." : "раз."; Короткая демонстрация:

#!/usr/bin/perl -w

$word = "Perl";

for $found (0..30)
{
    print "Слово $word найдено $found ", 
          $found =~ /(?:[^1]|^)[234]$/ ? "раза.\n" : "раз.\n";
}
7.10.99

Чеширский кот

Две статьи про mod_perl: введение и кооперация с базами данных.

Примеры использования Perl-библиотеки libwww. А также инструкции по запуску Java-servletов под Linuxом.

Вопрос из TPJ: как напечатать очередную строку из файла, но при этом перевернуть ее задом наперед? Выберите пожалуйста правильный ответ внизу:

Как сделать guestbook на основе базы данных MySQL.

Выпущены Red Hat Linux 6.1 и русская версия MS Office 2000.

Уговорил коллегу заказать Javascript Cookbook, так как шеф уже не хочет подписывать мои книжные purchase declarations.

6.10.99

Первая и десятая (про regexы) главы из книги Elements of Programming with Perl.

Вопрос из TPJ: объясните разницу между /^Foo/s и /^Foo/ (выберите ответ внизу):

Темная сторона Perlа - модуль Mail::Bulkmail.

1.10.99

Licq 0.70 у меня под Ice WM

Попытался объяснить объекты в Perlе. В двух словах: объект - это та же ссылка (на {}, реже на [] или скаляр). Но с одним отличием: эта ссылка blessнута. Если Вы не очень хорошо разбираетесь в OOP, попробуйте прочесть мои разъяснения и потом главу из книги Advanced Perl Programming.

Статьи про HTML::Mason и индексирование собственного сайта с помощью meta tags (вот listing). А также про ClassLoader, XML и Tcl и история сервера Apache.

Вопрос из TPJ: что напечатает print length %hash если Вы поместите в этот только что созданный хеш 37 случайных пар (ключей/значений)? Выберите ответ внизу:

Полезное собрание отрывков из Python-скриптов.

Как использовать onMouseOver в новой Mozillе.

29.9.99

Доклад о Topazе - попытке переписать Perl на C++.

Небольшие статьи про awk, Perl (написана моим коллегой Гвидо), Tcl и m4 macros.

Вышли Netscape 4.7 (с новой жизненно-необходимой кнопкой Go to Shop) и D3D UT demo (55 мегабайт, вот снимки полной версии). Чтобы избавиться от лишних кнопок и окон, внесите в свой ~/.Xdefaults следующее и выполните перед перезапуском Communicatorа xrdb ~/.Xdefaults:

Netscape*useStdoutDialog:                false
Netscape*useStderrDialog:                false
Netscape*noAboutSplash:                  true

Netscape*toolBar.search.isEnabled:       false
Netscape*toolBar.myshopping.isEnabled:   false
Netscape*toolBar.destinations.isEnabled: false
Netscape*toolBar.viewSecurity.isEnabled: false

Прочитал Коржик Евгения Некрасова - смешно и грустно про советскую армию.

28.9.99

Everybody plays... Pingus

Еще один архив книг по Perlу - на сервере Димы Николаева.

Выпущен русско-украинский Black Cat Linux 6.02 (вот снимки).

В отличие от Windows-1251 в кодировке KOI8-r русские буквы стоят не по порядку (по историческим причинам - чтобы текст с обрезанным восьмым битом читался латинскими буквами). Мне надо было рассортировать по алфавиту названия русских газет и журналов и use locale; на том сервере не помогало - вот мой способ, может он Вам пригодится:

sub normkoi ($)
{
    my $str = shift;     # следующую строку я разбил на шесть частей

    $str =~ tr/\xC0-\xFF/\xFD\xC1\xC3\xED\xC9\xCB\xE9\xC7\xEB\xD1\xD3
			 \xD5\xD7\xD9\xDB\xDD\xDF\xFF\xE1\xE3\xE5\xE7
			 \xCD\xC5\xF5\xF7\xCF\xF1\xFB\xF3\xEF\xF9\xFC
			 \xC0\xC2\xEC\xC8\xCA\xE8\xC6\xEA\xD0\xD2\xD4
			 \xD6\xD8\xDA\xDC\xDE\xFE\xE0\xE2\xE4\xE6\xCC
			 \xC4\xF4\xF6\xCE\xF0\xFA\xF2\xEE\xF8/;
    return $str;
}

То есть просто попереставлять русские буквы в области \xC0-\xFF, так чтобы они встали по алфавиту - АаБбВвГг... (внимание: выражение $str =~ ... должно быть одной строкой). И потом что-нибудь вроде print sort {normkoi ($a) cmp normkoi ($b)} @gazeti;

Прочел Кровь Анатолия Азольского - он удивительно пишет.

27.9.99

Статья про сортировку (а не сортирование - спасибо Булат!) в C, про bitовые операции и введение в LibGGI.

Архив Антона Винокурова с книгами по программированию переехал на новое место.

Вадим Бельман рассказал о своих впечатлениях от третьей Perl-конференции [этот линк пока не работает], проведенной O'Reilly в конце августа в Монтерее и опубликовал снимки.

25.9.99

Good evening Mr. Gates, I'll be your server today!

Статья про сортировку массивов в JavaScriptе.

Статья про запоминание LAN-адресов с помощью ACEDB и AcePerl.

Хорошие примеры того, как с помощью Expect.pm-модуля взаимодействовать с fdiskом. См. также статью на немецком про использование Expect.pm с telnetом.

Как увидеть HTTP headers. А также статьи про XHTML: 1 и 2 - похоже на HTML, но все tags должны быть закрытыми (<img src="image.gif" /> или <hr />) и пишутся прописью (<br>, а не <BR>), а цифры заключаются в кавычки (например <table border="0">).

Star Wars: New Hope в виде буквенного appletа.

24.9.99

Статья на немецком про шифрование в Perlе.

Прочел серию статей про RE Джеффри Фридла в старых выпусках TPJ. Например, если Вы попытаетесь запустить такой скрипт из двух строчек:

$str = '::1234::5678901234567890::::123456789::99:';
print 'does not match' unless $str =~ /^(\d+|::)*$/;

то хотя невооруженным глазом видно, что это RE (цифры или двойные двоеточия) не подходит (из-за последнего двоеточия), этот скрипт зависнет у Вас на пару десятков минут. Почему? Дело в backtracking, которое применяет NFA-нутро Perlа.

Сдал последний экзамен и занес профу бутылку Крымского. Теперь мне остался один зачет (через 3 недели). Начал искать оплачиваемое место в какой-нибудь фирме (в немецких институтах за дипломы не платят) для написания диплома в Кельне или Ахене.

23.9.99

Несколько статей про Roxen Challenger - сервер, написанный на Pike.

Снимки новых frontendов KBIND и KSendmail, а также грядущего KDE 2.0.

Небольшое описание /proc filesystem.

Microsoft выпустил DirectX 7.0, необходимый для D3D версии UT demo, намеченной на сегодня или завтра.

21.9.99

Opposing Force - продолжение Half-Life

Статья про Solaris kernel, который в отличие от Linuxа хорошо работает с несколькими процессорами.

Введение в JNI (см. также учебник).

Статья про гипертекст Xanadu.

Вадим прислал адрес русской страницы о locale.

Автор Licq ответил на мой запрос, что русские буквы не показываются в новой версии 0.70 возможно из-за каких-то проблем с Qt, так что оставьте у себя пока версию 0.61.

18.9.99

Еще два архива с книгами O'Reilly: 1 и 2 (среди них Perl Cookbook и Advanced Perl Programming). [28.9.99 - эти линки больше не работают, попробуйте лучше здесь]

17.9.99

Статья про references в Perlе.

Что можно почитать про Python. А также небольшое введение в Python на русском языке.

Вышли Mandrake 6.1 (Helios) и FreeBSD 3.3.

Журнал Cooler Саши Чижова.

16.9.99

Epic's Unreal Tournament

Статьи про mod_perl (вот listing) и REBOL - язык ботов и агентов.

Глава из книги про server-side JavaScript.

Сегодня возможно выйдет UT demo (вот снимки).

15.9.99

Две статьи про WWW-сервер под Linuxом: 1 и 2.

14.9.99

Adfu 0.17 - система для показа рекламных баннеров, написанная на Perl (скоро - на mod_perl). А также phpAds 1.1.0 и набор из четырех SSI-скриптов.

Три главы - про awk, Tcl/Tk и Transact-SQL.

13.9.99

Renegade - FPS _внутри_ C&C

Заметки Игоря Сысоева, например про модули для Apache, а также пара советов по Perl.

Статьи про FreeBSD и намеченный на середину сентября AIX 4.3.3.

Миша Евдокимов написал про Perl в русском издании PC World.

Рассказ о запланированной на весну игре Command & Conquer: Renegade, в которую смогут играть до 256 игроков одновременно.

11.9.99

Первая часть из серии про CORBA.

Статья про GGI и color depths.

Выпущен Licq 0.70 (вот снимки).

Интервью с программистом TF2.

10.9.99

Warcraft 3

Небольшая статья про грядущий Perl 5.6.

Отсканированный русский перевод Llama book.

Вышел Phrack 55, например со статьями про NT Rootkit и CGI.

Хотите Sparc-сервер и оплату половины расходов?

Сценарий к фильму The Matrix.

Получил по почте Mastering Algorithms with Perl. Там не только математика, но и интересные главы про работу со строками - fuzzy-поиск и др.

7.9.99

JamesTK прислал адреса трех компактов с книгами O'Reilly: UNIX, Networking и частично WWW. Если Вы спрашиваете себя, как скачать несколько HTML-файлов за один раз, попробуйте wget -r -L -nH http://athena.vvsu.ru:85/docs/unix/unix_ora/

Олег прислал адрес учебного пособия по CGI-программированию от Леши.

Снимки нового Caldera OpenLinux 2.3.

Джон Кармак обсуждает G4. И статья про слишком красивую Q3A.

6.9.99

Начиная с версии 1.20, GD.pm больше не генерирует GIF-картинки, только PNG.

5.9.99

Это твое заднее слово? - Задней не бывает! - Тогда прощай, родной.

Книга GTK+/Gnome Application Development.

Как использовать TTF-шрифты в Star Office.

Серии про LDAP: 1, 2 и про Postscript: 1, 2 и 3.

Трюки для Flash 4. А также курс: 1, 2, 3, 4 и 5.

Выпущены Zope 2.0.0 и Descent 1.40 для Linuxа.

Perl-модуль Жени и Леонида Нейштадт Lingua::DetectCharset. Функция Lingua::DetectCharset::Detect ($str) возвращает WIN, KOI8 или ENG в зависимости от кодировки $str.

Небольшие статьи про SMTP, про Java-программирование под Linuxом и про конфигурацию RAID.

Кин-дза-дза для Doom ][.

3.9.99

Lemmings: Revolution

Первая глава из новой Perl Black Book.

Выпущен Flash 4 Plug-in для Linuxа. Его очень легко установить: просто скопируйте файлы ShockwaveFlash.class и libflashplayer.so в каталог ~/.netscape/plugins

Десятая глава про конфигурацию X Window System из третьего издания хорошего пособия для начинающих Running Linux. А также - куски из книг Windows 98 in a Nutshell и Managing Exchange Server.


Архив Pref News alex@kawo2.rwth-aachen.de ICQ 3252017 talk alex@alex.kawo2.rwth-aachen.de
 X 
Рус. Лит-ра
+ Преф Ньюз
Архив П.Н.
Преферанс
Объявления