sobota, 12 kwietnia 2008

Graphrator 0.9 - recenzja

Witam wszystkich fanów programowania (i nie tylko). Dziś chciałbym zaprezentować zgoła inny rodzaj notki, niż pozostałe. Otóż przedstawię Wam recenzję jednego z największych projektów SceNtriC'a, który sukcesywnie wprowadził w życie, korzystając z dobrodziejstw języka C++. Mowa oczywiście o Graphratorze (obecnie w wersji 0.9). No cóż, po tym typowym wstępie, od którego powiało sztywnością i nudą przejdźmy do owej recenzji. Zaznaczam, że jest ona zrobiona w sposób "niepoważny", w konwencji skrajnego poczucia humoru (czyt. mojego). Miłego czytania!

I. Salon
Aby zostać posiadaczem najnowszej wersji programu, trzeba znać adres www devBloga SceNtriC'a. A zatem: http://noi... yhym... http://pseudodev.blogspot.com . Po wejściu na bloga, natrafiamy na ostatnią notkę. W czasie testów traktowała ona o wydaniu nowej wersji. Należało jedynie kliknąć w link prowadzący do serwisu hostingowego, jakim jest ch******.pl (ocenzurowano, nie będziemy reklamy robić! Chociaż link do niego i tak znajdziecie na tym blogu). Tam należało odnaleźć odpowiedni plik i go pobrać. Uff... Gotowe. Co dalej?


II. Nadwozie
Na moim twardym dysku znalazł się plik o jakże wspaniałej nazwie Graphrator_0.9.exe . Po podwójnym kliknięciu pojawił się standardowy programik do obsługi archiwów SFX stworzonych przez program WinRAR. Jak na początki - całkiem nieźle, aczkolwiek przy tej wadze (nie chodzi o rozmiar, a o ważność, oczywiście) programu przydałby się już profesjonalny instalator. Póki co, można nawet użyć amatorskiego instalatora, jak chociażby wbudowany w system Windows iexpress. Posiada on wiele ciekawych funkcji, a po dodaniu odpowiedniego pliku *.bat lub *.exe i ustawieniu go jako uruchamianego po zakończeniu instalacji, można w łatwy sposób rozszerzać jego możliwości o uruchomienie programu, czy też utworzenie skrótu na pulpicie. Póki co - za wygląd paczuszki z zewnątrz: 3/5


III. Wnętrze - miejsce kierowcy
No cóż... Graphratora nie można nazwać limuzyną. Nie jest też wielkim rodzinnym combi. Program jest mały, zgrabny i służy tylko i wyłącznie dwóm celom - tworzeniu wykresów i... parzeniu herbaty! Drugą funkcję pozwolę sobie pominąć. Spójrzmy więc do małego wnętrza... jako pierwsze interesuje nas miejsce kierowcy. Fotel oraz kierownica są czarne, dość smutnawe z szarymi napisami. Wszystko w konwencji prostokątnej, ascetycznej, prostej... W skrócie: Wiersz Poleceń. Jak wiadomo, zazwyczaj bawimy się różnymi rzeczami w sposób, w który nie powinniśmy. Tak było i tym razem. Zamiast odchylić oparcie, kręcąc pokrętłem w tył, postanowiłem je poruszać po zupełnie innej osi - poziomo. Wpisanie literek 'lalala' do programu jako parametru skończyło się... ustawieniem fotela w domyślnej pozycji przy jednoczesnym poinformowaniu mnie, że mam... kręcić dalej, chociaż wcale tego nie oczekiwano! Może napisałem to nieco niezgrabnie. W skrócie - program nie wyrzuca błędu po wpisaniu błędnych danych - i tu wielki plus. Włącza domyślną funkcję - no i tutaj jest neutralnie. Ale jest i minus - program wypisuje w wierszu poleceń kolejne prośby o wpisanie zmiennych, chociaż wcale ich nie oczekuje! Pisze by pisać, i tyle. Zatem za miejsce kierowcy - 3/5

IV. Wnętrze - deska rozdzielcza
Program uruchamia się w konwencji niebieskiego tła i kolorowych kreseczek w jasnych odcieniach. Barwami można sterować poprzez odpowiedni skrót klawiszowy. Oprócz zmieniającej kolor deski rozdzielczej, model posiada wiele funkcji. Umie wyświetlać tak wiele różnych rzeczy... Za zawartość deski rozdzielczej - 5/5

V. Obsługa
Aaaa... i tu się pojawia problem. Otóż program jest sterowany w całości poprzez skróty klawiszowe. Owszem, można używać menu prawokliku myszy, jednak jest to dość niewygodne (acz czasem się przydaje). Poza tym, skrótów jest tak wiele, że można się naprawdę pogubić. Plik ReadMe posiadający listę używanych skrótów oraz wbudowany w program system pomocy są minimalnie niedokładne - za łatwość obsługi mogę dać jedynie 3/5

VI. Dokładniejsze spojrzenie na deskę rozdzielczą
Jakby się przyjrzeć desce rozdzielczej, zdaje się ona być minimalnie krzywa. I co ciekawe, nie jest to złudzenie. Wyświetlane w okienku dane są wyświetlane krzywo. Jest to efekt podobno zamierzony, jednak można mu przecież było zapobiec. Jak wiadomo, wszystkie ekrany są zbudowane na bazie prostokąta, niebędącego kwadratem. Może być to ekran 4:3, 16:9, 16:10... Za wygląd deski rozdzielczej mogę dać 4/5. Ot - nie dopracowana, zgrzyta, strzela i puka w czasie jazdy.

VII. Ogólna ocena
Ogólnie, Graphrator jest bardzo przyjemnym i użytecznym programem. Zatem szybko, pozostałe punkty w zestawieniu:
  • Pomysł: 6/5 jeden punkt bonusowy,
  • Wykonanie: 5/5 chodzi tutaj o bezawaryjność oraz stopień zaawansowania. SceNtriC pobił samego siebie jeśli chodzi o zaawansowanie, a bezawaryjność jest niezaprzeczalna - w porównaniu do jednej z poprzednich wersji, nie powoduje już wyskakiwania BSOD'a na notebookach,
  • Możliwości: 5/5 czego chcieć więcej?,
  • Jakość: 3,6/5 zawsze mogło być lepiej; ta ocena to średnia ważona z punktów II. - VI.,
  • Idiotoodporność: 3/5 jest równa punktowi III.,
  • Poprawność działania: 2/5 program ma swoje za ekranem, ale o tym w następnym punkcie.
W sumie, Graphrator 0.9 zasłużył na 24,6/30 punktów. Jest to wynik całkiem przyzwoity - 82% punktów, czyli w szkole ocena byłaby na granicy 4 i 5, zależnie od nauczyciela. Ja wystawiam 4+.

VIII. Zauważone błędy
Oj jest ich troszkę. A przynajmniej było w testowanej wersji - podobno część z nich została już wyeliminowana. A co takiego źle działa?
  • Funkcja wyświetlania siatki działa nieprawidłowo - siatka zamiast w tle, jest nakładana "na wierzch", powodując częściowe przycinanie napisów (ale co ciekawe, wykresu nie narusza),
  • Tryb pełnoekranowy to całkiem przydatna funkcja... do momentu, gdy chcemy go wyłączyć - jest to niemożliwe!,
  • Program potrafi wyszukiwać dane tylko dla obszaru wyświetlanego aktualnie na ekranie - jeżeli funkcja ma przykładowo miejsce zerowe choćby o piksel poza ekranem - nie uwzględni go (co można zaobserwować tutaj),
  • Użycie opcji "wartość bezwzględna Y" powoduje "upośledzenie" opcji określania monotoniczności funkcji (można to zobaczyć tutaj; mysz jest po lewej stronie pod napisem, PrintScreen ją ukrył),
  • Opcja obliczająca pole między osią a linią wykresu poprzez całkowanie jest minimalnie uszkodzona - przy przedłużaniu pola w lewo, "linie" pola poruszają się płynnie, piksel po pikselu, zatrzymując się w rzeczywistym miejscu granicznym obliczanego pola, natomiast w kierunku przeciwnym, pojawiają się one co kilka pikseli, co powoduje niewielką niedokładność między zapisanymi danymi, a oznaczeniami na wykresie.
To tyle jeżeli chodzi o moje pochwały i narzekania (głównie narzekania, bo od tego są krytycy!) na temat Graphratora. Ogólne wrażenie jest pozytywne, taka jest także ocena - 4+. Mogę jedynie dodać, że program ma olbrzymi potencjał i mógłby nawet wejść do użycia w szkołach, jednak najpierw musi zostać wydana wersja 1.0 z naprawionymi wszystkimi błędami (tymi opisanymi i nieopisanymi przeze mnie, zauważalnymi i niezauważalnymi).

Jeszcze tylko jedna informacja - recenzja ta podzielona jest na 8 części. Jest to zabieg zamierzony. Osoba, która zgadnie, dlaczego tak zrobiłem dostanie... moje szczere gratulacje i dedykację w jednej z notek (och tak! Tłum szaleje! Nagrody są niesamowite, nie sądzicie?).

Pozdrawiam - Shirou Noir

poniedziałek, 7 kwietnia 2008

DeDecer 1.0 - początki Binariusza?

Dawno dawno temu, gdy komputery myślały bezbłędnie, a ludzie bali się UFO... Tak, to brzmi jak bajanie osoby niespełna rozumu. Ciekawostka jest taka, że zgodnie z tym, co napisali tutaj, jest wysoce prawdopodobne, że w przyszłości nasze dzieci będą słyszeć od nas takie właśnie bajki...

No cóż, nie będę się nad tym bardziej rozczulał. Kolejny sposób na otwarcie drogi przestępcom komputerowym oraz na powodowanie większych katastrof (chociażby budowlanych) z powodu błędów obliczeń, nic więcej.

W ostatnich dniach (tj. 18 marca 2008 roku, co wcale nie jest aż tak odległą datą!) ukończyłem prace nad jednym z modułów programu Binariusz - DeDecer'em 1.0. Binariusz, jak już sama nazwa wskazuje, to program służący do wykonywania operacji na systemie dwójkowym. DeDecer jest całkowicie niezależnym programem, który w przyszłości będzie integralną częścią Binariusza. Służy on (jak sama nazwa wskazuje) konwersji liczb dziesiętnych na system dwójkowy. Jednaknie chodzi tutaj o normalne liczby, a o adresy IP.

Ok, troszeczkę zamieszałem w opisie. Poniżej zamieszczam funkcje, plusy i minusy DeDecer'a
(*) Przeliczanie adresu IP z systemu dziesiętnego na binarny
(*) Określanie klasy przeliczanego adresu (w zakresie A, B, C)
(+) Nie popełnia błędów przy przeliczaniu DEC->BIN
(+) Banalny w obsłudze
(+) Zajmuje mikroskopijną ilość pamięci (tak na dysku, jak i w RAM'ie)
(-) Jest to tylko jeden moduł innego programu
(-) Ograniczona funkcjonalność
(-) Nie umie wczytywać adresu wraz z kropkami (trzeba zamieniać je na spacje)
(-) Nie rozpoznaje klas adresów D, E oraz rozpoczynających się na 0 i 127
Oczywiście DeDecer w wersji 1.0 (sądzę, że nie będę go rozwijał, chyba że zamienię system wczytywania z 4x liczba całkowita na 1x string z przepisywaniem do całkowitej, jednak póki co - nie umiem) dostępny jest na Chomiku Noir. Link znajduje się po prawej stronie. Licencja programu - Freeware. Więcej informacji w pliku licencyjnym oraz w readme.

Wracając do Binariusza - będzie to program mający za zadanie przeliczać trzy systemy liczbowe - dwójkowy (bin), dziesiętny (dec) i szesnastkowy (hex). Obecnie gotowe są moduły wczytywania danych, DeDecer dla adresów IP oraz wykorzystywana w nim procedura przeliczania liczby dziesiętnej na binarną i kilka innych szczegółów. Do dokończenia zostało wiele innych funkcji oraz interface użytkownika (jak zwykle całość w wierszu poleceń, jednak zastanawiam się czy lepsze będzie wybierane strzałkami jednopoziomowe menu, czy też stara dobra wyliczanka, znana chociażby z moich starych projektów oraz z Graphratora SceNtriC'a (link do jego DevBloga także znajduje się po prawej stronie). Jeżeli ktoś ma jakieś propozycje (używanie myszy w wierszu poleceń odpada, nie chce mi się bawić w operacje na przerwaniach...) - zapraszam do ich przekazywania na gadu-gadu lub w komentarzach.

Póki co, na nic nie mam czasu (jak zwykle). I jak zwykle muszę zawiesić wszystkie prace, którymi aktualnie się zajmuję. Ale spokojnie, kiedyś z tego wyjdę i jeszcze się zobaczy, ile jestem w stanie z siebie wycisnąć (w sensie ile programów wydać w krótkim czasie, bez skojarzeń proszę!*).

Na dziś to wszystko. Pozdrawiam!

_________________
* - Jeżeli po przeczytaniu fragmentu oznaczonego gwiazdką miałeś/aś jakieś dziwne skojarzenie, to znak, że jesteś w pełni zdrowia umysłowego. W przeciwnym przypadku jak najszybciej zgłoś się do swojego psychiatry lub psychologa ;)