Projekt GNU
Motto:
Software is like sex, it's better when it's free... 
Wszystkie programy - copyleft Mikołaj Rydzewski

Korzystając z okazji chciałbym podziękować temu osobnikowi, bez jego pomocy i wsparcia wiekszość z tych programów nigdy by nie powstała.

Niniejsze programy są oprogramowaniem wolnodostepnym; możesz je rozprowadzać dalej i/lub modyfikować na warunkach Powszechnej Licencji Publicznej GNU, wydanej przez Fundację Wolnodostępnego Oprogramowania - według wersji 2-giej tej Licencji lub którejś z późniejszych wersji.

Niniejsze programy rozpowszechniane są z nadzieją, iż będą one użyteczne - jednak BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyślnej gwarancji PRZYDATNOŚCI HANDLOWEJ albo PRZYDATNOŚCI DO OKREŚLONYCH ZASTOSOWAŃ. W celu uzyskania bliższych informacji - Powszechna Licencja Publiczna GNU.


mkmake tmpkill OpenView Kartki elektroniczne Kreator kopii baz danych Indeks wyszukiwarek Vacation Testy na prawo jazdy wwwpasswd wwwfinger Pager Puls Wysyłanie SMS'ów QPopper Patch do Pine Bezpieczny finger Zamiana Odp: na Re: w naglowkach maili Kolorowanie wyrazów w Tin'ie

mkmake - generator plikow Makefile

Odkad zaczalem programowac w Linuxie, to chac czy nie chcac musialem zaczac korzystac z nieszczesnych plikow Makefile. Nie sa one moze takie zle, ale dla kogos wychowanego na srodowiskach Borlanda sa na pewno czyms koszmarnym!Wiec coz mi pozostalo? Jako ze jestem czlowiekiem leniwym postanowilem sobie ulatwic zycie i napisalem generator ww plikow. Program jest banalny w obsludze, wystarczy go uruchomic w katalogu z plikami nalezacymi do projektu. Przeanalizuje on wszystkie pliki .c i .cc w katalogu - jesli korzystaja one z jakis lokalnych plikow naglowkowych (include "plik.h") to takie pliki takze zostana uwzglednione w pliku Makefile. W zaleznosci od rozszerzen plikow w katalogu jako domyslny kompilator zostanie wybrany gcc albo g++. Jako domyslna nawe pliku wynikowego program przyjmuje nazwe katalogu. Plik Makefile jest zaopatrzony w wiele opcji i parametrow, tak wiec nie ma problemu z dodawaniem pozniej roznych nietypowych bibliotek czy sciezek przeszukiwan.

Pobierz plik (4 kb): mkmake.tar.gz 


tmpkill - sam wyczysci katalog /tmp

Pewnie wywazylem tym programem juz otwarte na osciez drzwi :) , ale przynajmniej nabralem troche wprawy w pisaniu. Uzywam w domu RedHat Linux - domyslnie instaluje on w crontabie program tmpwatch, ktory powinien mi czyscic katalogi /tmp /var/catman, itd. z plikow od jakiegos czasu nieuzywanych. Nie wiem czemu, ale jakos nie chcial on u mnie dobrze chodzic - usuwal tylko pliki, jesli proces go wykonujacy byl ich wlascicielem (czyli nawet puszczany jako root nie kasowal plikow innych userow - a mial to robic!No wiec znow zmuszony bylem zrobic to po swojemu. Program obsluguje sie praktycznie tak samo jak tmpwatch - z ta roznica, ze robi co ma robic. Szczegoly zreszta znajduja sie w zrodle.

Pobierz plik (2 kb): tmpkill.tar.gz 


OpenView - zobacz co moga stare MS Windows 3.1

Strasznie stary program (ta wersja jest z wrzesnia '95 - mam nawet zrodla do nowszej, ale nie chce mi sie ich od nowa kompilowac - musialbym sobie zainstalowac BC 3.1). Na poczatku powstal jako zwykly program zaliczeniowy, potem powoli sie rozrastal i rozrastal. Nie chwalac sie moge powiedziec, ze jestem z niego dumny! Kiedys zostal nawet wydany na jednej (bodajze czerwiec/lipiec '96) plytce do MacWorlda - niestety nie mam jej (jesli masz taka zbedna to chetnie odkupie).Teraz fragment z pliku 'readme':

Program ten zostal pomyslany jako zastepnik standardowego shell'a w MS Windows - czyli Menedzera Programow. Pomysl na program wzialem z komputerow Sun, gdzie programy uruchamia sie z menu dostepnego po nacisnieciu prawego klawisza myszy na 'tle' ekranu (desktopie). Tutaj tez po podaniu swoich programow w pliku konfiguracyjnym mozna je uruchamiac z poziomu OpenView, nie muszac juz szukac ich w niehierarchicznych przeciez grupach Menedzera Programow. Teraz jest tez mozliwe umieszczanie calych katalogow dysku w menu. Oraz zakladanie grup programow uruchamianych po starcie windows oraz pod ich koniec. Program NIE pracuje poprawnie pod Win95 / NT
Ten plik jest umieszczony na FTP Politechniki Gdanskiej (jak on sie tam znalazl?) - mam nadzieje, ze go nie usuna wkrotce. W kazdym razie zawsze moge zipa umiescic na moim koncie. W zipie sa umieszczone binaria - moze troche sie to kloci z GPL, jesli chcesz zrodla, to wyslij maila. Gdy znajde chwile czasu to tez kiedys je tu umieszcze.

Pobierz plik (82 kb): openview.zip. Ten link z kolei wskazuje juz na plik na tym serwerze openview.zip 


Kartki elektroniczne - baza danych na stronach www

Pierwsza moja aplikacja bedaca polaczeniem bazy danych ze stronami www. Jest to cos w rodzaju serwisu jaki mozna zobaczyc na http://www.rava.com.pl/kartki - tylko, ze pracuje na domowym komputerze i nie ma banerow :) Aby to zainstalowac trzeba miec jakiegos Unixa i baze PostgreSQL. Reszta jest w miare dokladnie opisana w srodku. Najwazniejsze jest to, ze dziala!

Pobierz plik (51 kb): kartki.tar.gz 


Kreator kopii baz danych

Piszac programy w Visual Basicu obslugujace bazy danych wiele razy stawalem przed problemem jak zaimplementowac funkcje z menu 'Plik|Nowy' - no bo niby jak mam utworzyc od reki nowa baze danych? Przeciez pierwsza wersje i tak robilem albo w Accesie albo w VisualData. Sa jednak takie sytuacje kiedy przydatna staje sie mozliwosc wygenerowania nowej, czystej bazy o pozadanej przez nas strukturze. No i dlatego tez powstal ten program :) Wskazujemy plik z baza danych (najlepiej zeby to byla baza Accessa - z innych baz sprawdzalem tylko .dbf'y, ale powinny wszystkie rodzaje pracowac), odpowiadamy na kilka pytan, po czym dostajemy gotowy kod funkcji ktory pozostaje nam juz tylko wkleic do naszego projektu. Takie rozwiazanie ma swoje plusy: nie musimy rozpowszechniac z naszym programem dodatkowego czystego pliku z baza (program sam sobie taki wygeneruje) - oszczedzamy na objetosci dystrybuowanego programu, jest to dodatkowa forma backupu naszej bazy - czasami przeciez w konstrukcje bazy z jej relacjami poswiecilismy rownie duzo czasu co na sama aplikacje. W ponizszych archiwach sa zrodla programu do otwarcia w odpowiedniej wersji Visual Basica (4 i 5). Znajduja sie tam tez skompilowane juz pliki exe. Oczywiscie do ich uruchomienia potrzeba odpowiednich bibliotek. Wygenerowana funkcja powinna tez dzialac jako makro np. w Excelu. Trzeba by bylo wtedy dolaczyc do projektu odnosnik do biblioteki DAO, nie sprawdzalem jednak tego.

Pobierz pliki: vb_wiz40.zip (15 kb), vb_wiz50.zip (20 kb) 


Indeks wyszukiwarek internetowych

Jest to po prostu zwykla strona HTML zawierajaca bezposrednie odwolania do rozmaitych wyszukiwarek. Byla to po prostu moja 'wprawka' w tworzeniu stron zawierajacych formularze. Jak wiadomo kazda sekcja strony HTML zawierajaca guzik typu 'Wyslij', 'OK' jest okreslona jako tzw. formularz. W naglowku takiego formularza okresla sie adres URL skryptu przetwarzajacego wprowadzone dane. Nic nie stoi na przeszkodzie, aby na jednej stronie umiescic wiele roznych formularzy odnoszacych sie do roznych serwerow. No i to wlasnie zrobilem na tej stronie.

Zobacz dzialajaca strone 


Vacation

W systemie Unix (a przynajmniej w SunOS) jest taki bardzo przyjemny programik: vacation - reaguje on na nadchodzaca poczte i wysyla do nadawcy krotki list z wiadomoscia, ze akurat jestesmy na wakacjach i poczty nie mozemy odebrac. Jest na tyle inteligentny, ze nie bedzie ciagle wysylal tej samej osobie takiej informacji gdyby od niej listy ciagle nadchodzily. Niestety w mojej dystrybucji Linuxa nie bylo takiego programiku. Znalazlem go ostatnio gdzies w Sieci, przerobilem zeby sie poprawnie kompilowal, no i jest!

Pobierz plik: vacation.tar.gz (4 kb) 


Testy na prawo jazdy

Kazdy kiedys musi zrobic prawko. Na mnie tez przyszedl czas, lepiej pozno niz wcale. Pierwsza mysla ktora mi przyszla do glowy po zobaczeniu ksiazki z pytaniami bylo: jak to sobie zautomatyzowac?. Jeszcze cos tam z Excela pamietam i w pol godzinki sklecilem maly arkusz idealnie sie do tego nadajacy. Nie jest to normalny program do odpytywania (tego to juz by mi sie nie chcialo robic). Program albo losuje numer pytania (trzeba wtedy zajrzej do ksiazki zeby przeczytac jego tresc), albo tez podaje mu sie numer wlasnie przerabianego. Nastepnie podajemy odpowiedzi. Jesli byla zla, to sie zaraz dowiemy, ze cos spapralismy. Pod koniec program pokazuje ilosc odpowiedzi dobrych, zlych, oraz wartosci w procentach. Wszystkie odpowiedzi na pytania przepisalem z ksiazki wydawnictwa grupa IMAGE.

Pobierz plik: jazda.zip (11 kb) 


wwwpasswd - zmiana hasla poprzez formularz WWW

Od pewnego czasu odkad opiekuje sie jednym Linuxem (glownie serwer poczty) chodzil mi po glowie zamiar napisania programu pozwalajacego na zmiane hasla poprzez www. Nie chcialem kazdemu dawac prawa do logowania sie na maszynie, zreszta czesc osob pewnie nawet by sie nie potrafila poslugiwac ani telnetem, ani ssh :) No wiec najpierw sam zaczalem rozgryzac temat, studiowac opis do biblioteki PAM, szukac jakis gotowych rozwiazan w sieci, itd. Nic jednak w sieci rozsadnego nie znalazlem, a funkcje PAM nie okazaly sie takie straszne jak sie wydawaly na poczatku. No i jest wiec dzialajacy programik. Dzieki uzyciu tylko funkcji PAM jest w miare uniwersalny. Przynajmniej tak myslalem :) Pisalem i testowalem go na RedHat 5.1 - ale gdy chcialem skompilowac na RH 4.2 to sie nie udalo. Nawet po poprawieniu zrodel nie zmienial hasel. Pewnie cos sie wiecej zmienilo w samym PAM'ie. No ale w kazdym razie na RH 5.1 dziala!

Pobierz plik: wwwpasswd.tar.gz (3.8 kb) 


wwwfinger - usluga finger na stronach WWW

Kazdy kto ma konto na Unixie chyba wie co to jest usluga finger. Niestety w dobie panoszenia sie MS W* w zasadzie nie ma mozliwosci jej uzycia. Ale od czegoz sa strony WWW w Sieci! Napisalem wiec sobie kolejny program CGI wyswietlajacy w przegladarce to co by normalnie pokazal finger. Dodatkowo program powiadamia wlasciciela konta o tym, ze ktos go 'fingerowal'.

Pobierz plik: wwwfinger.tar.gz (1.7 kb) 


Wysyłanie wiadomości na pagery Puls

Od jakiegoś czasu korzystam z małego urządzonka - pagieru. Jego niezaprzeczalną zaletą jest możliwość wysyłanie na niego wiadomości poprzez Internet jako zwykłego listu elektronicznego. Wszystko fajnie, tylko czasami człowiekowi nie chce się włączać wielkiego programu pocztowego gdy chce wysłać tylko krótką wiadomość. Więc dlatego powstał ten programik. Ma on jeszcze jedną dosyć przyjemną cechę: a mianowicie dzieli dłuższe wiadmomości na akceptowalne przez bramkę komunikaty.

Pobierz plik (do skompilowania w Borland CBuilder 3.0): pager.zip (7 kB)


Wysyłanie SMS'ów

Program ma teraz już swoją strone: http://ceti.pl/~miki/komputery/sms.html


Patch dla QPopper'a

Wow! Wyslalem swojego patcha do zespolu piszacego QPoppera no i spodobal im sie! Dolaczyli go wersji 3.0b36. Mozna to teraz sciagnac z ich serwera. Milo miec swiadomosc, ze jakis moj kawalek kodu zostal dostrzezony i teraz kazdy moze tego uzywac. A moze tez stane sie przez to slawny? :-)

Jest taki sobie serwer POP3 autorstwa firmy Qualcomm. Ma on taką ciekawą cechę jak tzw. biuletyny. Pozwala ona przekazać wiadomość wszystkim użytkownikom serwera bez wysyłania do nich poczty. Administrator zakłada po prostu odpowiedni plik i z chwilą pobierania nowej poczty protokołem POP3 ta dodatkowa wiadomość zostaje także przesłana. W ten sposob np. działa wysyłanie wiadomości reklamowych na kki.net.pl.

Niestety oryginalne rozwiązanie nie pozwalało na określenie grupy odbiorców wiadomości - była ona odbierana przez wszystkich. Mój patch omija tę niedogodność w bardzo prosty sposób. Po prostu w nazwie pliku z wiadomością należy zaszyć nazwę grupy odbiorców - grupy zdefiniowanej w pliku /etc/group.

W prezentowanym tutaj archiwum znajdują się dwa patche; jeden dla wersji 2.53 oraz drugi dla nowszej 3.0b25. Po rozpakowaniu właściwy patch należy przegrać do katalogu QPoppera, a następnie wykonać polecenie patch -p0 z nazwą właściwego pliku poprawek. Następnie należy postępować zgodnie z opisem instalacji QPoppera.

Pobierz plik: qpopper_patch.tar.gz (1.9 kB)


Patch do Pine

Patch ten poprawia jedną z wad popularnego programu pocztowego Pine. Rzecz rozchodzi się o sposób w jaki tworzy on pliki lock w katalogu /tmp. Wbrew wszelkim regułom nadaje im prawa 0666! Czyli każdy złośliwy haker :-) może nam nadpisać taki plik. A co za tym idzie uniemożliwić dalsze korzystanie z programu. Gdy ktoś nadpisze nam taki plik, to Pine nie pozwala korzystać nam dalej ze skrzynki pocztowej - uważa, że na innym terminalu otwarliśmy nową jego kopię i tamta ma dostać prawa do skrzynki. W tym patchu idę jeszcze dalej i tworzę owe pliki w katalogu domowym użytkownika - dzięki temu nie ma szansy, aby ktoś niepowołany mógł nam zablokować dostęp do skrzynki pocztowej.

Patcha aplikujemy w standardowy sposób (zakładam, że w bieżącym katalogu mamy zarówno spakowane archiwum z programem Pine jak i mój patch):

	$ tar xzf pine4.21.tar.gz
	$ patch -p0 < pine-4.21-patch
Następnie możemy już zabrać się za kompilowanie nowej wersji programu. Jeśli chcemy spatchować nowszą wersję programu Pine postępujemy w analogiczny sposób.

Pobierz plik


Bezpieczny finger

Już taki jestem dziwny, że zawsze podobała mi się usługa finger dostępna na różnych Uniksowych maszynach. Niestety świat nie jest zamieszkały przez idealnych ludzi i czasami trzeba trochę ograniczać udostępniane informacje. A finger ich trochę jednak udostępniał (a to katalog domowy użytkownika, a to czy jest zalogowany lub jakiego shella używa). Dokonałem więc poprawki na źródle przychodzącym z dystrybucją RedHat 5.1:

Pobierz plik: bsd-finger-0.10-mr.tar.gz (21 kB), bądź zobacz zmiany jakie wprowadziłem (plik diff)


Zamiana Odp: na Re: w nagłówkach maili

Każdy dostał chyba kiedyś maila z pięknym tematem: Odp: Odp: Odp: Re: aaa. No coż, niektórzy używają programów, które niezupełnie stosują się do zaleceń zawartych w dokumentach RFC ani w ogólnie przyjętym dobrym guście. Aby więc nie walczyć z wiatrakami można dopisać sobie parę linijek do plików na swoim koncie i mieć całą sprawę z głowy. Poniższe rozwiązanie spowoduje automagiczną zamianę fragmentów tematów maili z Odp: na Re: Analogicznie usunięte zostaną wielokrotne skróty Odp:

Pobierz plik: odp_filter (81 B)


Kolorowanie wyrazów w Tin'ie 1.5.6

Byłem ostatnio świadkiem jednej dyskusji na grupie pl.comp.os.advocacy o wyższości jednych czytników newsów nad drugimi. Jako zagorzały zwolennik Tin'a ze smutkiem przyjąłem wiadomość, że inne potrafią rozróżnić tekst oznaczony /slashami/. Sam Tin rozpoznaje jedynie wyrazy z *gwiazdkami* oraz _podkreśleniami_. Nie dawała mi ta myśl spokoju, no i tak powstał ten patch.

Pobierz plik: tin-1.5.6-markslash.gz (2 B)


A l0tz of hack3rz
stat4u

Moja strona domowa 

Ostatnia zmiana:  Mikołaj Rydzewski