sharpek.net

moje trzy grosze

Firebug dla Flasha..

Pozostaniemy jeszcze w tematach Flash/ActionScript3.

Od samego początku mojej przygody z platformą Flash, zawsze irytował mnie brak porządnego debuggera projektu oraz inspektora podobnego do tego jaki jest np. w Firefoxie.  Bardzo często debugowanie takiej aplikacji przyprawiało mnie o gęsią skórkę. Najbardziej doskwierał mi brak możliwości przeglądania jakie obecnie elementy typu DisplayObject są widoczne, nie mówiąć już o możliwości dynamiczne zmiany parametrów lub wywoływania metod w czasie trwania „programu”.

Gdy usłyszałem o dodatku do Firebuga – Flashbugu myślałem że problem zostanie rozwiązany, niestety było to kolejne narzędzie podobne do Alcon.

Dzisiaj szukając nowej wersji dla Alcona natrafiłem na Monster Debugger3. Jednym co powiedziałem po obejrzeniu screencastu było:  „Wow, tak tego właśnie szukałem”.

Zresztą zobaczcie sami:

Monster Debugger 3 & Game from De Monsters on Vimeo.

Monster Debbuger to tak samo jak w przypadku Alcon – bibioteka  AS3 oraz aplikacja napisana w Adobe AIR. Posiada ona wszystko to co było mi potrzebne do pełni szczęścia. Bibliotekę SWC można wygenerować bezpośrednio z aplikacji Adobe AIR .

Dodatkowo na stronie autorów znajduje się świetny tutorial który jest zrobiony w postaci gry!

 

Actionscript 3, (Input)TextField i „polskie znaki”

Ostatnio spędziłem bardzo duża czasu nad rozwiązaniem problemu braku polskich znaków oraz innych (czytaj, takich z  różnymi „ogonkami”) w obiektach klasy TextField (a dokładniej TextFieldType.INPUT)

Problem był o tyle nieciekawy że ta sama wersja wtyczki Flash, zachowywała się różnie na różnych przeglądarkach. Dla przykładu: Firefox w wersji 4 działał prawidłowo, natomiast na Opera 11 oraz Chrome nie pozwalał wpisywać polskich znaków.

Przeszukiwanie czeluści google.com było na tyle pomocne że zalecało zrobić to co już dawno zrobiłem (ustawić wmode na „opaque”) jednak nie dawało to żadnego efektu. Na szczęście okazało się że odpowiedzi znalezione w G były częściowo pomocna, mianowicie – ustawienie wmode na „default” rozwiązywało problem.

Mam nadzieje że ten krótki wpis pomoże komuś i nie będzie zmuszony szukać rozwiązania tego problemu przez kilka godzin/dni/miesięcy.

 

Moja pierwsza „gra”

Tytuł trochę na wyrost, używając fachowego języka tytuł powinien brzmieć „Moje pierwsze pseudo demo technologiczne wykonane z użyciem silnika Irrlicht oraz języka c++”.

Na prośbę kilku osób zamieszczam binarkę oraz źródła projektu który wykonałem w ramach przedmiotu „Programowanie gier komputerowych”, odbywający się w ramach mojej specjalizacji „Interaktywna grafika komputerowa” @ PJWSTK.Bytom, o dziękuje ci UNIO :) Read the rest of this entry »

 

eSATA + Windows 7

Na potrzeby projektu na studia, potrzebowałem zainstalować Windowsa 7 Professional (TM) na dysku zewnętrznym, wykorzystując złącze eSATA.
Niestety jak to już była z produktami firmy Microsoft (TM), nie obyło się bez problemów. Read the rest of this entry »

 

Pylons, WebError, IndexError: list index out of range

Dość długo głowiłem się nad rozpoznaniem przyczyn tego błędu, wysyłałem nawet na TrackBacka Pylons raporty, niestety nic to nie dało.

Okazało się że FormEncode miało problemy z edycją kodu HTML -powód prozaiczny błąd HTML. Mam nadzieje że komuś się to przyda.

PS. Wesołych  Świąt.

 

HTML5 vs Flash 0-1

Dla wszystkich tych którzy twierdzą że HTML5 to gwóźdź do trumny Flasha:

Na blogu bytearray pojawiła się prezentacja na temat Molehill który ma być odpowiedzialny za 3D we Flashu: www.bytearray.org/?p=2310.

Za pomocą canvas też da się takie rzeczy robić ?:)

 

Jak zabić wszystkie procesy w bazie MySQL ?

Ostatnio sam miałem taki problem, admina nie było, baza leży i kwiczy, a użytkownicy wciskają F5 ;-)

mysql> SHOW PROCESSLIST;
+-----+------+-----------+------+---------+------+-------+------------------+
| Id  | User | Host      | db   | Command | Time | State | Info             |
+-----+------+-----------+------+---------+------+-------+------------------+
| 251 | root | localhost | NULL | Query   |    0 | NULL  | SHOW PROCESSLIST |
+-----+------+-----------+------+---------+------+-------+------------------+
1 row in set (0.00 sec)

W przypadku kilku procesu, wystarczy wpisać KILL i podać ID procesu. Jednak sprawa robi się bardziej poważna, gdy procesów jest kilkaset, a użytkownicy cały czas próbują dostać się do serwisu. Taki sposób raczej odpada bo komu by chciało się wpisywać kilkaset razy KILL ID.

Ja na początku próbowałem wykonać takie zapytanie:

USE information_schema;
DELETE FROM `PROCESSLIST`;

Niestety na 99% nikt nie ma takich praw by grzebać w tej bazie danych. Dlatego najprościej napisać taki prosty skrypcik w PHP:

mysql_connect('localhost', 'root', '');
$result = mysql_query('SHOW PROCESSLIST');
while ($row = mysql_fetch_array($result)) {
	mysql_query('KILL ' + $row['id']);
}

Mam nadzieje że komuś pomoże :)

 

WMASG.pl Power by Pylons

Po latach pracy udało mi się przenieść bardzo starą wersję portalu napisaną jeszcze strukturalnie (sic!) w PHP. Niestety z powodów konieczności integracji portalu z forum IPB, migracja na Postgresa nie została wykonana.

Różne ciekawostki

  • na początku powstała działająca wersja napisana w PHP, korzystająca z Zend Framework, z różnych przyczyn nie została wdrożona
  • autorski kod napisany w pythonie znajduje się w 122 plikach, które łącznie zawierają 8658 linii kodu (bez pustych linii i komentarzy)
  • szablony znajduje się w 224 plikach, które łącznie zawierają 9 018 lini kodu (bez pustych linii i komentarzy)
  • autorski kod napisany javascript to tylko 8 plików 1 023 linie (bez pustych linii i komentarzy)
  • wersja napisana w pythonie powstała w rok, pierwszy kod powstał w drugiej połowie czerwca 2009
  • prace nad nowym WMASGiem rozpocząłem już w styczniu 2008 roku (sic!)
  • aż trzy razy był zmieniany wygląd serwisu (sic!)
  • wiele funkcjonalności nie zostało jeszcze pokazanych
  • serwis początkowo korzystał z postgresa, niestety po roku oczekiwania firma IPB nie wydała sterownika do posgresqla
  • na początku w Pythonie miał być napisany tylko backend, jednak później postanowiłem przepisać cały frontend na Py.
  • przez krótki okres czasu była ogromna dziura bezpieczeństwa wielkości Emirates Stadium, a wszystko to przez moje lenistwem i włączony tryb debugowania..
(bez pustych linii i komentarzy (bez pustych linii i komentarzy))
 

Czy warto kupować laptopy firmy HP ?

Odpowiedź prosta: NIE.

Po moim przejściach z laptopa serii HP Pavilion dv900, stanowczo odradzam zakup produktów  firmy HP. Laptop HP jak i serwis to jedna wielka kpina! Ale od początku… Read the rest of this entry »

 

Python, mod_wsgi, Opera i IOError

Ostatnio napotkałem na pewien poważny problem w jednej z moich serwisów korzystających z mod_wsgi. Problem występował wyłącznie pod Operą podczas próby wrzucania pliku „system rzucał wyjątkiem:

IOError: request data read error

Po długim i dogłębnym procesie tentegowania w głowie problem udało się rozwiązać. Wszystko przez dość starą wersję kontenera wsgi. Na serwerze była zainstalowana dość wersja 2.3, która w posiadała kilka krytycznych błędów.

Dodatkowo po aktualizacji WSGI do najnowszej wersji zauważyłem dość wysoki wzrost wydajności apliakcji.