- Narzędzia uniksowe
- Łaty
- Irssi
- Mikrokontrolery i elektronika
- Stare czasy DOSa
- Zabawki
- Pozostałe
- Abandonware
Różne programy, napisane najczęściej z potrzeby chwili w celu wykonania konkretnego zadania. Chodzą (w większości) pod linuksem, ale po drobnych zmianach (a najczęściej bez zmian) powinny pójść też na innych systemach zgodnych z POSIX-em. Część powinno dać się przenieść nawet na nieposixowe systemy (np. Windows), ale nie podejmuję się tego :)
- ekg
Otwarty klient Gadu-Gadu dla systemów uniksowych. Open-sourcowy projekt rozpoczęty 25 sierpnia 2001 r. przez Wojtka Kaniewskiego jako próba otworzenia świata Gadu-Gadu dla klientów innych, niż oryginalne Gadu-Gadu (tak, inne komunikatory, umożliwiające łączenie się z tą siecią, korzystają z opisu protokołu stworzonego przez autorów ekg) i napisania Gadu-Gadu dla uniksowej konsoli. Eksperyment zakończył się powodzeniem. Praktycznie od początku śledziłem jego losy, od 17 listopada 2004 jestem w zespole programistów a 5 kwietnia 2006 zostałem koordynatorem projektu. Najnowszą wersję ekg w postaci tarballa można pobrać stąd. - theremin.tar.gz
Theremin dla X-ów. Więcej informacji po wpisaniu tego słowa w Google. Ruszanie myszą w pionie powoduje zwiększanie głośności, w poziomie - zmianę częstotliwości. Do kompilacji wymaga g++, libX11, libpthread oraz alsy. - libppm
Biblioteka do obsługi plików PPM. Więcej informacji na jej stronie. - progress.c
Maleńki filtr (stdin/stdout) pokazujący postęp przesyłania danych (ile już zostało przesłanych i z jaką prędkością). Przydatne podczas kopiowania plików. Wymaga pthreads. - rotassist.tar.gz
Program przydatny podczas obracania obrazków z command line, np. przy pomocy imagemagick. Dostaje rozmiar obrazka (lub referencyjny punkt obrotu) oraz współrzędne dwóch punktów na linii, która jest krzywa, a powinna być prosta. Opcjonalnie może też dostać hinta, czy linia ma być pionowa czy pozioma. Wypluwa kąt w stopniach (lub radianach), o jaki należy obrócić obrazek. Program dostępny jest także online: http://www.chmurka.net/p/rotassist/. - fpstat.c
Narzędzie służące do wyświetlania postępu w pracy z plikiem przez inny program. Przydatne, jeżeli jakiś program czyta duże ilości danych z jakiegoś pliku i nie widać postępu. Program prawidłowo działa tylko pod Linuksem, poza tym wymaga w miarę nowego (2.6.25 i nowsze) jądra. - simplehist.tar.gz
Bardzo prosty generator histogramów rozkładu luminancji. Dostaje na stdin zdjęcie w 24-bitowym formacie PPM (np. z dcraw) i wypluwa na stdout jego histogram luminancji, też w postaci 24-bitowego PPM. Przydatne do oceny kontrastu i ekspozycji zdjęcia, szczególnie w "cyfrowej ciemni". Współczynniki wagowe dla kanałów podczas obliczania efektywnej luminancji: czerwony 30%, zielony 59%, niebieski 11%. Aktualizacja: Program do tworzenia histogramów jest dostępny także jako jeden z przykładów dołączonych do biblioteki libppm. - myrss.phps
Personalny agregator RSS, umożliwia stworzenie listy stron, na których każda zmiana będzie odzwierciedlana w czytniku RSS. Sposób użycia znajduje się w komentarzu na początku. - pal.c
Nieprzenośne narzędzie dla Linuksa na x86 i karty VGA, obsługujące paletę trybu tekstowego (16 rejestrów po 3 bajty). Potrafi zsynchronizować ją w obie strony między kartą a stdio. Wymaga uprawnień roota lub możliwości dostępu do przestrzeni wejścia/wyjścia (CAP_SYS_RAWIO). Pewnie są jakieś ioctle, ale tak było mi wygodniej :) - turbo.c
Booster procesów. Przyspiesza uruchamiany przez siebie proces uruchamiając go w schedulerze wywłaszczającym inne procesy z kolejki wykonania procesora, z najwyższym priorytetem (renice) oraz ze stronami VMA zablokowanymi w pamięci fizycznej. - rev.c
Malutkie narzędzie służące do odwracania zawartości pliku. Przydatne do zabawy w badania nad mową odwrotną. Nie nadaje się do strumieni, oba pliki (wejściowy i wyjściowy) muszą być mapowalne (man 2 mmap). - tinystumbler.tar.gz
Malutki network stumbler dla systemów typu BSD. Przetestowany na NetBSD na Jornadzie (NetBSD/hpcsh), ale powinien chodzić na każdym systemie typu BSD a po dopasowaniu includów także na Linuksie. Loguje do pliku /home/gophi/tinystumbler.log (można zmienić w log.h). Jak każdy stumbler wifi, służy do znajdowania punktów dostępu do sieci bezprzewodowej na mieście. Napisany z potrzeby chwili - kismet to za duży bloat a wistumbler2 nie działa. Oprócz tego jeśli szukasz malutkiej implementacji obsługi terminala ansi (bo ncurses to dla twoich potrzeb za duży bloat), to być może implementacja z tego stumblera będzie ci odpowiadała. Potrafi wyczyścić ekran, wyczyścić aktualną linię (od kursora do końca), wypisać znak lub sformatowany string, przejść do konkretnej pozycji, zwrócić rozmiar ekranu i w końcu ustawić atrybut (kolor, pogrubienie itd). Nie posiada implementacji zmiany rozmiaru terminala, ale jak komuś zależy to wystarczy zainstalować swój sighandler i wywoływać metodę Resize() z instancji klasy CAnsi. C++, ale bardzo łatwo można przerobić na C. - hpcbeep.tar.gz
Malutki program umożliwiający beepanie głośnikiem wbudowanym w handhelda Jornada 6x0 (680, 690) chodzącego pod kontrolą NetBSD. Napisałem jako wstępny program testujący przed napisaniem drivera dźwięku w jądrze, ale z braku czasu (i średniej przydatności dźwięku na hpcsh) driver czeka ze skończeniem na lepsze czasy (czyt. nigdy - przeniosłem się na PocketPC - SPV M3000). - follow.c
Maleńkie binarne narzędzie odpowiadające tail -f z -n ustawionym na nieskończoność. Przydatne kiedy chcemy w ciągły sposób przesyłać aktualnie ściągane binarne dane do innego programu, a nie mamy dostępu do strumienia wyjściowego ściągającego programu. - soundanl.c
Konsolowy analizator sygnału. Pokazuje maksymalną chwilową moc sygnału (peak power), współczynnik przesterowania (czyli liczbę próbek znajdujących się w pasmie odcięcia) i średni offset (DC bias) sygnału. Napisane jako narzędzie pomocne w nagrywaniu wszelkiego rodzaju rzeczy (głównie dźwięku) pod linuksem. Przykład użycia: rec -t raw -r 44100 -c 2 -s w -f s - 2>/dev/null | tee sound.raw | soundanl. - kextract.tar.gz
Program do wyciągania plików z archiwów .grp używanych w grach opartych na silniku Build (np. Duke Nukem 3D, Shadow Warrior, Redneck Rampage itd.). - bintoc.c
Prosty konwerter plików binarnych na postać tablicy w C/C++. Pierwszy argument ustawia liczbę tabulatorów podczas indentacji, na stdin powinny pojawić się dane binarne a na stdout jest wypluwany kod. - dhb.c
Prosty konwerter liczb między różnymi systemami liczbowymi. Obsługuje systemy o podstawie 16, 10, 8 oraz 2. W abandonware jest wersja dla interpretera Mobile BASIC (chodzi na komórkach z obsługą midletów Javy, nawet MIDP/1.0). - socksfwd.c
Malutkie, anonimowe proxy SOCKS 5. - socks.c
Tunel przez anonimowe proxy SOCKS 5, umożliwiający wiele połączeń (także jednoczesnych). - screenaction.c
Narzędzie służące do wykonywania określonych czynności po attachowaniu / detachowaniu sesji screena. Oryginalnie miał służyć do ustawiania stanu dostępnego i zajętego w ekg w zależności od obecności użytkownika (nie dla mnie), ale jest bardzo konfigurowalny. Wystarczy określić akcje i uruchomić program w tle. - randcat.c
Random Cat. Coś jak cat, ale losuje kolejność konkatenowania (trudne słowo) poszczególnych plików, podanych w linii poleceń lub opcjonalnie na stdin. Napisane na szybko w celu losowego odtwarzania mp3 przez ssh (mp3 na serwerze dostępnym po ssh). Jak dostanie po łbie sygnałem SIGHUP, to przestanie przerzucać aktualny plik i zacznie przerzucać następny. Przydatne do zmieniania ścieżek :) Jest też opcja rekurencyjnego przeszukiwania katalogów oraz continuous play - prosty tryb losujący (bez historii) pliki do odtworzenia. Przykład użycia: ssh serwer randcat -v 2 -c mp3/ | mpg123 -b 64 - (loguje się na serwer, wywołuje randcat na plikach mp3 i przerzuca strumień przez rurkę do mpg123). Tak, ja wiem, są lepsze rozwiązania (NFS albo chociażby sshfs, czy różne serwery dźwięku). Ale nie zawsze się chce albo da. Więcej informacji zwróci randcat -h. - mem.c
Narzędzie do manipulacji pamięcią fizyczną pod uniksami. Napisany do testowania i debugowania obsługi dźwięku na NetBSD/hpcsh (w SH3 rejestry są sprzętowo mapowane w fizycznej przestrzeni adresowej). - mkpls.c
Make playlist do winampa i xmms, prosty i napisany bardzo na szybko, umożliwia słuchanie wszystkich plików z danego katalogu i podkatalogów. Przykład użycia na Linuksie: find -name "*.mp3" | mkpls http://www.jakiś-host/jakiś-katalog > playlista.pls. Potem wystarczy tylko otworzyć z sieci utworzony plik pls i player będzie streamował wszystkie mp3ki z sieci. Napisane dla potrzeby chwili, ale działa. - ws.c
Wordstat. Narzędzie do tworzenia statystyk używania słów w pliku. Obsługuje pracę z stdin/stdout, sześć różnych sposobów sortowania wyniku (co umożliwia zrobienie statystyk zarówno najczęściej jak najrzadziej używanych słów), ograniczenie liczby wyplutych słów, wyrównanie wyjścia do rozmiaru najdłuższego wypluwanego słowa, edytowanie listy znaków rozdzielających wyrazy, wejście w standardzie Unix (CR) i DOS/Windows (CRLF), wejście z pliku, rozszerzone wyrażenia regularne, separatory w stylu awkowego -F, dopisywanie do pliku wynikowego (jako opcję) i ignorowanie rozmiaru znaków. Przy tym waży tylko ok. 600 linii (ok. 15 kB). - ipcalc4.c
Kalkulator ipv4. Potrafi zamieniać między sobą postacie dotted-quad (np. 127.0.0.1), dec (2130706433), hex (7F000001) oraz słowne (dwa jeden trzy zero siedem zero sześć cztery trzy trzy) adresów ipv4. - quotefix.c
Narzędzie służące do naprawiania popsutego przez różne czytniki news i programy pocztowe cytowania. Bez problemu można podłączyć jako filtr do edytora (używam z powodzeniem z nano w tinie). - randmux.c
Trywialnie prosty powielacz entropii. Przydatny, kiedy źródło entropii nie wyrabia się w czasie i tworzenie entropii wejściowej dla algorytmów kryptograficznych trwa zbyt długo (i napisany właśnie w tym celu, po ponad dobie czekania na zakończenie generowania entropii wejściowej do zaszyfrowania aesem - 60 GB do wygenerowania na Pentium 150, ok. 150 kB/s, po powieleniu ok. 4,5 MB/s). Nie posiada własnego źródła entropii, więc w funkcji danych wejściowych jest deterministyczny. Wynikowy strumień będzie miał BSZ * sizeof unsigned long int (makrodefinicja w źródłach) razy mniejszą entropię niż źródłowy (w oryginale BSZ wynosi 10000), więc do silnej kryptografii się nie nadaje. - reaper.c
Narzędzie służące do liniowego przeszukiwania strumienia danych binarnych. Przydatne (i w tym celu powstało) podczas odzyskiwania (możliwie niepofragmentowanych) danych z dysków z uszkodzonymi nagłówkami systemu plików (albo np. uszkodzonych kart pamięci). Aktualna wersja szuka plików jpg i cr2 (Canon RAW), ale można to dostosować w źródle. - dumper.c
Drugie narzędzie stworzone z potrzeby chwili do odzyskania danych z uszkodzonego dysku. Odpowiednik dd bs=1 skip=n kopiujący dane blokami a nie bajtami. - loggit.c
Małe narzędzie służące do pobierania fragmentów logów przyrostowych. - fdstat.c
Listuje procesy, które mają pootwierane pliki na określonym systemie plików, w określonym katalogu itp. Bardzo wiele brakuje mu do doskonałości, ale podstawowe zadanie spełnia. Napisałem, bo wyleciała mi z głowy nazwa lsof. - rot.c
Koder rotacyjny z możliwością ustawienia kodowania początkowego, przyrostu kodowania, kierunku oraz resetowania się przy nowej linii. - unrot.c
Prosty dekoder rotacyjny, wykorzystujący prostą analizę głosek do automatycznego rozpoznania użytego przesunięcia. Dobrze zaczyna sobie radzić w dłuższych (kilkadziesiąt znaków) tekstach. - minispool.tar.gz
Mały spool, służący do wysyłania artykułów na newsy w mode reader. Umożliwia podłączenie do newsfeeds inna. - mread.c
Prosty, napisany na szybko (i bardzo chaotycznie) czytacz artykułów po Message-IDs. Obsługuje wiele serwerów oraz transfer-encoding 8bit i QP (zamieniając to ostatnie na 8bit). - roster.c
Bardzo prosty konwerter rostera z formatu wysyłanego przez Jabber GG Transport do postaci zdatnej do wklejenia do XMLowej konsoli. - respawn.c
Prosty respawner procesów pilnujący, żeby podany w linii komend program (wraz z argumentami) po zakończeniu był uruchamiany ponownie, ale nie częściej niż co (domyślnie) pięć sekund. - tcptop.c
Miernik pasma zajmowanego przez userię na Linuksie i interfejsach ethernetowych. Przy dużym ruchu trochę obciąża system, bo z każdego wyłapanego segmentu TCP wyciąga adresy i porty i porównuje ze zgromadzoną z /proc/net/tcp bazą, żeby znaleźć użytkownika, do którego należy przesyłające dane gniazdo. - hamxtract.c
Mały tool pomagający w importowaniu grup dyskusyjnych z Hamstera do inna. - tcptrace.c
Program do śledzenia połączeń tcp i pokazywania, kto otworzył każde z nich. Coś jak ident, ale wyświetla na terminalu zamiast podawać po zapytaniu auth. - blogcomments.sh
Przeraźliwie prosty skrypt uruchamiany z crona, wysyłający na maila informację o tym, czy ktoś skomentował którąkolwiek notkę na wybranym blogu w serwisie blog.pl. O tyle przydatne, że blog.pl nie umożliwia czegoś takiego, szczególnie jeśli nie jest się autorem danego bloga. Nie umożliwia blokowania (lockfile), więc nalezy ustawić odpowiednio długi czas w cronie (u mnie dla paru blogów działa co godzinę).
Łaty na różne wersje różnych programów.
- linux-2.6.14-arcanix.patch
Patch na jądro używany w systemie diagnostycznym Arcanix. Dodaje sysctla dev.genhd.genhd_show_sys_ind, po włączeniu którego w /proc/partitions jest dostępny typ partycji - to ułatwiło napisanie pracującego w userlandzie konfiguratora zasobów. Wprawdzie Arcanix jest zamkniętym i komercyjnym projektem, ale GPL wymaga udostępnienia tego patcha. - linux-2.4.31-gophi.patch
Używany przeze mnie na przez pewien czas patch na jądro Linuksa 2.4.31. Naprawia konsolidację obrazu jądra na starym gcc, dwukrotnie zwiększa pule entropii w generatorze liczb pseudolosowych, zwiększa liczbę przeskakiwanych PIDów po przepełnieniu podczas forka z 300 na 1000, blokuje użytkownikom możliwość podglądania nieswoich procesów, dodaje /bin/bash do listy procesów inicjujących (trochę większa szansa uratowania naprawdę popsutego systemu w razie braku możliwości przekazania parametrów do jądra), dodaje trochę informacji do komunikatów wypisywanych podczas kernel panic oraz blokuje wypisywanie na konsolę komunikatu na temat przekroczenia czasu oczekiwania na transmisję po ethernecie (informacja mimo tego idzie do dmesga i jest logowana). Od kiedy avenger pracuje na 2.6, nie rozwijam już tej łatki a nowa jest na razie za mało przetestowana, żeby tutaj wrzucić. Może kiedyś :) - ircd-hybrid-7.1.0-gophi.patch
Patch na Hybrid IRCd w wersji 7.1.0, używany przeze mnie na irc.chmurka.net. Sprawia, że użytkownik po połączeniu od razu automatycznie joinuje na kanał #dupa, oprócz tego uniemożliwia joinowanie na inne kanały i dodaje przekodowywanie charsetu wejściowego z CP-1250 na ISO-8859-2 (w drugą stronę nie bo nigdy nie wiemy, czy ktoś chce ISO czy CP, niech się klikacze męczą ;)). Autojoin oraz uniemożliwienie wchodzenia na inne kanały zabezpieczają przed postawieniem na chmurce ddosnetu. Tak, ja wiem, -DTRANSCODE_WIN_TO_ISO jest dodane w bardzo brzydki sposób i powinno być dodane gdzie indziej, ale to było robione bardzo na szybko. - ircd-hybrid-7.2.2-gophi.patch
Robi to samo, co poprzedni patch, tyle że jest w wersji na Hybrid 7.2.2. Jedyna różnica jest taka, że nie konwertuje polskich znaków - pomysł się nie sprawdził, za to nakłonienie wszystkich do przejścia na UTF-8 sprawdziło się znakomicie. Dodałem do niego także automatyczne opowanie osoby pasującej do wzorca po joinie - taka malutka wersja serwisów, pomagająca w przypadku bezopia. - irssi-0.8.10-ctcp-version-nick.patch
Patch na irssi 0.8.10 umożliwiający stworzenie /set ctcp_version_reply zawierającego nick osoby, która zrobiła ctcp (nick oznaczamy w postaci %). Quick, dirty, ale działa. - friends-2.4.9.patch
Łat na skrypt friends shasty, dodający revenge_mode 4 (deop and kickban user bez nadawania flagi +D). - bashhist.patch
Łata na basha umożliwiająca logowanie wszystkich wpisywanych przez userów komend w odpowiednim pliku (który powinien posiadać atrybut append-only), oprócz tego logowany jest czas wpisania polecenia, user, pid i cwd. Wersja nieodporna na spoofowanie itd. Przydatne na prywatnej, domowej maszynie bez kont. Pomysł i pierwsza wersja by wojtekka. - bashhist-multi.patch
Łata na basha jak powyżej, ale odporna na spoofing. W tym przypadku przygotowanie jest trochę trudniejsze - katalog z logami (domyślnie /var/log/hist/) powinien zawierać po jednym pliku dla usera. Nazwa pliku to username, tryb 0200, właściciel to user, atrybut append-only. Przydatne na maszynie z wieloma userami. Jeśli uid, z którego chodzi bash, nie wskazuje na żadnego użytkownika (bo np. zrobiliśmy userdel) to polecenia będą logowane w pliku #uid, np. #1000. Pomysł i pierwsza wersja jak wyżej. - wordpress-2.5-comment-nospam.patch.gz
Prosty patch eliminujący praktycznie 100% spamu w komentarzach na blogach WordPress. Jest to połaczenie metody I i II opisanych na WaLLacE.blog. Oczywiście należy wyedytować wp-comment-post.php zamieniając mój adres e-mail na swój (lub w ogóle usuwając raportowanie odrzuconych komentarzy).
Wprawdzie nigdy nie uczyłem się perla, ale na tyle, na ile człowiek może zrozumieć ten niezbyt skomplikowany język skryptowy czytając inne skrypty, cośtam udało mi się popełnić. Poprawki mile widziane.
- nopl.pl
Skrypt w perlu do irssi, usuwający z otrzymywanych wiadomości polskie znaki. Obsługuje zarówno kodowanie ISO-8859-2 jak Windows-1250, można go nawet nauczyć umieszczania tekstu z polskimi znakami w jakichś tagach, np. żółwiątko może zostać zamienione na <pl>zolwiatko</pl>. Przydatne jak ktoś ma terminal nie obsługujący polskich znaków (np. karta Hercules Monochrome z oryginalnym generatorem znaków - mam jeszcze taką z czasów, kiedy EGA była luksusem :)). Nie musisz ściągać stąd, jest w repozytorium skryptów na stronie irssi. - nopokemon.pl
Skrypt do irssi zamieniający emotki xP i xD na ich dwukropkowe odpowiedniki. Nie pytajcie do czego - nie dla mnie :)
Głównie (na razie właściwie tylko) AVR.
- Bikero
Proste, oparte o mikrosterownik AVR urządzenie elektroniczne wyświetlające tekst, aktualną prędkość i co jeszcze sobie babcia wymarzy na kole roweru podczas jazdy. - Ticplay
Pozytywka na AVR w pudełku po tiktakach. - rgb.tar.gz
Coś jak lprgbd, tyle że implementacja w assemblerze AVR (użyty mikrokontroler, ATtiny12, ma za mało zasobów - głównie trzypoziomowy stos - żeby programować go w C). Program przy pomocy PWM steruje trzema segmentami diody RGB. Mój pierwszy program w assemblerze mikrosterownika AVR :) - note.tar.gz
Odtwarzacz melodii na AVR ATmega8 z kwarcem 8 MHz, napisany w C. Po zdefiniowaniu tablicy nut zgodnej z formatem XP (Extended Pattern) z programu FastTracker II odtwarza tą tablicę z zadanym tempem. Do odtwarzania dźwięku wykorzystuje funkcję CTC jednego z timerów AVR. Przetwornik piezo powinien być podłączony między piny OC1A i VCC. Domyślnie tablica jest wypełniona melodią z piosenki Sum 41 - Pieces. Gdyby ktoś potrzebował gotowego playera, to wystarczy zlinkować się z player.o i wykorzystać interfejs player.h. UWAGA: Tablica powinna znajdować się w przestrzeni programu (avr/pgmspace.h), a nie w pamięci roboczej. - bom.c
Generator listy elementów (Bill Of Materials - BOM) z pliku PCB w formacie AutoTrax (PCB 4). Na stdin należy wpuścić plik pcb, na wyjściu program zrobi listę elementów w formacie Oznaczenie (pattern): Wartość, np. R1 (AXIAL0.4): 100. - ruler.pcb
Linijka wyskalowana w milsach (1000 mils = 2.54 mm) w formacie Protel AutoTrax 1.61 (PCB 4). Jeśli nie wiesz co to jest to i tak do niczego ci nie jest potrzebne. - avrport
Skrypt do obliczania wartości PORT i DDR w AVR na podstawie zaznaczonych radiobuttonów.
Czyli pisanie pod DOSa i Windows.
- editpal.zip
Edytor palety trybu VGA 13h z paroma fajnymi (jak na pisanie go ok. ośmiu godzin) opcjami jak undo, kopiowanie całości rejestrów lub wybranych składowych, uśrednianie składowych, tworzenie płynnych przejść między odcieniami przy pomocy interpolacji liniowej, pokazywanie oryginalnych wartości rejestrów, operacje na blokach lub wybranych rejestrach, fading całej palety lub wybranych obszarów itp. Myślę że obowiązkowe narzędzie dla każdego, kto programuje grafikę w trybie VGA 13h lub w innym trybie paletowym z paletą zgodną z 13h (to w epoce 24bpp True Color są jeszcze tacy fanatycy?), może być także przydatny do utworzenia odpowiedniego odcienia w RGB, np. do wklejenia do kodu HTML (wtedy obliczone wartości rejestrów należy pomnożyć przez 4, bo tryb 13h obsługuje tylko 6 bitów na subpiksel). Dołączone źródła (Netwide Assembler). - efnet-pl.zip
Proxy dla mIRCa sprawiające, że polskie znaki wyglądają jak polskie znaki. Napisane jeszcze w czasach zabawy w irca i współpracy z siecią efnet. Automatycznie przekodowuje znaki podczas połączenia z serwerem IRC, posiada wbudowany serwer identyfikacji i możliwość samoczynnego określenia nazwy użytkownika (jeśli to konieczne, opóźnia połączenie z serwerem IRC do czasu otrzymania tych danych od mIRCa), ale można je skonfigurować nawet jako proxy Usenetowe albo dowolnego innego protokołu opartego o TCP. Dołączony plik exe, instrukcja obsługi w pliku tekstowym i kod w C. Oryginalnie kompilowany przez Open Watcom. - supersnake.zip
Prosta, napisana dawno temu gra, oparta na starym jak świat Snake, czasami nazywanym Nibbles. Dla DOSa, napisana bardzo dawno temu w Turbo C++ 3.0. Z powodu bezpośredniego odwoływania się do sprzętu, pod Windowsami z serii NT (czyli NT 4.0, 2000, XP i Vista) nie działa dźwięk (ani muzyka gry ani efekty specjalne, generowane przy użyciu syntezatora MIDI). - rgbsym32.zip
Bardzo prosta symulacja działania pewnego tajnego projektu dominacji świata ;) Dołączony kod w C, plik txt opisujący w skrócie klawiszologię i działanie, plik wykonywalny (exe) oraz dos4gw.exe - extender trybu chronionego DOSa, niezbędny do uruchomienia programu (podziękujcie wadliwej emulacji koprocesora w emulatorze trybu rzeczywistego Windows 2000). Powered by Watcom. Jest też wersja w assemblerze mikrokontrolerów serii MCS 51 (AT 89C2051), chodząca w urządzeniu z diodą RGB. - fdrw.zip
Narzędzia do zapisywania i odczytywania surowego diskimage (obrazu) z dyskietki (dla DOSa), razem z kodem źródłowym w assemblerze.
Najróżniejszego rodzaju, od PoC po całkiem pożyteczne.
- diskplay.zip
Stworzony na szybko odtwarzacz melodyjek na stacji dyskietek. Po włożeniu dyskietki do stacji manipuluje głowicą w rytm melodii Alphaville - Big in Japan. Póki co chodzi tylko pod DOSem i nie umie odtwarzać mp3, mimo ze algorytm mniej więcej mam już opracowany :) Może kiedyś... - combat.asm
Przykład pokazujący, że stworzenie pliku, który można uruchomić jako COM lub BAT jest możliwe. Program wyświetla stosowny komunikat w zależności od tego, czy zostanie uruchomiony jako COM czy jako BAT. Netwide Assembler. - emotka.txt
Program w kodzie maszynowym x86, wyświetlający na ekranie emotkę. Przed wyświetleniem emotki kilkanaście razy modyfikuje się w pamięci, dokonując przekształceń arytmetycznych i logicznych na swoim kodzie. Wersja w kodzie maszynowym i przepisana potem do assemblera. - fpu.zip
Trójwymiarowa, kolorowa demonstracja możliwości koprocesora arytmetycznego, pracująca w trybie tekstowym. Wykorzystuje uproszczoną wersję algorytmu śledzenia promieni (raytracing) do tworzenia realistycznego, trójwymiarowego obrazu na podstawie dwuwymiarowej mapy. Program właściwie na zaliczenie systemów mikroprocesorowych w szkole, z czasów technikum elektronicznego. Miał mi podnieść ocenę końcową, ale tak się złożyło, że nie oddałem. Netwide Assembler. - text3d.zip
Coś jak fpu.zip, ale wszystkie obliczenia opierają się w nim na arytmetyce stałopozycyjnej a obliczenia sferyczne korzystają z podręcznej pamięci wartości funkcji trygonometrycznych, obliczanych przed rozpoczęciem renderowania. Generalnie nic ciekawego, napisane dawno i w ogóle jakoś tak dziwnie. Dostępna jest wersja w assemblerze i C. - softmirror.tar.gz
Prościutki renderer 3D z implementacją luster. - lprgbd.tar.gz
Line Printer Red-Green-Blue Daemon. Coś, co chodzi na niejakim slipim i sprawia, że ten komputer jest do czegokolwiek przydatny ;) Z kupioną za 3 zł diodą RGB, podpiętą przez rezystory ograniczające prąd (kupione za kolejne 11 groszy) do portu drukarkowego (żeby było ciekawiej, umieszczonego na karcie graficznej Hercules - ktoś jeszcze to pamięta?) sprawia, że mam w pokoju świąteczny nastrój przez cały rok. Promocja ;) Kilka fotek tutaj, ale fotki niestety nie oddają całego klimatu, np. możliwości pracy jako stroboskop po odpowiednim dobraniu wypełnień - właśnie sobie to włączyłem :) Jedyne, czego mu brakuje, to generatora PWM płynnie zmieniającego jasność diody, ale wszystko w swoim czasie. Niestety kod nie jest przenośny - przez fakt wykorzystywania ioperm, schedulera, outb i innych mrocznych rzeczy będzie chodził prawidłowo tylko na architekturze x86 i Linuksie. Natomiast dzięki wywłaszczaniu innych procesów z kolejki wykonania, gdy nastanie ten magiczny moment, że trzeba zmienić kolor, jest bardzo stabilny i nawet przy dużym obciążeniu systemu utrzymuje stałą prędkość blinkania diody. Posiada też tryb pracy manualnej, w której kolor jest wybierany sygnałami. Szczegóły + informacje na temat kupienia i podłączenia diody w manualu. - ph.patch
Bardzo prosty patch na ph.s - serwer http napisany przez Wojtka Kaniewskiego w assemblerze. Patch dodaje wywołanie syscalla fork(2) na początku programu tak, że program po uruchomieniu przechodzi w tło. Sztuka dla sztuki :) - l33tscreen.c
Zabawka zabierająca dla screena najlepszy pid w systemie :) - rw.c
Moduł do jądra Linuksa 2.4, zamieniający miejscami syscalle read(2) i write(2). Nie potrzebujesz. - wyrazy.c
Transkoder wypowiedzi. - mieszacz.c
Prgroam, krtóy protfai masiezć wyarzy tak, że można je prcyezatzć mimo peinizgemnaoo syzku lteir (dzęiki tmeu np. wiwsakzkuyri iwrnoetnete nie zdjuansekią proaipwne tketsu). Wiem że Jamie Zawinski napisał coś podobnego. - skygen/
Generator obrazów nieba. Przynajmniej jedna osoba używa jako tapety :D - haslamacz.c
Łamacz haseł. Łamie parzystokopytne hasła na pół.
Miscellanea (dobrze napisałem?).
- wouxun.tar.gz
Linuksowe narzędzie do programowania krótkofalarskich transceiverów firmy Wouxun - działa na KG-UV2D i KG1UVD-P (id KG669V). Program powstał na podstawie danych zgromadzonych przez Baseciq-a. - proxy.pac
Skrypt automatycznej konfiguracji przeglądarek internetowych w sieci Aster do pracy z proxy w3cache.icm.edu.pl w sytuacjach, kiedy taka praca poprawi wydajność ściągania i szybkość otwierania stron. Odkąd Aster zniosło podział na prędkości w WIXie i poza nim, skrypt już nie robi nic szczególnego, może tylko przyspieszyć ściąganie w przypadku, gdy ICM ma lepsze połączenie z maszyną docelową, niż Aster. - chain.zip
Chainloader, który można umieścić w pliku i dać do wczytania loaderowi Windows NT tak, żeby docelowo został wczytany i uruchomiony MBR określonego napędu. Quick and dirty, ale 10 minut poświęconych na napisanie go to na pewno mniej niż czas, który poświęciłbym na dochodzenie, dlaczego na jednej maszynie po skopiowaniu MBR z gruba do pliku i próbach wczytania go przez loader Windows NT wszystko idzie w restart (ja wiem, pewnie jest jakieś proste rozwiązanie, ale wolałem napisać sobie coś takiego niż tracić czas na szukanie). Prosty, ale działa. Naturalnie dołączone źródła (Netwide Assembler).
Czyli programy, które kiedyśtam powstały, jakośtam działają, ale nie podejmuję się wspierania ich w jakikolwiek sposób (przynajmniej nie na trzeźwo).
- ghist.tar.gz
Generator histogramów. Analizuje dane PPM i wypluwa histogramy dla wszystkich kanałów (osobno i jeden zbiorczy), histogram uśredniony i histogram luminancji. Tworzy też parę statystyk i sugeruje korekcję gamma (nieprawidłowo, ta funkcjonalność nie działa tak jak powinna). Wymaga libx11. Jeżeli nie wiesz do czego może ci się to przydać (ani termin "robienie RAWów" nie kojarzy ci się z niczym oprócz surowego mięsa), to nie potrzebujesz. - ircproxy.c
Najprostsze irc proxy z autoryzacją po ip oraz auth (ident). - mproxy.c
Wersja ircproxy obsługująca wiele połączeń. - dhb.bas
Odpowiednik programu dhb (dec-hex-bin) napisany dla interpretera Mobile BASIC w komórkach (pisany na Nokii 3510i, potem używany przez jakiś czas na 6020 i 6230i). - mlotki.zip
Myszolotki. Never ask, never tell.
