Archiwum kategorii 'Programming'

27
kwi
10

Reaktywacja + Potyczki

Po przemyśleniach uznałem, że możnaby reaktywować mojego bloga.

Tak więc drogi czytelniku, jesteś świadkiem tejże szumnej ‘reaktywacji’! Cieszmy się i radujmy…

O czym będę pisał? O wszystkim co kojarzy się z informatyką, programowaniem, sprzętem komputerowym i ogólnie pojętym IT. Nie przeciągając, wartoby zacząć o czymś konkretnym – Potyczki Algorytmiczne 2010, które skończyły się 4 minuty temu (choć wpis pewnie jeszcze będzie trochę powstawał i nie wiem kiedy ujrzy światło dzienne).

Napomknę tu, że zanim ktokolwiek przejdzie dalej powinien wiedzieć że  tekst niżej to krótka relacja-podsumowanie tegorocznej edycji konkursu informatycznego jakim są Potyczki . Temat dla osób z informatyką niezwiązanych może być ciężki, nawet nudny, więc spojler był, pretensje każdy znudzony czytelnik może mieć tylko do siebie ;) .

Cóż mogę o tegorocznych Potyczkach powiedzieć? Przede wszystkim jest to mój pierwszy “porządny” start w tym konkursie – załatwiłem sobie wolny czas, siedziałem nad zadaniami, pot z czoła się lał, para z uszu leciała, trybiki prawie wszystkie się poscierały. Poziom zadań jak zawsze zróżnicowany, tematyka też. Przy okazji, Potyczki udowadniają, że nawet przy dużej ilości dosyć różnych zadań (15 w ciągu 8 dni!), nie da się ich tak dobrać, aby pojawiła się każda dziedzina algorytmiki, a co dopiero każde zagadnienie. To jest właśnie piękne – istnieje ogrom problemów, do których można podejść na wiele różnorakich sposobów. Wszystko zależy od naszej inwencji! Potyczki więc, jak zawsze, uczą myślenia, obserwacji, analizy, dedukcji i myślenia nad tym wszystkim ponownie. A potem kolejnej obserwacji i tak w kółko, aż nie wymyślimy poprawnego rozwiązania.

Wracając jednak do mojego startu, krótkie podsumowanie:

  • zarwanych nocy: 8,
  • wypitej kawy: ~1.5l,
  • linii kodu:  2478 [:O],
  • punktów w dywizji B: 58
  • punktów razem: 70
  • miejsce w rankingu B: [ranking nieopublikowany]
  • miejsce w rankingu A+B: [ranking nieopublikowany]

Tak więc reasumując, ciężki tydzień. Komputera nie ruszę chyba przez kolejnych kilka dni (aż do piątkowego konkursu drużynowego na Uniwersytecie Warmińsko-Mazurskim, z którego na pewno zdam relację ;) )…

29
cze
08

Thinkpad!!

Wreszcie! Ukochany, najlepszy, najwygodniejszy najsuperekstraloptop Thinkpad R61 z procesorem Core 2 Duo T8100 (2.1GHz), 1x2GB RAM, NVidią Quadro (128MB) i wszelkimi Thinkpadowymi bajerami jest MÓJ! :>

Co tu dużo mówić – od środy świętuję, dopieszczam, instaluję itp. itd.

No, pierwsze wrażenia mam już za sobą, a teraz pora na więcej szczegółów. Na wstępie pozwolę sobie gorąco(!) polecić Olsztyński sklep komputerowy Onyks. Notebook zamówiony we środę, był u nich już następnego dnia (zamówiony około 17, telefon od Onyksu ok. 12 dnia następnego)! Poza tym bardzo profesjonalna obsługa.

Wracając jednak do Thinkpada – notebook jakich mało. Naprawdę, powiedzieć o nim “genialny” to mało. Notebook spisuje się świetnie, jest piekielnie wygodny i bardzo wydajny. Pomijając podaną wcześniej specyfikację, wspomnę o reszcie plusów tego sprzętu. Punktem który należy tu wymienić jest niewątpliwie świetny ekran WSXGA (15.4″) łapiący rozdzielczość… 1680×1050! Kolejnym plusem jest bardzo dobry touchpad oraz Navigation Point który momentami może spokojnie zastąpić myszkę ;] . Dodatkowo, laptop posiada wejścia na karty pamięci (wszystkie znane mi typy :D ) oraz na karty rozszerzeń (2 wejścia). Dodatkowo posiada wejścia/wyjścia na słuchawki, mikrofon, usb, monitor, S-Video, Ethernet, Internet i AC (:P). Niewątpliwym plusem (i bajerem :P ) jest czytnik linii papilarnych (którego jeszcze pod linuksem nawiasem mówiąc nie skonfigurowałem) oraz bardzo wygodna klawiatura z dobrze przemyślanymi klawiszami funkcyjnymi. Kończąc specyfikację dodam jeszcze do puli całkiem porządne głośniki i podświetlenie i mamy laptopa właściwie idealnego. Wymagającym może jedynie brakować kamery :P .

Wracając do innych spraw bierzących – już we czwartek wyjeżdżam na obóz informatyczny Muszyna 2008 organizowany przez stowarzyszenie Talent. Nie muszę chyba mówić, że mnie to piekielnie cieszy :D . Obóz trwa 2 tygodnie (13 dni) i zapowiada się genialnie ;] .

Żeby jednak nie zakończyć obozu kompletną klapą (jak ostatnio), na tydzień przed obozem (czyli od wczoraj) powtarzam i szlifuję algorytmy. Przy okazji piszę opisy każdego algorytmu i kody źródłowe, które potem posłużą do przygotowania minitutoriala algorytmicznego. Tutorial opublikuję po trochu/w całości przed końcem wakacji.

18
cze
08

Wakacje!

I stało się! Dla mej szanownej osoby rozpoczęły się już wytęsknione wakacje! Jeszcze się do tej sytuacji nie przyzwyczaiłem więc trudno mi określić na ile mnie to cieszy (czyt. “Kurna!? Już?! Kiedy to minęło?! :O”).

Uff, to był pracowity rok, jeden z najtrudniejszych w moim krótkim jeszcze życiu. Zmieniłem się na tyle, że sam to zauważam ( :D ).

No a teraz wracając do spraw ważnych – za rączkę z tutorialem (i z mieczykiem przez błędy kompilacji, problemy enkapsulacyjne itp. itd.) udało mi się wreszcie porzucić znaną wam z poprzedniego wpisu kostkę 3D na rzecz… modeli! Tak, mój 435-liniowy silniczek nauczył się wczytywać modele 3D. To milowy krok dla tego mini-projektu. Dodatowo, dla własnej wygody zaimplementowałem system oddalania i przybliżania kamery. Oto jak wygląda:

3D Spsceship ;]

Sprostowanie: Korzystam z tego tutoriala. Choć z zewnątrz efekty mojej pracy oraz pracy autora tutoriala wyglądają właściwie identycznie, w środku diametralnie się różnią. Główną różnicą jest bardzo duży nacisk na obiektowość w moim silniku. Jedyne co czerpię z tutoriala to fragmenty kodu czysto OpenGL-owe i ładujące tekstury/modele, bo tego po prostu sam nie umiem zrobić. Korzystam również z takiego samego modelu z braku innego i lenistwa (nie chce mi się szukać modeli po sieci ;p).

No, nakleiłem sobie plaster na sumienie, teraz kolej na wasze opinie…

15
cze
08

After Chaos Engine

Wakacje za pasem, a ja ruszyłem wreszcie swoje szanowne 4 litery i zabrałem się za Engine 3D, który sobie od dawna obiecuję. Nie oszukujmy się, prawdopodobnie mi się nie uda (70% samodzielnych, dużych projektów z reguły kończy się maksymalnie połowicznym sukcesem) ale przynajmniej się czegoś nauczę. Silnik powstaje w OpenGL-u przy użyciu darmowego interfejsu graficznego GLUT (wiem jak to brzmi :D ). W chwili obecnej całość ma ponad 300 linii kodu i potrafi wyświetlić kolorową kostkę:

Cube3D

którą można obracać o 20* w każdą stronę. No, to by było na tylę na chwilę obecną. Zabieram się właśnie za porządki w kodzie, a następnie spróbuję mojego małego kolegę (kostkę, zboczuchy! :P ) oteksturować.

Byłbym zapomniał – okno nie ma obramowań ani belki tytułowej z winy compiza. To jakiś duuuuży bug, którego nie mogą rozwiązać od ponad roku. Nie chciało mi się w tym grzebać, grunt że bez pasków całkiem znośnie działa.

@Edit: Udało się! Za rączkę z tutorialem udało mi się oteksturować tą wstrętną kostkę. Diabelnie fajne, nieprawdaż(?):

Na chwilę obecną lekko poszatkowany kod ma ponad 450 linii.

12
cze
08

Polacy zawsze mają pecha…

“Polacy zawsze mają pecha!

Na szczęście ciągle mamy czas!

Ani Holendra, ani Czecha…

Pech prześladuje tylko nas!”

[Big Cyc - Pechowy jak Polak]

Jak mieliśmy okazję widzieć na meczu Polska – Niemcy, nasz naród pasuje jak ulał do tekstu piosenki.

Ja, nie wyróżniając się zbytnio wśród rodaków, również ostatnimi czasy cierpię na piekielnego pecha!

A to mi się popołudnie nie ułoży, a to zachoruję przed wakacjami, a to sobie rozwalę nadgarstek (jak dziś). Niby błahostki, ale zebrane “w kupę” potrafią nieźle w kość dać :/.

Wiem, pierdolę od rzeczy. Pecha nie ma, farta nie ma, jest tylko przypadek. Musiałem się trochę wyżalić światu jakie to życie jest złe i do kitu. Na szczęście już niedługo wakacje ( ;) ) oraz nowy komputer ( :) ), a potem obóz informatyczny w Muszynie ( :D ).

Byle do 20….

A co potem? Poza wspomnianym obozem, w te wakacje mam zamiar ostro za algorytmy się wziąć, trochę dorobić oraz zająć się trochę 3D (OpenGL). Czas pokaże co z tego uda mi się zrealizować, ale jestem dobrej myśli…

W końcu mam pecha, gdybym był złej myśli to w ogóle nic by mi się w życiu nie udawało ;) .

21
maj
08

Potyczki Algorytmiczne 2008 – koniec

Wczoraj skończyły się tegoroczne PA.

Oto z grubsza bilans tegorocznego startu:

Wypita kawa: ~2l,

Zapisane kartki: ~15,

Zarwane noce – 6 pod rząd,

PKT (Dywizja A + Dywizja B) – 19

Miejsce (A+B) – 828/2772

PKT(Dywizja B) – 17

Miejsce (B) – 841/2772

Czyli dużo wysiłku i mierne wyniki. Ale cóż, tego się spodziewałem ;]. Teraz przynajmniej wiem, jakie mam braki. Jeden właśnie zacząłem uzupełniać – odpoczynek. Wczoraj (tj. ostatniego wieczora Potyczek) prawie zemdlałem…

Achh, przede mną długi weekend! Szkoda tylko, że nie za bardzo mogę w tym czasie odpoczywać… Już jutro muszę zacząć prace na-po-weekendzie pisać, a tydzień po weekendzie (zaraz po wycieczce, mam wolne od jutra do 1-wszego) to tydzień w którym nie ma dnia bez ważnego sprawdzianu/pracy klasowej od której(go) zależy moja ocena :/. Na wycieczkę biorę książki :/.

Ech, byle do wakacji…

06
maj
08

Gentoo -> Server

Od pewnego czasu planuję stworzenie mini ligi programistycznej (o jakże pr0 roboczej nazwie „Young Programmers’ League”). Do tej pory miotałem się między różnymi pomysłami/pisaniem własnej sprawdzarki/zastanawianiem się nad sensem przedsięwzięcia. W niedzielę jednak, dorwałem w łapy sprawdzarkę DOMJudge. Fakt, konfiguracja wydaje się trudna, ale uznałem, że mając 2 dni wolne (matury) zdążę choć zacząć….

Poleciałem więc do gabinetu ojca, dorwałem starą maszynę brata [Duron 800MHz, 384MB RAM(256+128), Nvidia 256, Ethernetowy Realtek, HDD 20GB] i zacząłem na nim stawiać Gentoo jako przyszły serwer… Szczerze mówiąc pobiłem swój życiowy rekord – konsolę z własnego kernela ujrzałem już po 2 dniach, mimo problemów technicznych :]. W tej chwili, komp stoi obok, kompiluje się na nim fluxbox (wolę gui-edytory, nano mnie zaczyna irytować powoli :P ), potem robię apache’a, php, mysql, iptables i no-ip. Jak wszystko zadziała, to ruszam z DOMJudge i stawiam serwerek :]. Życzcie mi powodzenia.

06
maj
08

Potyczki Algorytmiczne 2008!

Już są!

Wczoraj zaczęła się runda próbna tegorocznych Potyczek Algorytmicznych – konkursu programistyczno-algorytmicznego dla osób o dowolnym poziomie zaawansowania. Pierwsze 3 miejsca zgarniają super laptopy, 256 pierwszych dostaje koszulki. Więc na co czekacie? Do boju!

05
maj
08

Po obozie

SUPER!

Najlepszy tego typu obóz jaki można sobie wymarzyć – żyć nie umierać :].

Dużo ciekawego materiału, fajne zadania, fajni ludzie, dużo mi-podobnych nerdów (konsolozaurów, C-zaurów, paszczaków i innych ;D).

Kolejny obóz pewnie w Lipcu w Nowym Sączu. Już teraz wszystkich gorąco zachęcam!

20
kwi
08

Back to normality

Witajcie po przerwie drodzy czytelnicy ( :P )!

Tytułem wyjaśnienia : uznałem, że nie warto już więcej poruszać tematów religijnych. Jest wiele osób, które są gotowe w imię swoich wierzeń nawet zabić, więc nie warto psuć takim krwi.

Skoro więc blog jest o IT, to i o IT dziś napiszę.

Zacznę od II Etapu OIG, który poszedł mi… tragicznie. Skończyłem z genialnym wynikiem 12/300pkt. Winę zato ponosi prawdopodobnie stres, który mnie “zjadł”. 12 pkt zdobyłem zadanie, które zaraz po powrocie zakodziłem na 100pkt. Grafowe mam gdzieś na kartce, jutro sprawdzę, niemniej uważam, że gdyby nie stres, mógłbym zdobyć 240 pkt… Tegoroczną OIG mogę więc skwitować jednym bardzo obrazowym słowem – “Porażka”. No nic, pozostają jeszcze Potyczki Algorytmiczne 2008 i przyszły rok.

W wolnych chwilach (których ostatnio bardzo mało, stąd też rzadkie wpisy) myślę też (a właściwie już wprowadzam w życie) małą ligę programistyczną w moim gimnazjum. Projekt polega na stworzeniu strony z integralną sprawdzarką (stronę kodzi już DevonSix, sprawdzarkę od kilku dni ja w C++) na której organizowane byłyby Maratony Programistyczne. Każdy Maraton to powiedzmy 5 Wyścigów – czyli 3-godzinnych sesji podczas których zawodnicy dostają 3 zadania, rozwiązują i wysyłają przez stronę kody do oceny. Jedno zadanie – max 100 pkt, jeden wyścig 3*100pk, czyli max 300 pkt, cały maraton 5*300pkt=1500 pkt. Teraz meta powiedzmy przy progu 1000pkt, kto pierwszy dobiegnie, ten wygrywa. Do tego jeszcze ranking i inne takie. Zanim serwis ruszy, minie jeszcze pewnie sporo czasu, ale jestem dobrej myśli :) .

Tak przy okazji odezwa do programistów C++ – jeśli ktoś kiedyś zechce pod linuksem używać plików konfiguracyjnych, warto zapoznać się z tym autorskim libem. Jeśli ktoś z kolei potrzebuje obsługi socketów z użyciem strumieni – polecam to.

I to by było narazie na tyle.




Follow

Otrzymuj każdy nowy wpis na swoją skrzynkę e-mail.