• 2012 (3)
  • 2011 (51)
  • 2010 (38)
  • 2009 (36)
  • < stycznia 2010 >
    Pn Wt Ś Cz Pt So N
            1 2 3
    4 5 6 7 8 9 10
    11 12 13 14 15 16 17
    18 19 20 21 22 23 24
    25 26 27 28 29 30 31

    Weź udział!

    Logo konkursu Wolny Wybór

    wypróbuj

    Logo wielojęzycznego chatu

    : Home / blog / wpisy wg daty
    Stycznia 2010

    Wtorek 12 stycznia 2010

    Konkurs podstępnego programowania w C PDF Drukuj Napisz e-mail
    Wpisał %s Patryk yarpo Jar
    wtorek, 12 stycznia 2010 13:06
    IT / niebezpiecznik.pl

    Wystartowała piąta edycja zabawnego konkursu programistycznego, w którym należy napisać z pozoru niewinnie wyglądający kod, wyrządzający jednak jak największe szkody. W tym roku uczestnik konkursu Underhanded musi wcielić się w pracownika lotniska odpowiadającego za transfer bagaży. System sortowania otrzymuje dane związane z każdym bagażem oraz instrukcje co do jego transferu. Należy tak zmodyfikować algorytm sortowania bagażu, [...]

    || Jeśli chcesz przeczytać ten artykuł w całości, kliknij na tytuł wpisu.


    read full article

    Read more
    Zmieniony ( wtorek, 12 stycznia 2010 00:12 )

    Jarosław włamie się dla Państwa do Passata PDF Drukuj Napisz e-mail
    Wpisał %s Patryk yarpo Jar
    wtorek, 12 stycznia 2010 13:06
    IT / niebezpiecznik.pl

    Polski złodziej samochodowy, Jarosław, demonstruje jak za pomocą łamaków i odpalarki podpinanej pod interface diagnostyczny samochodu ukraść auto. Niestety, Jarek ze swoimi 6 minutami plasuje się w dole rankingu złodziei samochodowych… Łamaki i graty nie wystarczą — trzeba “odpalarki” Dzisiejsze samochody to już nie tylko mechanika, ale i elektronika. Łamaki, zwane przez złodziejaszków gratami nie wystarczą, żeby [...]

    || Jeśli chcesz przeczytać ten artykuł w całości, kliknij na tytuł wpisu.


    read full article

    Read more
    Zmieniony ( wtorek, 12 stycznia 2010 00:13 )


    Sobota 09 stycznia 2010

    TEXTURE VAULT : duży wybór graficznych tekstur PDF Drukuj Napisz e-mail
    Wpisał %s Jan Jackowicz-Korczyński
    sobota, 09 stycznia 2010 21:54
    Multimedia / grafika

    Gorąco polecam serwis

    texturevault.net

    Oferuje on ponad 3000 tekstur. Wiele z nich jest bardzo atrakcyjnych. Podzielone są na 20 kategorii. Tekstury o niższejj rozdzielczości, doskonałe do wykorzystania w Internecie, dostępne za darmo.

     

    Read more

    Konwersja PDF do DOC lub RTF PDF Drukuj Napisz e-mail
    Wpisał %s Jan Jackowicz-Korczyński
    sobota, 09 stycznia 2010 21:43
    Oprogramowanie / Webowe

    Serwis www.pdftoword.com umożliwia konwersję pliku w formacie ADOBE PDF do edytowalnego formatu DOC lub RTF.

    Proces konwersji jest rozłożony na 3 kroki:

    1. Wysłanie na serwer pliku w formacie RTF
    2. Wybór formatuk docelowego: DOC lub RTF
    3. Podanie adresu e-mail, na jaki wynik konwersji ma być przesłany.

    Pliki docelowe są wysyłane na podany adres zarchiwizowane w formacire ZIP. System działa na platformie ASP. Usługa konwersji jest bezpłatna.

    Read more


    Poniedziałek 04 stycznia 2010

    Tworzenie dll w C# PDF Drukuj Napisz e-mail
    Wpisał %s Patryk yarpo Jar
    poniedziałek, 04 stycznia 2010 03:04
    Inne tematy / C#

    Zalet dynamicznych bibliotek jest wiele. Ja jednak nie chcę Cię tu ani do nich zachęcać, ani odradzać ich stosowania. Krótki wideotutorial jak zrobić prostą "deelelkę". W c# jest to naprawdę banalne. Nie wierzysz, zobacz:

    Read more
    Zmieniony ( poniedziałek, 04 stycznia 2010 03:26 )

    log4net PDF Drukuj Napisz e-mail
    Wpisał %s Patryk yarpo Jar
    poniedziałek, 04 stycznia 2010 02:27
    Inne tematy / C#

    Ostatnio miałem okazję zapoznać się z ciekawym systemem do tworzenia logów z działania aplikacji. Nie chcę się tu wdawać w dyskusję, czy logi są przydatne, czy nie - o tym można pczytać na linkach zamieszczonych pod artykułem. Mowa tu o darmowym systemie log4net.

     

    Read more
    Zmieniony ( poniedziałek, 04 stycznia 2010 03:07 )


    Sobota 02 stycznia 2010

    Linux+Java – czy to tak trudno zainstalować? PDF Drukuj Napisz e-mail
    Wpisał %s Patryk yarpo Jar
    sobota, 02 stycznia 2010 18:40
    Inne tematy / Linux

    Wszystkie porządne dystrybucje Linuksa mają w pakiecie startowym i Javę i przeglądarkę WWW. Tymczasem jakimś tajemniczym sposobem wielu użytkowników Linuksa nie może korzystać z dobrodziejstw technologii Java, bo (kiedyś to nie działało out of the box, coś się posypało przy upgrade, w starej dystrybucji coś się nie chce zainstalować, plugin w systemie gryzie się z przeglądarką w systemie, wstaw inny powód). Tak czy siak Google Analytics informuje mnie, że co czwarty linuksowiec czytający ten blog ma problemy z Javą, więc nie ma się czego wstydzić: to normalne. Dzisiaj mam dobry dzień, i zamierzam tym zagubionym osobom pomóc.

    Read more
    Zmieniony ( sobota, 02 stycznia 2010 18:45 )

    Struktury danych PDF Drukuj Napisz e-mail
    Wpisał %s Patryk yarpo Jar
    sobota, 02 stycznia 2010 18:37
    Inne tematy / C++

    Taki przedmiot jest na studiach informatycznych. Każdych. Czasem się inaczej nazywa (u mnie to było Projektowanie i Analiza Algorytmów na przykład). Zasadniczo struktury danych to rzecz użyteczna, szczególnie jak ktoś je implementuje za nas.
    495px-suffix_tree_bananasvg

    Dla programistów nowoczesnych języków fakt istnienia dużej ich ilości w gotowych pakietach jest normą. A programiści C++ co mają? STLa oczywiście, a więc drzewo (*map, *set), tablicę (vector, deque) i listę (list). Plus kolejkę (i kolejkę priorytetową), stos i w pewnym sensie kopiec. Coś pominąłem? Może i tak, ale raczej niewiele.

    Z TR1 i następną wersją standardu (C++2009?) dostajemy do naszej kolekcji tablicę mieszającą (unordered_*map, unordered_*set). To już fajna rzecz, ale programiści takiej n.p. Javy mają java.util.Hashtable niemal od zawsze i nie jest to dla nich nic ekscytującego.

    Coś jeszcze? Ano dużo! Jak jest jakaś rzecz, której w standardzie C++ nie ma, a uważamy, że być powinna, to najpewniej ona już od dawna jest. W bibliotece Boost. Boost ma mapy dwukierunkowe, wielowymiarowe tablice, bufory cykliczne, tablice stałej wielkości (weszły do TR1), uogólnione krotki (także TR1) i wspomniane tablice mieszające (i znowu TR1).
    boost
    To już trochę bardziej imponujący arsenał. Czy czegoś jeszcze brakuje?

    Nie będę przedstawiał Google Summer of Code – znacie ten wspaniały program znajdowania wakacyjnego zajęcia dla ambitnych młodych programistów. Owóż jeden z uczestników onego programu zaproponował wzbogacenie boosta o to, co w nim brakuje, a mianowicie całą gamę drzew słownikowch (trie, skompresowane trie, drzewa sufiksowe… oj czego to on nie zaproponował). Muszę powiedzieć, że kibicuję temu projektowi z całego serca, bo jest on w moim odczuciu arcyważny dla społeczności C++’owej. Dlaczego? Ano dlatego, że daje nam kolejną standardową strukturę danych.
    soc08-300x300_white
    Dlaczego standardowe struktury danych są ważne? Ano dlatego, że ułatwiają łączenie kodu. Jest w internecie taka znakomita (pod pewnymi względami) biblioteka, co się nazywa Xerces-C. Biblioteka ta stanowi zaawansowaną implementację DOMu w języku C++. Albo kompletną, albo temu stanowi bliską.
    apache-xerces
    Biblioteki onej używałem w jednym z projektów szkolnych, i niestety nie było to mimo wszystko przyjemne doświadczenie. Mimo, że mieliśmy dobrze zaprojektowaną aplikację, a – bez fałszywych przechwałek – byliśmy już naonczas całkiem wyszkolonymi programistami (temat z drugiego roku – znaliśmy już język programowania i kilka API). Dlaczego użycie Xercesa było nieprzyjemne? Bo xerces używał xercesowych standardów.

    Mniejsza o to, że do wewnętrznej reprezentacji tekstu używa on własnego typu (ni to char ni to wchar_t) : on używa go również w API. jako jedynej opcji. Nie da się xercesa przekonać do stworzenia elementu pisząc:

    {codecitation class="brush: js"}document.createElement ("hello");{/codecitation}

    Trzeba być dużo bardziej dosadnym:

    {codecitation class="brush: cpp"}using namespace xercesc;

    document.createElement ((XMLCh[]){chLatin_h, chLatin_e, chLatin_l, chLatin_l, chLatin_o, chNull});{/codecitation}

    Tłumaczenia, że to interoperacyjność czy że to unikod o kant stołu rozbić. Program bez konkretnej potrzeby (tu takiej nie ma) porzucający standardowe API na rzecz własnych wynalazków tylko dlatego, że te drugie są własne to niedobry program. Tworząc taki program utrudniamy życie autorom, którzy chcą z naszym programem się komunikować lub choćby chcą włączyć fragmenty naszego programu w swój program, czyż nie? Szczególnie bolesne jest to w kwestii bibliotek, dla których łączenie z innymi programami jest racją bytu.
    xmlch
    Mając takie XMLCh[] nie możemy używać żadnych (zarówno standardowych, jak i przez nas na nasze potrzeby napisanych) funkcji, klas czy modułów zbudowanych z myślą o współpracy ze standardowym std::wstring’iem czy std::string’iem. Truć można tak w kółko, a i tak znajdą się mądrzejsi, którzy będą klepać własne łańcuchy znaków, smart pointery (mimo, że istnieje tr1::shared_ptr) czy opakowania delegatów (mimo, że tr1::function ma się dobrze).

    Jeśli takie cyrki robi się w ramach zamkniętego oprogramowania, to mniejszy problem (bo tego nie widzę), ale niech mi ktoś wyjaśni, czemu służy robienie takiego mętliku w oprogramowaniu otwartym?

    Autorem artykułu jest Maciej Kamiński.

    Read more
    Zmieniony ( sobota, 02 stycznia 2010 18:40 )

    Emacs wiecznie żywy? PDF Drukuj Napisz e-mail
    Wpisał %s Patryk yarpo Jar
    sobota, 02 stycznia 2010 18:30
    Oprogramowanie / Edytory

    Na to wygląda. Emacs jest przestarzały, i nijak się nie ma do nowoczesnych IDE. Ja niestety jestem chyba jakoś “na bakier” z nowoczesną techniką: testowałem, różne cuda na kółkach, netbeansy, eclipsy, kdevelopy i inne, ale jakoś się nie mogę przekonać. w emacsie wszystko jest na swoim miejscu ;-)

    Autorem artykułu jest Maciej Kamiński.
    Read more
    Zmieniony ( poniedziałek, 04 stycznia 2010 03:46 )

    Szybko, szybciej, jeszcze szybciej PDF Drukuj Napisz e-mail
    Wpisał %s Patryk yarpo Jar
    sobota, 02 stycznia 2010 18:27
    Inne tematy / C++

    Czasem tak się zdarza, że mój program w języku C nie działa wystarczająco szybko. Właściwie zdarza się tak prawie zawsze ;-) Po tweakowaniu algorytmu i dodaniu opcji -O2/-O3 w kompilatorze dalej jest za wolno. Nie musi to jeszcze oznaczać konieczności zamiany maszyny na mocniejszą lub pisania wstawek asemblerowych. Szczególnie, jeśli NIE potrzebujesz zgodności z normami ISO i zgadzasz się na … pewne błędy.

    Tajna broń

    Kompilator GCC ma w swoim arsenale opcję -ffast-math. Pozwala ona m.in. na następujące (nielegalne!) optymalizacje:

    • Operacje na odwrotnościach: zezwala na zastąpienie wyrażenia postaci x/y wyrażeniem postaci x*(1/y) – jeśli dzielenie przez y występuje często daje to poważne oszczędności, gdyż mnożenie jest szybsze od dzielenia
    • Nie ustawianie ERRNO w funkcjach matematycznych implementowanych jako pojedyńcza instrukcja
    • Upraszczanie wyrażeń nawet jeśli skutkuje to zmianą “znaku zera” i w ogóle olewanie przez kompilator tego zagadnienia (w formacie IEEE rozróżniamy +0 i -0, na czym niektóre programy polegają)
    • Założenie, że wynik ani żaden z argumentów nie jest NaN lub +/- Inf

    W związku z powyższym każde użycie -ffast-math może powodować, że aplikacja będzie dawała mniej dokładne (lub wprost: złe) wyniki, a w skrajnym wypadku się wysypie: z tego powodu rzeczona opcja nie jest domyślnie wywoływana przez -O ani nawet przez -O3.

    v2
    V2 – tajna broń Niemców. Obraz pochodzi z Wikipedii.
    Autorem artykułu jest Maciej Kamiński.
    Read more
    Zmieniony ( poniedziałek, 04 stycznia 2010 03:46 )

    Strona 3 z 4
    << Początek < Poprzednia 1 2 3 4 Następna > Ostatnie >>