CT - Creative Technology

Category: software (Page 2 of 5)

Hosting w godaddy, a problem Error 404 przy zastosowaniu mod_rewrite

Dziś na jednym z kont posiadanych w godaddy chciałem dopisać regułkę mod_rewrite. Wszystko super, tylko niestety na hostingu współdzielonym dostawca ma problem z regułkami. Nie mniej i na to znalazło się wyjście.

Zakładając, że nasza reguła znajduje się w subdomena.domena.pl/pierwszyFolder/drugiFolder/ i przykładowo plik .htaccess wygląda następująco:

  1.  

Powinno to zostać zastąpione przez:

  1.  

Już po komunikatach błędów widać, że niby ścieżka odwołania do docelowego pliku jest prawidłowa, a mimo to serwer ma problemy z jej znalezieniem. Dodanie RewriteBase je rozwiązuje.

Vista x64, a GIT (msysgit)

Dziś postanowiłem wziąść się za stary, ale dobry, projekt – Pixelpost.

Team, w tak zwanym międzyczasie (w projekcie mnie nie było chyba z dobre 2 lata), rozpoczął prace nad kompletnie nową, napisaną od zera, wersją aplikacji. Zmieniła się architektura i wszystko chyba stało się bardziej dojrzałe, ale nie miało być o tym.

Po kolei projekt ten funkcjonował na repozytoriach od CVSa (jeszcze za czasów SF.net jako jedynego słusznego miejsca rozwoju projektów typu Open Source), przez SVN (jako projekt na Google Code), po aktualny projekt na GITHubie.

Pierwszym problemem jest ogarnięcie środowiska developerskiego. Albo jeszcze nie wgryzłem się dostatecznie w temat, albo GIT jest bardziej wymagającym rozwiązaniem niż logika nakazuje. Wcześniej ściągało się klienta CVS/SVN i było pięknie. Teraz trzeba było jeszcze się uzbroić w coś więcej. Na wszelkimi namowami ściągnąłem msysgit. Instalka niby do 35 MB, ale po doprowadzeniu do docelowej postaci na dysku znika już ponad 900MB. Wszystko przez to, że zawiera wbudowane distro chyba CYGWINa (jakoś specjalnie nie chce mi się zagłębiać, bo miejsce jeszcze nie jest aż tak krytycznym problemem).

Ściągnąłem wersję msysGit-fullinstall-1.6.4-preview20090729.exe, bo przecież full package będzie lepiej, szybciej i w ogóle. I cóż się okazało – nie pod Vista x64 🙂
W sieci znalazłem podpowiedź, że nie wiedzieć czemu, po zapuszczeniu instalatora sieciowego wszystkie problemy powinny zniknąć. Tak więc sciągnąłem msysGit-netinstall-1.6.4-preview20090730.exe i poszedłem się rozejrzeć za świątecznym ciastem 🙂
Ku mojemu zdziwieniu, po zainstalowaniu się, cały pakiet faktycznie zaczał działać i wcześniej ściągnięty tortoiseGit nie miał już problemów, żeby dać się skonfigurować i używać.

MySQL – przeprawy z tworzeniem procedur (błąd 1307) i problemy z aktualizacją uprawnień MySQL pod MS Vista

Krótka notka, która być może komuś ułatwi życie.

Problem: tworzenie poprawnych składniowo procedur (tworzą się na innych serwerach) na moim nie działało.
Objaw:
ERROR 1307 (HY000): Failed to CREATE PROCEDURE loginOK
Przyczyna: najprawdopodobniej ostatnio dokonywana była na serwerze aktualizacja silnika; mechanizm obsługi danych działa, ale najprawdopodobniej nowy model uprawnień nie był rozpropagowany na dotychczasowe struktury.
Rozwiązanie: wykonanie polecenia z wiersza poleceń:
mysql_upgrade -u root -p

Może się wykonać prawidłowo, ale nie musi (zwłaszcza pod Windows Vista i dowolnym innym z linii PROF lub Server).

Problem: Może się zdarzyć tak, że i to nie zadziała, zwracając lakoniczny błąd w stylu:
mysql_upgrade FATAL ERROR: Failed to create temporary file for defaults

Rozwiązanie: uruchomienie linii poleceń z prawami administratora (czyli wchodzimy z menu w Akcesoria, wyszukujemy Command Prompt lub coś zbliżonego, prawym na tym skrócie i wybieramy uruchomienie jako administrator).

To powinno rozwiązać większość problemów.

Synchro Google Calendar & Windows Mobile – it works :)))

Dziś rano przeczytałem super newsa – Google w końcu zdecydowało się ułatwić życie swoim userom wykorzystującym urządzenia synchronizujące się przez ActiveSync (Windows Mobile + iPhone). Do tego celu po prostu użyli rozwiązania zgodnego z Microsoftowym Exchange Serverem.

Zmierzając do celu postępujemy zgodnie z opisem newsa. Gdyby pojawiły się problemy i błąd 0x80072f06, to kasujemy ustawienia serwer Exchange, tworzymy je ponownie dokładnie tak samo jak przed chwilą, tylko na końcu zaznaczamy same kontakty. Jeśli synchro się powiedzie, wówczas dodajemy (przez edycję ustawień) kalendarze.

Wielu z was pewnie ma więcej kalendarzy niż tylko jeden, a defaultowo synchronizuje się tylko podstawowy. Rozwiązaniem jest wejście na http://m.google.com/, zalogowanie się, a następnie na usługę Sync (https://m.google.com/sync/settings/iconfig/device) i wybranie stosownego kalendarza. Zastanawiam się, czemu niestety nie ma opcji wyboru kalendarzy, do których mamy tylko prawo odczytu – ich niestety nie można synchronizować.

Tutaj możecie trafić na jeszcze jedną kwestię – nieobsługiwania waszego urządzenia przez aplikację Google. Rozwiązanie jest proste – obsługują iPhone, więc trzeba ściemnić i go zasymulować. Do Firefoxa dogrywamy sobie dodatek User Agent Switcher i ustawiamy nagłówek identyfikujący przeglądarkę na:

  1.  

Dzięki temu możemy sobie wykliknąć już wszystkie kalendarze, które nam “przysługują”.

W narzekaniach ludzi pojawiała się jeszcze jedna kwestia – Google Apps hostowanych pod własną domeną i braku dostępu do tamtych danych. Rozwiązanie też jest proste – trzeba męczyć adminów domeny, żeby załączyli w panelu stosowne opcje (domyślnie dostęp mobilny jest zabroniony).

Dziś tylko po polsku, bo angole już mają sporo miejsc do wyczytania tych tipsów. Miłej zabawy.

PS Żeby nie było, że to jakaś ściema – dziś przetestowałem wszystko na moim HTC Kaiser (HTC TyTn II) z Windows Mobile 6.1 Proffesional.

legia.mobi

Po kilku miesiącach przerwy w końcu udało się ukończyć prace nad nowym projektem – mobilna wersją witryny Legia LIVE!legia.mobi. Ponieważ jest to nasz pierwszy projekt z gatunku mobi, dlatego wszelka konstruktywna krytyka i komentarze są bardzo mile widziane.

After few months of breake finally we have finished works on new projekt – mobile version of Legia LIVE!legia.mobi. Because this is our first mobi-kind project then constructive critic and comments are welcome.

Problem popsutej treści pod Apache / Problem of break down content under Apache

Od kilku miesięcy, jakoś po zmianie środowiska webdeveloperskiego z budowanego na własną rękę na WAMPa, występował u mnie problem popsutych/zmixowanych/rozjechanych/… obrazków, plików JavaScript i wszystkiego, co swoją treścią przekraczało 64KB (65535B).
Gdy od czasu do czasu trafiało się zlecenie i trzeba było wczytać do przeglądarki coś ponad te 64KB, to aż mnie szlag trafiał. Zaczynało się kombinowanie jak to obejść, później googlanie w celu znalezienia podobnego błędu u innych i jakiejś recepty na całe zło.
Okazało się, że rozwiązanie było dość proste i, co najśmieszniejsze, znalazłem je na forum poświęconym MS IIS.
Recepta wygląda tak – otwieramy plik konfiguracyjny httpd.conf i odkomentowujemy:

  1.  

Być może jest jeszcze ktoś, kto męczy się z podobnym problemem i komu mój wpis pomoże (dotarcie do rozwiazania nie było dla mnie takie szybkie).

Above text tells that if you have problems with not proper showing images, loading scripts or any other content which Apache sends to your browser and what is bigger then 64KB (65535B) then it must be the same problem as I had for a few months (after changing webdevelopment plafromr to WAMP).
Solution is quite easy. Its enough just to uncomment in httpd.conf such lines:

  1.  

I belive that this note can help also someone else as it wasn’t so easy (for me) to find it out.

PS Oryginalny link z rozwiązaniem / Oryginal link with solution:
http://www.sitepoint.com/forums/showpost.php?p=1840974&postcount=15

Nowości na legialive.pl

Jakiś czas temu wprowadziliśmy na legialive.pl kilka nowości. Są te starsze, jeszcze nie przedstawiane wprost, ale widoczne dla wprawnych obserwatorów i te nowsze.

Zaczynając od starszych – nasi widzowie od dłuższego czasu (chyba od końcówki zeszłego roku) mają dostęp do 3 rodzai kanałów RSS:

  1. dostępny od dawna kanał z newsami, wzbogacony jakiś czas temu o miniaturki zdjęć – http://www.legialive.pl/rss/newsy.xml
  2. kanał informujący o najnowszych video publikowanych na legia.tvhttp://legia.tv/rss/newsy.xml
  3. oraz kanał informujący o najnowszych galeriach foto, który (podobnie do kanału newsowego) zawiera miniaturki wybranych zdjęć – http://www.legialive.pl/rss/galerie.xml

Do tego wszystkiego dochodzi jeszcze kilka kolejnych bajerów. Mianowicie można teraz drukować przeglądanego newsa, dzisiejsze lub wczorajsze oraz dowolny inny zestaw (istnieje opcja wyboru, co ma zostać wydrukowane). Dzieje się to za pomocą przycisku “drukuj” ().
Jest, już standardowa pozycja w każdym portalu, “poleć” (). W przeciwieńswie do jednego z naszych “konkurentów”, nie przerzucamy odpowiedzialności na program pocztowy, więc linka można wysłać mając nawet nieskonfigurowany program pocztowy (lub nawet go nie posiadając w systemie).
Jest ikonka RSSów (), po której naciśnięciu możecie wybrać jedną z wyżej opisywanych opcji kanałów. Taką samą ikonkę można zaobserwować w pasku adresu w nowych przeglądarkach (Mozilla Firefox, Internet Explorer 7, Opera) na wszystkich stronach Legia LIVE!.
Jako ostatnia prezentuje się ikona “dodaj do…” (), która pozwala zapisać linka do danej treści w bazie kilku największych stron zajmujących się gromadzeniem tego typu danych (zarówno z naszego “podwórka”, jak i zagranicznych).
Nie można też zapomnieć o naszych wiernych forumowiczach, którzy po przeczytaniu całego newsa mogą w łatwy sposób przenieść się spowrotem na forum przez przycisk “Forum Kibiców” ().

Ostatnim pomysłem jest możliwość publikowania na stronach naszych kibiców informacji o najnowszych newsach, jakie pojawiają się na naszej stronie. Póki co są przygotowane 2 zestawy kolorystyczne – na czarne i na białe tło. Przykładowy wygląd poniżej:

Szczegółowe informacje możecie znaleźć tutaj:
http://www.legialive.pl/news/26266_Nowosci_Legia_LIVE.html

Mamy nadzieję, że nasza praca wychodzi na przeciw oczekiwaniom naszych widzów, ale oczywiście zawsze jesteśmy otwarci na ich, tudzież Wasze, sugestie.

Feed slideshow

Już dawno temu wrzuciłem na swoją stronę ciekawą opcję pod tytułem Feed slideshow. Bazuje ona na kodzie Google, odrobince mojego i feedach blogów, które oglądam.
Nie mniej do tej pory nie było okazji, żeby się tym pochwalić (jak zawsze – totalne urwanie głowy), dlatego zaległość nadrabiam teraz:
http://blog.piotrgalas.com/about/#ss

A long time ago I’ve added new interesting solution called Feed slideshow. Its based on Google’s code, some part of own code and blog’s feeds which I’m watching.
Till today there was occasion to inform you about it (as always – lots of stuff to do), but now it’s time to fix it:
http://blog.piotrgalas.com/about/#ss

Skype na Pocket PC

Dziś przetestowałem Skype na Pocket PC i musze przyznać, że bardzo fajnie to śmiga. Czas chyba w końcu zakręcić się za iPlusem i wycisnąć coś więcej z tej puszeczki (bo nie wszędzie przecież jest zasięg WiFi).

Google Calendar i Pocket PC (choć nie tylko)

Od jakiegoś czasu jestem szczęśliwym posiadaczem urządzenia z Windows Mobile 6 na pokładzie. Jednym z powodów, który przeważył o jego zakupie była chęć “organizacji czasu”. Tyle się słyszy o możliwościach, jakie obecnie dają urządzenia mobilne, nowoczesne telefony komórkowe, laptopy, …, aleeee … .

Jak to by mogło być, żeby nie było żadnego “ale”. Wszystko jest pięknie, gdy mówimy o hermetycznych, homogenicznych środowiskach aplikacyjnych, gdzie klient i wspierająca go platforma serwerowa pochodzi z jednej stajni, od jednego producenta. Tutaj trzeba przyznać, że faktycznie w wypadku takich okoliczności wszystko wygląda cacy, trzeba mieć tylko na to “trochę” kasy i śmiga aż miło (a jeśli nie, to przed szefem zawsze jest na kogo zwalić winę – “płacimy za licencję, więc pomęczymy się z supportem dostawcy rozwiązania”). Nie mniej nie o tym ma być ten cały post.

Zmierzając powoli do meritum problemu napiszę, że strasznie doskwiera mi brak możności wykorzystania dobrodziejstw dawanych ludziom przez przepiękne, funkcjonalne i całkiem dobrze działające aplikacje web 2.0 oraz wspomagające je pakiety typu Open Source.

Zapewne większość z was zdąrzyła się już spotkać z Google Calendar. Muszę przyznać, że usługa ta bardzo przypadła mi do gustu (pewnie z tego powodu dorobiłem się w niej kilkunastu kalendarzy, każdy do innych “zadań specjalnych”). Dodatkowo prywatnie, ale i służbowo, do obsługi poczty internetowej używam Mozilla Thunderbird. I tutaj właśnie zaczyna się cała zabawa. Któregoś dnia “z nudów” postanowiłem trochę poeksperymentować, lekko pod kątem pewnych projektów, a trochę dla zaspokojenia własnej ciekawości i ułatwienia sobie życia. W ten oto sposób zrodziła się idea sprzężenia całego tego ustrojstwa w jeden, sprawnie funkcjonujący, dostępny 24h na dobę z każdego miejsca na świecie i z dowolnego “terminala”, czasem nawet mobilnego, “system zarządzania kalendarzem/zdarzeniami”.
Google Calendar, jako podstawa całego tego zamieszania, jest niezależny od czego kolwiek. Kolejny etap to integracja na drodze Thunderbird < -> Google Calendar. Jak szybko się okazało, udało się to dość szybko wprowadzić w życie – wystarczyły raptem 2 dodatki.
Pierwszy z nich to Lightning (pl. Błyskawice). Dość ciekawa zabawka, która pozwala z “prostego” i “prymitywnego” Thunderbirda uczynić coś znacznie bardziej zbliżonego do “konkurencyjnego” i komercyjnego Microsoft Outlooka – dodaje funkcjonalność kalendarzy oraz zadań. Swoją przygodę z nim zaczynałem, gdy ten był w wersji 0.7. Jakiś czas temu wyszła 0.8 i interfejs uległ znacznej poprawie, nawet komercyjne projekty już nie musiałyby się wstydzić podobnego (a część na pewno mogłaby zazdrościć).
Drugi dodatek to Provider for Google Calendar. To właśnie dzięki niemu możliwym stało się sprzężenie TB z gCal – dodaje on natywne (GData) wsparcie googlowego formatu iCala.
Co ciekawe i fajne, w ten sposób uzyskałem praktycznie bezproblemowe, dwukierunkowe synchronizowanie “lokalnego” kalendarza TB z gCalem. Póki co sprawuje się nadzwyczaj dobrze (żebym tylko nie zapeszył :P).

Jak widać pierwszy krok w całej batalii poszedł dość gładko i zachęcony pierwszym sukcesem postanowiłem zabrać się za zsynchronizowanie mojego Pocketa z pozostałymi elementami układanki. Niestety tutaj już tak kolorowo nie było, a w zasadzie powinienem pisać, że nadal nie jest. Googlałem za jakimś produktem, nawet komercyjnym, który ułatwiłby pełną synchronizację konta kalendarzowego z urządzeniem mobilnym i niestety nic ciekawego nie znalazłem.
Próby postanowiłem rozpocząć jednak od tych darmowych i pierwszą rzeczą, na która natrafiłem w swoich poszukiwaniach, był GMobileSync. Wszystko niby fajnie, ale potrafi on synchronizować tylko jeden kalendarz. Niestety to nie wystarczyło dla mnie, więc poszukiwania trwały dalej.
Ostatnio natknąłem niby to na cudowną platformę, wynik projektu Open Source, która potrafi zsynchronizować wszystko i ze wszystkim – Funambol. Jakże wielkie było moje rozczarowanie, gdy biorąc się za niego wczesnym wieczorem, musiałem pierwszą potyczkę poddać o 4 rano bez żadnego sukcesu.
Docelową platformą systemową dla Funambola miał się stać Windows 2000, przynajmniej tymczasowo. Instalator pięknie śmignął przez cały proces osadzania softu na dysku, więc nadeszła pora odpalić serwer. No i tutaj pojawiło się pierwsze ale – nie chciał powstać. Walczyłem z tym do 4 rano i dałem sobie spokój – w końcu kiedyś trzeba się trochę przespać. Kolejne starcie podjąłem już “wypoczęty” kolejnego dnia. Okazało się, że autorzy nie przewidzieli bariery 2046 znaków, jakie system Windows 2000 może przyjąć w ramach komend wydawanych z poziomu skryptów powłokowych. Tutaj był koleny cyrk – szukanie po wszystkich skryptach (a tych CMDków w Funambolu nie brakuje), w którym miejscu wykłada się z komunikatem zbyt długiego polecenia.

Kolejny etap stanowiła próba optymalizacji używanych zmiennych bazowych, które w dalszej koleności służyły do budowy zależności bibliotekowych i programowych pomiędzy kolejnymi modułami całej platformy. Ciężko tutaj pominąć fakt, że oparta jest ona o Java (odziwo nawet nie żre to zbyt wiele zasobów) i stąd ta konieczność budowania gigantycznie długich CLASSPATH do każdego z (koniecznych do odpalenia) modułów. Byłoby z tym mniej zachodu, gdybym stawiał to na OSie Linuxowym lub jakimś nowszym dziecku firmy Microsoft. Już taki Windows XP i kolejne są już dużo milsze i pozwalają na przeszło 8000 znaków w poleceniach shellowych, co pewnie zaoszczędziłoby mi całkiem sporo czasu.

Po tym jak udało się odpalić serwer, a w zasadzie w ramach poszukiwania weny pomiędzy kolejnymi próbami jego odpalenia, zacząłem się interesować w jaki sposób połączyć ten serwer z resztą docelowego rozwiązania. Z pomocą przyszła wtyczka do produktów Mozilli – sync4jmozilla.
Tutaj pojawia się kolejna piękna historia. O ile z samym podstawowym kalendarzem TB działała ona całkiem spoko, o tyle już z kalendarzami Google za bardzo nie chciała (udało się bez crasha zsynchronizować serwer Funambola tylko z jednym z 6 testowanych kalendarzy). Samo to już stanowiło dość spory problem. Do tego pojawił się kolejny – z serwerem nie za specjalnie można synchronizować poszczególne kalendarze w sposób niezależny. Za każdym razem trzeba było w opcjach konfiguracyjnych przełączać kalendarz źródłowy – na pewno do czynności wygodnych i funkcjonalnych nie należało. Tak więc po kilkudziesięciu crashach TB dałem sobie spokój z tą częścią zabawy. Nadszedł czas na następne testy.

Żeby nie było za mało rozczarował, to przetestowałem również klienta Funambola na Pocket PC. Zainstalował się elegancko, więc zabrałem się za próbę łączenia go z postawionym już serwerem. Wszystko cacy, tylko jak przyszło w końcu do zsynchronizowania zapisów z telefonu z bazą serwera, to klient lubił sobie złapać zwis mniej więcej w 1/2, czasem 2/3 wszystkich zapisów.

Po tych wszystkich załamkach z Funambolem postanowiłem sobie dać spokój z tą platformą. Postanowiłem jeszcze dać szansę innym rozwiązaniom. W pierwszej kolejności padło na niezwykle często reklamowany, wręcz cudowny projekt – CompanionLink for Google. Niby wszystko pięknie, tylko po instalacji okazało się, że niestety komunikacja musi odbywać się z pośrednictwem klienta pocztowego i niestety darmowego TB na liście nie było (bo przecież Outlook, Lotus, Novel, … są “lepsze”). W ten cudowny sposób odpadła kolejna szansa spełnienia moich “marzeń” 😛

W międzyczasie był jeszcze krótki romans z darmowym ScheduleWorld, który odziwo jest oparty o dobrze już wam znanego Funambola. Załamka przyszła po tym, jak po pięknym zaakceptowaniu ekranu Google Calendara pytającego o udostępnienie danych ScheduleWorld (bo to właśnie on ładnie przekierował do niego), wyłożył się on przy próbie importu danych. Jednocześnie ogłosił, żeby spróbować później.
Podjąłem jeszcze jedną próbę (i chyba na jakiś czas jedną z ostatnich). Otóż tym razem padło na nuevasync.com. Projekt w fazie beta, co niestety dało się odczuć po zarejestrowaniu się – po wpisaniu loginu i hasła serwer odmawiał dalszej współpracy. Przez jakiś czas na bank nie będę się do niego dobijał.

W ten oto sposób przebrneliście przez moje znoje i próby pełnej – dwukierunkowej – synchronizacji pomiędzy ThunderBirdem < -> Google Calendar oraz Pocket PC < -> Google Calendar (czy to z pośrednikami, czy też bez nich). Najbardziej poraża fakt, że Google wypuścił soft dla platformy Blackberry, są mniej lub bardziej udane rozwiązania dla produktów komercyjnych (Lotus, Novel, Microsoft, …), a nie ma czegoś dającego podobną funkcjonalnośc w ramach Open Source lub na zasadach freeware.
Jakiś przełom w tym temacie być może przyniesie, przedstawiony jakiś czas temu, projekt Google Gears przeznaczony dla platformy Windows Mobile 6.x. Założenia ma bardzo fajne (jak np. zdolność pracy aplikacji w trybie offline) i w notce można przeczytać o pierwszych wdrożeniach tego produktu w życie, ale czy przebije się na większą skalę

Tym optymistycznym (mam nadzieję) akcentem kończę ten, dość długi, wpis.

PS Jeśli ktoś zna jeszcze jakąś alternatywę, która działa, to czekam na informację.

« Older posts Newer posts »