Forwardowanie akcji w PHP

Od kilku dni prace nad frameworkiem (lub tym czym to na razie jest) w PHP nie posuwają się naprzód, a to z kilku powodów. Jednym z nich są napotkane trudności, a drugim inne, bardziej lub mniej ważniejsze zajęcia (m.in. grzebanie w asemblerze i “czystym” C). Mam nadzieję, że wkrótce wrócę do tego kodu. Ta wspomniana trudność, jaka mi stanęła na drodze to forwardowanie. A dokładniej to pewna sytuacja przy forwardowaniu kontrolera/akcji.

Czytaj dalej

Pseudo-inteligentny router w PHP

Wiem, że powinienem w tym czasie zamiast bawić się w PHP rozwijać te kilka ważnych dla mnie projektów w C++, ale doszedłem do wniosku, że poświęcę jeszcze trochę czasu na uporządkowanie kilku spraw i projektów, aby potem zabrać się pełną parą za komunikator ;) Notatka nie będzie dotyczyć zabaw z typowym routerem, mowa tu o komponencie/module frameworka odpowiedzialnego za obsługę żądań (requestów) i spraw związanych z generowaniem linków. Może nie jest to typowe, modelowe zadanie routera, tak czy owak w moim małym, skromnym frameworku spełnia takie funkcje ;)

Czytaj dalej

Przemyślenia o przyszłości programisty

Zastanawiałem się ostatnio nieco nad swoją przyszłością w roli programisty. Czas najwyższy “olać” kilka języków, a zacząć się specjalizować w tych kilku wybranych, tych ulubionych, tych które mnie najbardziej interesują. W obecnej chwili myślę, że będzie to głównie C/C++/D, jeśli chodzi o kompilowane, natomiast ze skryptowych to Perl, PHP, może Python (choć tego akurat wcale nie znam i na razie się nie śpieszę poznać). Ewentualnie mogę do tej listy dołączyć C#, ale nie planuję większych zabaw z .

Czytaj dalej

Plugin Text Feed Count

Każdy już zna zapewne FeedBurnera. Jedną z ciekawych funkcji, jakie oferuje jest licznik subskrybentów naszego kanału. Licznik ten jest graficzny, co nie wszystkim może odpowiadać. Amit Agarwal na swoim blogu w notce “FeedBurner Tip: Change The Text Inside FeedCount Chicklets” zaprezentował ciekawy hack na zmianę tekstu widniejącego na liczniku graficznym. Ja jednak chcę czysty tekst z liczbą czytelników feeda. Na pomoc przychodzi API FeedBurnera, a dokładniej Awareness API. Nie będę się tu zagłębiał w szczegóły tego API, zainteresowanych odsyłam do dokumentacji.

Czytaj dalej

Migracja

Migracja na nowy hosting (dzięki lan za kawałek miejsca). A skoro już migruję to przy okazji nowa domena, jid i e-mail. Wszystko za jednym zamachem, aby nie narobić zbyt wielkiego zamieszania i problemów ;) Historia z “nową” domeną jest ciekawa. Do niedawna malcom.pl była domeną firmową pewnej firmy. Kiedyś nawet złożyłem im ofertę odkupienia domeny, ale oczywiście definitywnie odmówili jakiejkolwiek możliwości odstąpienia/odsprzedaży. Tak więc, zadomowiłem się pod znanym obecnie adresem malcom.

Czytaj dalej

Spodek 2.0, czyli śląskie GrilIT

Może już wkrótce Śląsk będzie miał swoje własne śląskie GrilIT, czyli spotkania ludzi związanych z szeroko pojętymi technologiami sieciowymi i IT. Z inicjatywą śląskich spotkań “wyskoczył” normanos na swoim blogu. Tam zapewne również będą pojawiać się aktualne nowinki i informacje dotyczące implementowania beta spotkania. Ja jak najbardziej popieram inicjatywę, nie jesteśmy gorsi od innych i swój “Spodek 2.0” też będziemy mieli! Mam nadzieję, że wszystko pójdzie według planów i już za niedługo będziemy mieli swoje pierwsze “spotkania sieciowe” w Katowicach.

Czytaj dalej

GoogleCode Downloader

Google Code jest jedną z kilku rzeczy, jakie naprawdę się udały temu monopoliście ;) Pewnie mieliście też taką sytuację, że znaleźliście ciekawy kod źródłowy bądź projekt przy pomocy tej wyszukiwarki. Tak Wam się spodobał, że bardzo zapragnęliście go posiadać. Próbujecie pobrać (przeważnie archiwum) z macierzystego serwera, gdzie owe pliki się znajdują i rozczarowanie - 404! Pod podanym adresem już nie znajdziecie tego, czego tak bardzo szukaliście. Smutek na twarzy się pojawia…

Czytaj dalej

Makra WinAPI i problemy z nazwami

W ramach wstępu zapraszam do lektury artykułu Marcina Kasperskiego pt. Horror nazewniczy pod windows. Miałem podobny problem z SendMessage() w xiT++, przez co początkowo została wykorzystana nazwa sendMessage() w bibliotece używanej na systemach Microsoftu. I dziś udało mi się na szybko ten problem rozwiązać obejść przy pomocy preprocesora. Wkurzała mnie taka “odmienność” nazwy jednej metody od stylu nazewnictwa reszty. Ten “magiczny” kod (pochodzący z xiT++): #ifdef WIN32 // Fixed SendMessage function name problem on Win32 #ifdef UNICODE bool SendMessageW(const Message& message); #else bool SendMessageA(const Message& message); #endif #else bool SendMessage(const Message& message); #endif Może komuś się przyda takie szybkie i proste rozwiązanie ;) Choć to jest chamski i brzydki hack!

Czytaj dalej

Nazwy typu wyliczeniowego w C++

W czasie debugowania (i nie tylko) nieraz potrzeba wyświetlić nazwę wartości typu wyliczeniowego - enum. Wszakże lepiej i łatwiej zorientować się widząc nazwę niż samą liczbę i szukać po plikach, definicjach jakiej nazwie ona odpowiada. Szkoda, że sam język nie posiada jakiejś konstrukcji do tego celu, pre-definiowanego makra lub czegoś innego. Poszukałem trochę w sieci i znalazłem kilka propozycji rozwiązań tego problemu: Makra do debug’owania i nie tylko (część dyskusji) Converting C++ enums to strings C++ enum names as strings C++, outputing enum values from fprintf Generic Printable ENUM++ Niestety nie są one ani proste ani łatwe… Chciałbym coś tak prostego w użyciu i banalnego jak same typy wyliczeniowe, bez zbędnego “babrania” się z podobną składnią/konstrukcją.

Czytaj dalej

Gadu Radio 1.7

Nowy release wtyczki Gadu Radio dla komunikatora Tlen.pl ;) Changelog wersji 1.7: dodano listę kanałów do pliku konfiguracyjnego; Jedyna nowość to lista kanałów. Teraz już nie będę musiał wydawać nowej wersji, gdy pojawi się nowy kanał w usłudze “Gadu Radio”. Wystarczy dodać w pliku ini odpowiedni wpis z danymi nowego kanału i można słuchać owego kanału ;) Uwaga! Zmienił się plik konfiguracyjny pluginu (GaduRadio.ini). Plugin wraz z plikiem konfiguracyjnym można pobrać z forum ekipy oraz strony projektu.

Czytaj dalej