🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.pl.fan.gopher
Article #13439

Re: filtry

#13439
From: Adam Wysocki
Date: Sat, 28 Dec 2002 07:37
70 lines
4446 bytes
28.12.02 Puck wrote:

> Najpierw na serwerze, o2. ma taką funkcję.

...a wysocki.lodz.pdi.net ma procmaila i się nie chwalę :)

> Potem Hamster (2.0.0.0 swoją drogą).

U mnie jedynym mta jest sendmail, którego zamierzam zamienić na qmaila 
bo już mnie wkurwia rozproszeniem spoola (dwa synchroniczne pliki, jeden 
z nagłówkami a drugi z treścią, jak się rozsynchronizują to się wszystko 
miesza, raz tak miałem).

> M'kay, co jest takiego świetnego w filtrach hs2?

...oprócz tego że są cholernie wolne bo reprezentowane w postaci 
interpretowalnej. Jakby chociaż hamster robił tak jak np. python, 
czyli przy pierwszym uruchomieniu prekompilacja skryptu do postaci 
bytekodu, to byłoby szybciej, o wiele szybciej.

> Mogę filtrować pod względem każdego z nagłówków albo body.

Ja też :)

> Są dwie części każdego filtra: 
>  - kryteria (jeśli spełnia, to wykonuje się...)
>  - ..polecenia.
> Wszystkich może być nieskończenie wiele.

Nie może być nieskończenie wiele. Może być max(2^^32,coresize()/tabsize()).

> Jeszcze jedną bardzo ciekawą rzeczą jest to, że kryteria
> mogą się przeplatać z poleceniami. Wszystkie kryteria są
> powiązane spójnikiem 'i' (popracuje trochę i to zmienię)

Koniunkcję i dysjunkcję można wybrać w zasadzie jedną instrukcją warunkową. 
Ewentualnie możesz skorzystać z logiki bool'a i tego, że koniunkcja jest 
nieprawdziwa dla choćby jednego zera na liście argumentów, a dysjunkcja 
prawdziwa dla choćby jednej jedynki. To bardzo ładnie można zoptymalizować 
rozszerzoną sumą logiczną (tak zwaną nierownoważnością ex-or, popularnie 
zwaną xorem) bez stosowania żadnych instrukcji warunkowych (na x86 instrukcje 
warunkowe zajmują od trzech do pięciu cykli maszynowych, jest to porównanie 
i skok, podejrzewam że w hs2 o wiele więcej).

> W planach: dodanie polecenia: przestań przetwarzać.

Dwie, trzy linijki w kodzie :)

> Na razie mail przechodzi przez wszystkie filtry po
> kolei, więc te na początku miaja najmniejszy prio-
> rytet.

W koniunkcji i dysjunkcji nie ma priorytetów. Jeśli pierwszy 
warunek nie zostanie spełniony, a drugi zostanie, koniunkcja 
będzie niespełniona, tak samo jak po zamianie warunków. Jeśli 
jest to prosty iloczyn logiczny (z tego co napisałeś tak 
wynika), nie ma czegoś takiego jak priorytety warunków. 
Mogą być najwyżej priorytety przetwarzania warunków, wiem 
o co ci chodzi, ale przemyśl to. Swoją drogą kiedyś, dawno 
temu, w taki sposób optymalizowało się operacje w algebrze 
bool'a, ale to było jeszcze na assemblerze XT i 286, potem 
nikomu się nie chciało.

gophi po przejściu przez lekcje logiki cyfrowej u p. Kota (mam czwórkę, 
będę poprawiał na piątkę, ale na koniec roku i tak chciałbym mieć szóstkę).

-- 
Pozdrowienia z Warszawy * Adam `gophi' Wysocki * gophi@studio.tpi.pl
GG# 1234 * RLU# 265791 * ICQ# 173653642 * GSM# +48505439030 * CB# 33
Jesteś Gophim :) Jedynym w swoim rodzaju, niepowtarzalnym (C) Muszek
Technical Details
Message-ID: <gophi.1245288112@gophi.nascom.nasa.gov>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.atcom.net.pl!wysocki.lodz.pdi.net!gophi.nascom.nasa.gov!gophi
References: <20021228.12896@news.blade.net>

Show Full Headers
Complete Article Headers
Newsgroups: alt.pl.fan.gopher
Subject: Re: filtry
Date: Sat, 28 Dec 2002 08:37:24 +0100
Lines: 71
References: <20021228.12896@news.blade.net>
Mime-Version: 1.0
X-Trace: localhost.localdomain 1041061045 1478 127.0.0.1 (28 Dec 2002 07:37:25 GMT)
NNTP-Posting-Date: Sat, 28 Dec 2002 07:37:25 +0000 (UTC)
In-Reply-To: <20021228.12896@news.blade.net>
From: Adam Wysocki <adam@wysocki.lodz.pdi.net>
Organization: PFT Hacking Group
NNTP-Posting-Host: gophi.nascom.nasa.gov
X-Complaints-To: news@aramin.one.pl
User-Agent: Pine 4.44 / Red Hat Linux 7.3 (Valhalla) / Kernel 2.4.18-3
X-Geek-Code-1: GAT d? s+: a1985 C++ UL+++ P+ L+++ E---- W- N++ K- w--- !O M--
X-Geek-Code-2: V-- PS+ PE+ Y-- PGP- t- !5 X+ R- tv- b+ DI- D+ G e- h* r% y*
X-Geek-Code-3: v3.12
X-License: This message is PPL-Licensed, details on http://ppl.7thGuard.net/
X-Hardcore-User: pine
X-No-Archive: yes
X-Uwaga: O ile nie jest zaznaczone inaczej, poglady wyrazone przeze mnie          sa moimi wlasnymi pogladami i moga, ale nie musza, byc zgodne          z pogladami moich bylych, obecnych oraz przyszlych pracodawcow.
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.atcom.net.pl!wysocki.lodz.pdi.net!gophi.nascom.nasa.gov!gophi
Message-ID: <gophi.1245288112@gophi.nascom.nasa.gov>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit