SDK - Self Destruction Kit

W tym dziale zamieszczam kilka programów, które sam osobiście pisałem. Było kilka różnych powodów, dla których te programy popełniłem: z nudów, bo dostałem takie zadanie od kolegi, bo sam potrzebowałem takiego badziewia. Sam oceń, czy ci się podobują.


Programy dla Windows
ProcessViewer przeglądacz procesów w Windows (szczególnie użyteczny w Win95/98/Me)
Reminder przypomina o określonej godzinie, że coś miało zostać zrobione
Shutdowner program do wyłączania komputera o określonej godzinie
TestFont program do wyświetlania zainstalowanych czcionek w Windows
Touch prosty program używany z linii poleceń do tworzenia pustego pliku. Użyteczny z Total Commander-em (i jemu dedykowany). Użycie: touch plik-do-utworzenia [...]

Programy dla un*xów
murder skrypt powłoki Bash zabijający procesy o zadanej nazwie, coś a la killall(1), napisany z myślą o Solarisach, w których tego programu brakuje
chlink skrypt powłoki Bash zamieniający linki symboliczne ze wskazujących na bezwzględny adres na wskazujące na adres względny - i to najkrótszy możliwy.
remindme skrypt przypominający powłoki Bash, przewidziany dla ludzi pracujących przede wszystkim pod konsolą - czyli dla mnie :]
dial-find skrypt-nakładka, ułatwiający korzystanie z programu find(1); niespecjalnie wiele opcji, ale wystarczająco wiele
reindent skrypt Bash-a uruchamiający program indent(1) z parametrami ustawionymi na moje formatowanie, ze wspomagającym skryptem gawk(1), doformatowującym niedociągnięcia indenta
Extended Slackware pomysł na ulepszenie mojej ukochanej dystrybucji Linuksa. "Zastępnik" pkg_tools, które tu kiedyś były.

Programy w źródłach
Zmiana podstawy liczby prosty programik pobierający liczbę zapisaną w systemie o jednej podstawie, a wypisujący ją w systemie o innej podstawie
Wyznacznik macierzy progz obliczający wyznacznik macierzy całkowitej NxN metodą permutacyjną (od razu przykład algorytmu liczenia wszystkich permutacji)
Sortowanie stogowe o złożoności kwadratowej fajna rzecz nie mojego autorstwa - przykład, jak można skutecznie spowolnić szybki algorytm ;)
Słownik pl-en en-pl bez bazy słów (czyli najważniejszej części), ale można tego użyć w zasadzie jako słownika dowolnych języków

Programy napisane na zajęcia
Treść zadania napisz parę programów klient-serwer, przesyłającą plik przy pomocy pamięci dzielonej, komunikatów i kolejki FIFO
Rozwiązanie zadania ale żeby nie było łatwo, to tu jest serwer przesyłający jeden plik jednemu klientowi i klient pobierający jeden plik od serwera. Resztę musisz sam dorobić, co jednak nie powinno być specjalnie trudne
Treść zadania zaimplementuj następującą sytuację: w domku mieszka N < 100 filozofów, którzy chodzą po domu i myślą. Jak któryś wymyśli, że jest głodny, idzie do kuchni, w której mieści się najwyżej 20 osób. Siedząc w kuchni próbuje usiąść przy pięcioosobowym stole. Gdy usiądzie, czeka na dwie wolne pałeczki (między każdymi dwoma krzesłami jest jedna, a jedną nie da się jeść). Filozof jest leniwy, więc nie wstaje, żeby podnieść inne pałeczki niż te, które leżą obok niego. Jak filozof się naje, wstaje od stołu i wychodzi z kuchni
Rozwiązanie zadania ale żeby znów nie było zbyt łatwo, czekanie na zwolnienie zasobów odbywa się przy pomocy pętli while (zablokowany) ;, która jest niesamowicie procesorożerna. Powinieneś to zmienić przed wykorzystaniem (na przykład dodać usleep())

Wszystkie te programy udostępnione są jako freeware, a programy w źródłach pod licencją GPL. Możesz zatem używać ich oraz ich kodu źródłowego nawet do zaliczenia informatyki (choć w tym wypadku chciałbym wiedzieć, że się przydałem i proszę o e-mail: dozzie[at]irc.pl).


Powrót do indeksu strony