Krótko o mnie:
Urodzony w 1983 roku, aktualnie mgr inż. Matematyki Stosowanej.
Oprogramowanie, którego używam lub polecam:
Systemy operacyjne:
![[FreeDOS]](rsrc/freedoslogo.png)
Przeglądarki WWW:
Poczta:
Komunikator:
- Jabber (klient: Psi, dostępny z podanej strony),
bo cenię sobie otwartość i bezpieczeństwo.
Środowisko graficzne:
Kryptografia i zabezpieczenia (poza przeglądarką, pocztą i komunikatorem):
Strony o ochronie prywatności:
Pakiet biurowy:
Multimedia:
Inne:
Języki, w których programuję: asembler dla procesorów x86, C, Fortran 77 (dawniej),
Java®,
PHP,
Perl.
Kompilatory, których używam: NASM,
FASM,
kompilatory GNU,
Java Sun/Oracle.
Moje działania na rzecz wolności oprogramowania (i nie tylko):
- Nie używam systemu Windows™, bo nie respektuje on międzynarodowych standardów
(i ma jeszcze wiele innych wad).
Z tych samych przyczyn radzę opuścić przeglądarkę Internet Explorer, która jest zacofana
w obsłudze standardów sieciowych.
- Nie używam wyszukiwarki Google,
gdyż nie podoba mi się to, co ta firma robi w Chinach.
- Podpisałem petycję przeciw patentom na oprogramowanie oraz jej drugą wersję.
- Podpisałem petycję za powrotem komunikatora Tlen do rodziny Jabbera.
- Propaguję szyfrowane sposoby komunikacji (poczta, komunikator, www).
- Podpisałem list przeciw DRM
- Nie używam obrazków w formacie
GIF ani JPG. Zamiast nich używam zalecanego przez W3C
formatu PNG.
- Używam i promuję otwarte formaty plików:
- ISO-26300
ODF zamiast DOC
- OGG Vorbis zamiast MP3. Nie dość, że
OGG Vorbis jest otwarty, to jeszcze ma lepszy stosunek jakości do rozmiaru.
Zobacz stronę Xiph, by poczytać o innych otwartych formatach.
- Tar+Gzip/Bzip2 oraz 7zip,
czy nawet zwykły ZIP zamiast RAR
- WebM - format wideo
(zobacz też Alliance for Open Media).
- VP9 - format wideo.
- Theora - otwarta kompresja wideo.
Zobacz też stronę Xiph, by poczytać o innych otwartych formatach.
- Musepack (MPC)
- DjVuLibre -
dystrybucja treści i obrazów
oraz międzynarodowe standardy:
- ISO-8859-2 dla kodowania polskich znaków diakrytycznych
- ISO-8601 do zapisu dat kalendarzowych (RRRR-MM-DD)
- zaaprobowany przez IETF (czytaj RFC) protokół
XMPP/Jabber
do komunikacji
- tworzę w prawidłowych
HTML,
CSS,
XML.
- Podpisałem petycję o otwarcie sterowników nVidii
- Nie popieram pomysłu wyposażania komputerów w układy scalone Trusted
Computing Platform, jako że technologia jest zamknięta, co grozi odbieraniem
użytkownikom ich praw (jak choćby zmuszanie do wyboru konkretnego systemu operacyjnego). Zobacz
stronę przeciw TCPA oraz
film poświęcony temu zagadnieniu.
- Podpisałem petycję o używanie otwartych formatów strumieniowych i kodeków w
transmisjach obrad Rady Europy
- Podpisałem petycję przeciw OOXML
i wysłałem w tej sprawie list do Polskiego Komitetu Normalizacyjnego. Potem podpisałem
drugą petycję w tej sprawie.
- Podpisałem list otwarty w sprawie
neutralności technologicznej serwisu iTVP.pl
- Podpisałem Kapsztadzką Deklarację Otwartej Edukacji (link w języku polskim).
- Podpisałem petycję o używanie otwartych technologii w Parlamencie Europejskim.
- Podpisałem Manifest dla klimatu.
- Podpisałem petycję przeciw cenzurze Internetu.
- Podpisałem petycję przeciw porozumieniu ACTA.
- Podpisałem Petycję o nieograniczanie dozwolonych systemów operacyjnych przy starcie.
- Podpisałem Petycję o nieumieszczanie mechanizmów DRM w HTML5.

Czytaj więcej o DRM
- Podpisałem Petycję o nieograniczaniu prawa do linkowania w Intenecie.
- Udostępniam pośrednika Snowflake, aby inni mogli omijać cenzurę Internetu w swoich krajach.
Wystarczy, że klikniesz suwak obok "Enabled" w okienku poniżej (wymagany JavaScript)
i też możesz to robić, bez narażania siebie:
Więcej szczegółów na stronie Snowflake.
Popierane przeze mnie akcje:
- BrowseHappy - popularyzacja
nowoczesnych przeglądarek i technologii sieciowych.

- Bykom STOP! - popularyzacja poprawnej
ortografii w polskim internecie.
![[Bykom Stop!]](rsrc/bykomstop2.png)
- Any Browser -
popularyzacja pisania stron internetowych tak, by działały w każdej przeglądarce.
Nigdy więcej komunikatów w stylu:
Aby poprawnie oglądać tę stronę, musisz mieć przeglądarkę X
!
- Pajacyk
- Polskie serce
- Darmowy ryż
![[Darmowy ryż]](rsrc/FreeRice.png)
- No CO2 - ograniczanie
emisji dwutlenku węgla do atmosfery naszej ocieplającej się planety.
Zasadziłem drzewo.
- Dzień otwartego dostępu
![[Dzień otwartego dostępu]](rsrc/openaccessday.png)
- Okruszek
- Wolność Dokumentów
![[Wolność Dokumentów]](rsrc/docfreeday.png)
- Podaruj Wodę
![[Podaruj Wodę]](rsrc/freepov.png)
- Sojusz
Alternatywnych Przeglądarek
![[Sojusz Alternatywnych Przeglądarek]](rsrc/altbrowser.png)
- Poomoc.pl - kliknij i pomóż

- Ochrona poczty elektronicznej
z GnuPG - krótki kurs. Możecie też przeczytać objaśnienie rodzajów i protokołów szyfrowania (też po angielsku)
Moje projekty Wolnego Oprogramowania (część można znaleźć na podstronie mojego oprogramowania):
- Skrypty Perla i makra, które można znaleźć na stronie programów (lub wersji angielskiej), związane z
językiem asembler:
- Asm::X86 - moduł Perla z procedurami przydatnymi w pracy z asemblerem
- AsmDoc - generator dokumentacji HTML z plików asemblera
- Konwertery plików nagłówkowych języka C na pliki asemblera
- Konwertery programów między składniami kompilatorów FASM, NASM i GNU as
- Makra dla FASMa
- Generator plików Makefile dla FASMa
- Skrypt wspomagający pisanie modułów jądra Linuksa 2.6 w asemblerze
- Zestaw makr dla
Autoconfa, sprawdzające obecność kompilatorów asemblera i ich opcje.
- Asm4Doxy - Skrypt przerabiający pliki źródłowe asemblera z odpowiednimi komentarzami
na składnię pseudo-C, by program Doxygen mógł wygenerować dla nich dokumentację.
Część z tych jest dostępna także na SourceForge: asmosis.sourceforge.io
- WipeFreeSpace - program do
czyszczenia pustego miejsca na partycjach ext2, ext3, ext4, NTFS,
XFS, ReiserFSv3, ReiserFSv4, FAT12, FAT16, FAT32, MinixFSv1, MinixFSv2, JFS, HFS+ i OCFS.
Dostępny także na SourceForge: wipefreespace.sourceforge.io
- LibSecRm - biblioteka przejmująca funkcje
systemowe mogące prowadzić do kasowania danych. LibSecRm zastępuje je własnymi, które
najpierw bezpiecznie (tak, by nie można ich było odzyskać) zamazują dane, które
zostałyby skasowane.
Dostępna także na SourceForge: libsecrm.sourceforge.io
- FMSec - zestaw elementów menu kontekstowego
różnych menadżerów plików, dający
łatwy dostęp do funkcji: bezpiecznego usuwania plików i katalogów, szyfrowania
i deszyfrowania za pomocą OpenSSL,
montowania i odmontowywania zaszyfrowanych dysków za pomocą VeraCrypt, bezpiecznego zamazywania
dysków oraz wolnego miejsca na nich.
Dostępny także na SourceForge: fmsec.sourceforge.io
- JYMAG - odpowiednik programu
My
Pictures and Sounds
służącego do pobierania i wysyłania plików multimedialnych z/do
telefonu komórkowego Sagem.
Dostępny także na SourceForge: jymag.sourceforge.io
- LibHideIP - biblioteka przejmująca funkcje
systemowe mogące prowadzić do ujawnienia adresu IP. LibHideIP zastępuje je własnymi, które
uniemożliwiają poznanie lokalnego adresu IP komputera.
Dostępna także na SourceForge: libhideip.sourceforge.io
- IMYplay - odtwarzacz dzwonków w formacie
iMelody (plików IMY) i konwerter IMY na MIDI.
Dostępny także na SourceForge: imyplay.sourceforge.io
- LibNetBlock - biblioteka przejmująca funkcje
systemowe umozliwiające dostęp do sieci. LibHideIP zastępuje je własnymi, które
uniemożliwiają skorzystanie z sieci przez kontrolowany program.
Dostępna także na SourceForge: libnetblock.sourceforge.io
- Trinventum - oprogramowanie pomagające
w prowadzeniu e-biznesu.
Dostępne także na SourceForge: trinventum.sourceforge.io
- Meqaris - system rezerwacji pokoi
konferencyjnych i zasobów na spotkania w firmie.
Dostępny także na SourceForge: meqaris.sourceforge.io
- KeyParaStocX - to rozszerzenie
LibreOffice,
Apache OpenOffice i
starego OpenOffice.org znajdujące skonfigurowane słowa kluczowe, zmieniające
im styl i tworzące dla nich spis treści (dawniej: "Pożeracz ustaw" lub "PozeraczUstaw").
Dostępny także na SourceForge: keyparastocx.sourceforge.io
- Fronsetia
- aplikacja Web pozwalająca przeprowadzać szerokie testy usług sieciowych
(SOAP), pozwala na modyfikację
surowych danych XML
wysyłanych do usługi i podaje surową odpowiedź XML tej usługi (dawniej:
SOAPServiceTester).
Dostępna także na SourceForge: fronsetia.sourceforge.io
- Parse::H - moduł Perla służący do
prostego parsowania plików nagłówkowych języka C, używany przez moje konwertery
plików nagłówkowych języka C na pliki asemblera.
- Generatory certyfikatów i kluczy -
kilka skryptów (w Bashu, Perlu i PHP, interaktywne i nieinteraktywne) pomagających
w wytwarzaniu certyfikatów cyfrowych oraz kluczy szyfrujących, na przykład do ochrony
poczty elektronicznej.
- Weryfikator adresów e-mail -
sprawdza, czy podany adres e-mail istnieje (jest przyjmowany przez
serwer odbiorcy).
- LastMod - skrypt Perla do wstawiania elementu META
z nagłówkiem HTTP
Last-Modified
do plików HTML. Używany na podstronach
strony głównej (łącznie z tą stroną).
- Atom2Rss - skrypt Perla do konwersji pliku XML kanału
Atom na plik XML kanału
RSS 2.0.
Używany do generowania kanałów na stronie głównej.
- List2Atom - skrypt Perla generujący plik XML kanału
Atom z listy plików
(najnowsze pliki będą na górze). Używany do generowania kanałów na podstronie mojego oprogramowania i podstronie mojego oprogramowania dla asemblera.
- InSyTrack - oprogramowanie umożliwiające śledzenie
przebiegu działania programów (przepływu kontroli i danych) między wątkami, bibliotekami,
językami programowania, a nawet różnymi systemami na różnych maszynach.
Mój udział w innych projektach Wolnego Oprogramowania (poza ich promowaniem i raportami o błędach):
- Tor:
- tłumaczenie większości stron WWW
- jeden program
- poprawki na ich stronach WWW
- znalezienie serwera WWW dla Windows (Savant)
- wiele wpisów (Thunderbird; SVN; Gadu-Gadu; KDE; Yum; FTP, później
też we współpracy z autorem 3proxy)
na stronie Torify HOWTO opisującej, jak konfigurować różne programy tak,
by korzystały z Tora
- kilka drobnych programów, znajdujących się na podstronie dla Tora: kontroler przepustowości, skrypty wstawiające i porównujące
znaczniki czasu w plikach *.po (służących do tłumaczenia), system aktualizacji tłumaczeń
oparty na PHP i system aktualizacji
tłumaczeń oparty na procmailu
- drobne poprawki w instalatorze
- Projekt LSCR - wysłałem im
jeden plik z mojej biblioteki oraz link do moich skryptów Perla. Bardzo się ucieszyli.
- Kate/KWrite: Definicje kolorowania składni,
które można znaleźć na stronie programów.
- TrueCrypt - kilka sugestii odnośnie
wersji dla Linuksa, jedna chyba przyjęta.
- archiwum makr
dla Autoconfa:
Poprawki w makrach AX_GCC_OPTION, AX_C_CHECK_FLAG, AC_PROTOTYPE i
AX_PROTOTYPE
- Apache™ Batik
SVG
Toolkit:
11 wysłanych poprawek kodu, na razie dwie przyjęte
- PortableSigner:
osiem przyjętych (w całości lub części) poprawek kodu oraz polska wersja językowa
- Linux-NTFS
/ ntfs3g-ntfsprogs: 3 wysłane poprawki kodu (jedna przyjęta częściowo, jedna niepotrzebna,
jedna przyjęta)
- HTML Validator dla Firefoksa:
zgłoszenie błędu wraz ze sposobem rozwiązania
- FileZilla®:
poprawki w polskim tłumaczeniu, zgłoszenie błędu wraz z (nieprzyjętą) poprawką,
poprawka na obsługę polskich znaków w SFTP
- Apache Commons Net™:
18 wysłanych poprawek kodu, 14 przyjętych (dwie nieprzyjęte, rozwiązane inaczej)
(NET-314,
NET-320,
NET-327,
NET-333,
NET-350,
NET-351,
NET-352,
NET-353,
NET-356,
NET-357,
NET-397,
NET-462,
NET-465,
NET-468)
oraz pomoc w rozwiązywaniu innych problemów.
Moje wsparcie zostało potwierdzone między innymi w
informacjach o wydaniu 3.0 oraz
informacjach o wydaniu 3.2.
- libsafe: jedna poprawka kodu (umożliwiająca działanie
restorecon z SELinuksa i Firefoksa z libsafe)
- SWIG: jedna wysłana poprawka kodu:
3531520 (dodanie asemblera do listy obsługiwanych języków)
- RxTx: instalator graficzny
dla Windows™ (z wykorzystaniem Nullsoft
Scriptable Install System) oraz instalator tekstowy dla Linuksa (i innych systemów)
- GNU core utilities: zgłoszenie problemu i łata na problem z obsługą buforów w programie
shred
- Moduł Perla App::CPANtoRPM: łata umożliwiająca działanie na systemach z językiem innym niż angielski,
aktualizacja adresów w budowanych paczkach na metacpan
- OpenMandriva: małe łaty na problemy z paczkami RPM, np.
łata na generowanie certyfikatów
- Apache Allura™:
zgłoszenie problemu z linkami i propozycja łaty
- libao:
zgłoszenie problemu z makrem Autoconfa i propozycja łaty
- VeraCrypt:
poprawka błędu wyświetlanego przy tworzeniu wolumenu oraz
poprawka na wyświetlanie PIM i jego ponowne wprowadzanie
- GNU Automake:
poprawki do lub pomoc w wyjaśnianiu błędów:
54063,
33573,
19615
(w załączniku do 60419),
19614,
20077,
54020,
29188,
8362,
24507,
9587,
30556,
20987,
34151,
42393,
44795,
49755,
45205,
55073,
15256,
30612,
31126,
62896.
Moje wsparcie zostało potwierdzone w
newsletterze
FSF.
- wxWidgets:
poprawka kompilacji przy pewnych konfiguracjach (nieprzyjęte, ale rozwiązane inaczej)
- GNU Texinfo:
poprawka niespójności zachowania w texi2dvi (rozwiązane inaczej).
Część nieprzyjętych łat można znaleźć na anglojęzycznej
stronie z moimi łatami.
Moje publikacje lub publikacje, w których brałem udział:
- XVII Konferencja Automatyzacja Dowodzenia
- Konferencja
NATCon 2009 -
Technika i uzbrojenie morskie
- Zagadnienie Transportowe a Problem
układania planu zajęć (praca niezależna)
- Zagadnienie Transportowe a Problem
sygnalizacji świetlnej (praca niezależna)
- Książka
Bezpieczeństwo Aplikacji Windows
w Szkole Hakerów
Ulubione sentencje o Wolnym Oprogramowaniu:
In a world without fences and walls, who needs Gates and Windows?
Linux is like a wigwam: no Gates, no Windows and Apache inside.
Jeśli DOS to mono, a Windows - stereo, to Linux jest jak Dolby Sorround i cała muzyka
jest za darmo.
Wszyscy mamy przycisk RESET, ale niektórzy nie wiedzą po co. Linux.
Perl: jedyny język, który wygląda tak samo przed i po szyfrowaniu RSA.
Dlaczego napisałem ten kurs?
Gdy ja się uczyłem asemblera, brakowało mi dobrych źródeł po polsku. Zaczynałem od różnych
szczątkowych tutoriali po angielsku, kolejnym dużym krokiem była książka Art of Assembler
autorstwa Randalla Hyde'a. Sporo się z niej nauczyłem, ale książka
była dość długa i czasem ciężka w odbiorze. Miała rozdziały, które mnie, jako
początkującego, nie interesowały, na przykład opis dyrektyw MASMa czy pisanie zaawansowanych procedur.
A te polskie kursy, które znalazłem, były dość krótkie i nie rozwiewały wszystkich moich wątpliwości.
Ja chcę, aby czytając mój kurs, można było jak najszybciej zacząć pisać programy. Sucha teoria
potrafi być zniechęcająca, więc zawsze staram się ją podpierać przykładami, aby wszyscy
widzieli, jak daną rzecz można zrobić. W każdej części staram się wszystko tłumaczyć jak najdokładniej i
jak najprostszym językiem, żeby trafić do jak największej liczby osób.
Jak ten kurs powstał?
Jakiś czas po tym, jak stwierdziłem, że chwilowo kończę naukę asemblera,
powstała grupa dyskusyjna alt.pl.asm, którą od początku subskrybowałem.
Jednego dnia na grupie pojawił się pomysł na to, by stworzyć stronę WWW całej grupy.
Strona już nie istnieje, ale ważne jest to, że zacząłem pisać dokument typu
Najczęściej zadawane pytania
(FAQ), który jednego dnia miał znaleźć się na stronie. Ostatecznie na jakiś czas
wylądował gdzieś indziej, ale pisałem w nim odpowiedzi na pytania w stylu Co to jest asembler
,
Co to jest rejestr procesora
itp.
Jednego dnia pomyślałem, że to moje FAQ wygląda prawie
jak kurs asemblera. I tak się zaczęło - wtedy przestałem pisać FAQ, a zaczem pisać pełnowymiarowy
kurs języka asembler.
Zacząłem oczywiście od DOSa. Nawet nie pamiętam, czy miałem wtedy Linuksa.
Czemu osobno kurs i jakieś mini-kursy?
Kurs ma służyć nauce języka, zaś mini-kursy mówią raczej jak wykonać jakieś zadanie w asemblerze.
Można to porównać do oddzielenia nauki składni języka od nauki algorytmów. Oczywiście, są
wyjątki (części: 9, 10, 11, 12), ale zawierają one tak istotne informacje, że zdecydowałem
się umieścić je w głównym kursie.
Czemu napisałem swoją bibliotekę?
Na początku brakowało mi procedur wyświetlających liczby. Napisałem więc ze 2-3 sztuki i umieściłem w
osobnym pliku źródłowym, który potem wklejałem do swoich programów. Jednego dnia po prostu wpadłem
na pomysł, aby zrobić z tego osobny, skompilowany plik, a przy okazji nauczyć się pisania
bibliotek (też na cele kursu). Po nauce napisałem o tym mini-kurs. Z czasem biblioteka rosła, by
obsługiwać coraz więcej rodzajów liczb, potem doszły jeszcze napisy, liczby ułamkowe i cała reszta.
Poza tym, już w czasie pisania swoich pierwszych programów zauważyłem, że wyświetlanie liczb
wcale nie było takie proste dla początkującego. Umieściłem więc swoją bibliotekę na swojej stronie,
aby inni początkujący nie musieli być od razu rzucani na głęboką wodę.
Biblioteka daje im szansę na pisanie programów bez zanurzania się w szczegóły wejścia i wyjścia programu.
Czemu tak bardzo dbam o standardy?
Bez standardów świat stałby w miejscu. Tylko dzięki standardom mamy Internet -
TCP,
HTTP,
SMTP
to standardy. Swój standard ma też język HTML, ale niewielu ludzi o tym wie, a jeszcze mniej
go przestrzega. To smutne. Języki programowania mają swoją składnię i kompilatory odrzucają
te napisane nieprawidłowo. Gdyby przeglądarki nagle zaczęły robić to samo, z dnia na dzień
z Internetu zniknęłoby ponad 95% wszystkich stron, na czele z Google i innymi wielkimi portalami.
To jest jedna z dwóch głównych przyczyn, dlaczego twórcy stron nie używają
XHTML - po prostu
nie toleruje on błędów (druga przyczyna to słaba obsługa XHTML w przeglądarkach, choć to na
szczęście się zmienia).
Pisząc według standardów chcę dać innym przykład, że można tworzyć czytelne strony bez
sprzeczności z językiem HTML i CSS. Jeśli moja strona wyświetli się u kogoś nieprawidłowo lub
niezgodnie z oczekiwaniami, mogę śmiało odpowiedzieć, aby ta osoba zmieniła przeglądarkę na
lepszą, bo moja strona jest prawidłowa. Miłe uczucie wiedzieć, że coś jest zrobione dobrze.
Natrafiłem ostatnio na stronie kampanii
stron dla każdej przeglądarki na cytat, który powinien być mottem dla twórców nowych stron
oraz spędzać sen z oczu tym, którzy piszą według własnych zasad, czyli byleby strona działała
:
All browsers support the internet, and this internet site supports all browsers - Jacob Ozolins.
(czyli: Wszystkie przeglądarki obsługują internet, a ta strona internetowa obsługuje
wszystkie przeglądarki
).
Twierdzenie, że nie można zrobić strony jednocześnie zgodnej ze standardami i ładnej, to mit.
Wystarczy spojrzeć na CSS Zen Garden.
Strona ta jest prawidłowo napisana oraz ma jeden wspólny kod i jedną wspólną treść
dla każdego wystroju, który można wybrać po prawej stronie okna.
Multimedia to jednak co innego niż HTML. Popieram wolne formaty, bo dają gwarancję, że nigdy
żadna pojedyncza firma nie zmonopolizuje rynku - dla takiego formatu jak
OGG Vorbis czy
Theora
każdy może napisać własny odtwarzacz.
Czemu tworzę Wolne Oprogramowanie?
Bo wierzę w nie. Wierzę, że będzie się stawać coraz lepsze. Nie musi przejmować coraz większej
części rynku - wystarczy, że będzie się polepszać. Chcę się czuć częścią tego procesu. Wielu
ludzi poświęciło tysiące godzin pracy za darmo, by stworzyć oprogramowanie, którego na co dzień
używam. Myślę, że mogę się w ten sposób odwdzięczyć społeczeństwu i powiększyć bogactwo
Wolnego Oprogramowania. Chcę, by każdy użytkownik i każda użytkowniczka mieli wybór i wiedzieli,
że mogą wybrać Wolne Oprogramowanie zamiast zamkniętego, a nie że ich wybór ogranicza
się tylko do dwóch możliwości: albo płacisz, albo idziesz do więzienia.
Z tworzenia Wolnego Oprogramowania są same zyski: zwiększa się liczba wolnych programów,
obecne wolne programy rozwijają się, daję innym przykład, że tak można. Bardzo ważnym zyskiem
jest też to, że sam się czegoś uczę. Język nieużywany to język zapomniany. Tworząc WO programuję
na bieżąco i uczę się wielu nowych, przydatnych rzeczy.
Oczywiście, rozwój WO zmniejsza przychody dużych firm i nie są one z tego powodu zadowolone. Dlatego
chcą dyskredytować Wolne Oprogramowanie w oczach społeczeństwa - twierdząc, że
jest mniej wydajne (serwery, bazy danych), czy wmawiając, że narusza ich patenty jednocześnie
nie umiejąc pokazać, które. Na szczęście każdy z nas może wierzyć, komu chce.
Nie zmuszam nikogo do przesiadki, mówię tylko, że warto. Wszystko na początku jest trudne, tyle
że nikt już nie pamięta swoich pierwszych bojów z DOSem, Windowsem 3 / 9x / XP. Do innych
systemów też można się przyzwyczaić.
Czy nie lubię JavaScriptu, Flasha i Javy, że nie używam ich na stronie?
Javę lubię. JavaScript niezbyt znam i nie lubię. Flasha raczej nie lubię. Ale nie o to
chodzi, czy lubię te technologie, czy nie.
Głoszę teorię, że każdy język ma swoje
zastosowania i swoje miejsce. Javę lubię ze względu na szybkie i łatwe tworzenie GUI,
asemblera - za szybkość działania programów, Perla - za możliwości obróbki tekstu.
Zadanie powinno wyznaczać język. Nie można pchać się z każdym językiem gdzie się da
tylko dlatego, że się go zna. Co z tego, że na stronie WWW jest super menu w JS, skoro
ja i wiele innych osób nie możemy go zobaczyć (brak lub wyłączony JS w przeglądarce).
Taka strona staje się bezużyteczna, zwłaszcza dla osób niepełnosprawnych.
Podobnie ze stronami napisanymi w całości w Flashu -
autorowi się zdaje, że Flash jest w każdej przeglądarce i każdy go używa. Tym samym,
odbiorca treści zmuszony jest do pobrania zamkniętego (a więc potencjalnie niebezpiecznego)
oprogramowania, którego czasem w ogóle nie ma ochoty używać. Podobnie Java. Jeśli można coś zrobić
w JS lub Javie to proszę bardzo, ale proszę dać alternatywną wersję tym, którzy nie mogą
lub nie chcą korzystać z tych technologii. Języki te mają swoje zastosowania, na przykład
Java do skomplikowanych apletów z danymi, których nie da się inaczej przedstawić. Nie mam
nic przeciw aplikacjom sieciowym napisanym w AJAX, wręcz przeciwnie - dobrze, że są. Jestem
przeciw upychaniu na siłę czegoś, co można zrobić inaczej.