technikalia

Technika w czystej postaci, wpisy nie tylko o hackowaniu, programowaniu i elektronice...

Aktualizacja dokumentacji proto tlenu

Zaktualizowałem moją nieoficjalną dokumentację protokołu tlen.pl o kilka elementów. Publikacja w najnowszej wersji dostępna jest na stronie docs.malcom.pl/tlen/proto/ projects.malcom.pl/tlenproto/. Do zmian można zaliczyć aktualizację rozdziału o połączeniach szyfrowanych i autoryzacji, a także kilka nowych rozdziałów. Jednym z ciekawszych, nowo dodanych, jest rozdział o ciekawostkach prezentujący “inteligentny” parser serwera. Więcej informacji na stronie publikacji ;)

XHTMLa ciąg dalszy

Kontynuuję tematykę XHTML-a w odniesieniu do mojej ostatniej notki o poprawnym serwowaniu tego formatu. Doszedłem do wniosku, że obecnie będę uznawał tylko XHTML 1.0 Strict i XHTML 1.1, innymi specyfikacjami się bawił już nie będę… Ale nie o tym miała być mowa, lecz znów o MIME Type. Obecnie większość serwerów ma zdefiniowany odpowiedni typ dla plików z rozszerzeniem .xhtml, które serwowane są jako application/xhtml+xml. Dlatego będę unikał pakowania XHTML-a (1.1) w pliki .

Czytaj dalej

Makro SendMessage a nazwa funkcji

W notce Makra WinAPI i problemy z nazwami przedstawiłem proste i łatwe rozwiązanie problemu wynikającego z wykorzystania nazwy SendMessage w definiowanej funkcji pod Windowsem. Rozwiązanie to jest brzydkim hackiem i obejściem problemu, ale działa… i zawiera też kilka wad. Główną wadą jest wymóg dołączenia nagłówka windows.h do projektu, tuż przed nagłówkami biblioteki, w której chcemy zadeklarować funkcję o nazwie SendMessage(), a w skrajnych przypadkach (chyba w każdym) nawet do pliku/projektu tej biblioteki.

Czytaj dalej

docs.malcom.pl

Tak, jak pisałem w ostatniej notce wpominając coś na temat docs.malcom.pl, mogę ogłosić otwarcie serwisu, a raczej repozytorium publikacji, gdzie będę mógł sobie wszystkie artykuły i publikowane materiały zamieszczać. Wszystko ładnie opisane, skatalogowane i w jednym miejscu ;) /docs - docs.malcom.pl Może kilka słów technicznych. Cały “engine” składa się z 3 plików php - 2 klas, które można określić jako kontroler i model oraz kilku plików szablonu opartych oczywiście o czysty PHP ;)

Czytaj dalej

Serwowanie poprawnego XHTMLa

Za sprawą znajomego trafiłem na artykuł Pornela “Irracjonalne uwielbienie dla XHTML” Wszystkich zachęcam do zapoznania się z tym materiałem. Mnie osobiście skusiło to do kilku refleksji ;) XHTML nie jest następcą HTML. XHTML i HTML to ten sam język przedstawiony na dwa sposoby — jako XML i SGML. Ich semantyka nie różni się nic a nic, bo krótka specyfikacja XHTML 1 zawiera tylko opis różnic związanych ze składnią, a we wszystkich pozostałych kwestiach odsyła do HTML 4.

Czytaj dalej

Struktura archiwum komunikatora Tlen.pl

Znów o tlenie, nowa publikacji z serii “Tlen.pl bez tajemnic”, tym razem na temat struktury archiwum komunikatora Tlen.pl. Tlen.pl tworzy dla każdego profilu folder DataBase, umiejscowiony w katalogu danego profilu. W folderze tym są przechowywane pliki archiwum, a w nich zależnie od ustawień - wiadomości, rozmowy i smsy. Pliki archiwum można podzielić na dwa rodzaje - pliki indeksowe i pliki danych. Pliki indeksowe, o rozszerzeniu .idx, jak sama nazwa wskazuje, składają się z indeksów przechowujących zapisane informacje o wiadomościach, rozmowach, i smsach, których treść znajduje się w plikach danych, identyfikowanych rozszerzeniem .

Czytaj dalej

Autoryzacja pluginów w komunikatorze Tlen.pl

Kolejna publikacja z serii “Tlen.pl bez tajemnic” prezentująca tajemnice systemu autoryzacji pluginów. Oczywiście, tak jak w przypadku połączeń szyfrowanych, i tym razem udało się w to wmieszać andka, który nieco prędzej opublikował swoje wnioski na temat autoryzacji pluginów. System pluginów w komunikatorze tlen.pl opiera się na łączonych dynamicznie bibliotekach - DLL (Dynamic Link Library) ze zmienionym rozszerzeniem na .tpl, co ułatwia identyfikacje i odróżnienie pluginu od innych bibliotek. Oficjalne pluginy wydane przez twórców tlen.

Czytaj dalej

Convert TDateTime to Unix TimeStamp

O tym, że “gardzę” językami pascalowatymi i nie lubię Borlanda niektórzy pewnie wiedzą. Żyjemy sobie w błogiej świadomości, że nie będziemy mieć żadnej styczności z Delphi, czy wymysłami Borlanda, a tu nagle krach. Otrzymywane dane z jakiegoś źródła, bądź gdzieś wysyłane musza być zapisane w nad wyraz pięknym formacie TDateTime. Zabić to mało… Na szczęście można w łatwy sposób przekonwertować dziwny format TDateTime (8 bajtów) na coś bardziej ludzkiego - unixowy timestamp (4 bajty).

Czytaj dalej

Spodek 2.0 beta

Właśnie wróciłem z Katowic… Już po organizacyjnym spotkaniu szumnie zwanym “Spodek 2.0 beta”. Zebrało się około 10 osób. Odwiedził nas Sebastian Kwiecień, jeden z twórców wrocławskiego Grill IT, podzielił się swoimi uwagami związanymi z początkami działalności wrocławskich spotkań. Na swojego blipa wrzucił pamiątkową fotkę ;) Pierwsza wersja “stable” planowana jest na przełom sierpnia/września. Więcej bieżących informacji na GoldenLine. Post ten jest 300-tnym na MalDevBlogu, więc kolejna okazja do świętowania ;)

Połączenia szyfrowane protokołu Tlen.pl

Udało mi się wreszcie poświęcić chwilkę na napisanie publikacji na temat połączeń szyfrowanych w tlenie. Kilka dni temu wraz z andkiem analizowaliśmy szczegóły techniczne działania tej funkcjonalności. Jest to pierwsza publikacja z cyklu “Tlen.pl bez tajemnic”, planuje jeszcze kilka publikacji, których tematem będzie autoryzacja pluginów, kodowanie plików konfiguracyjnych komunikatora, format archiwum itd… Do tej pory żadna dostępna biblioteka, bądź klasa do obsługi protokołu komunikatora tlen.pl nie umożliwiała wykorzystywania szyfrowanych połączeń miedzy klientem a serwerem.

Czytaj dalej