Category Archives: tech

Skype na komórki!

Dziś na dobreprogramy wiadomość: Skype dla komórek.
Szybki download i jest! Działa! I – co ciekawe – dla komórek, a nie dla smartfonów.

Obserwacje po szybkich testach:
– wygląd: jak na Skype przystało – biało-niebieski, zachowany jest schemat wyglądu z PC-towej aplikacji. Ogólnie aplikacja jest przyjemna w odbiorze.
– chat: działa. Jest średnio wygodny, ale daje się używać. Jak dla mnie wzorcowa obsługa chatów jest np w Talkonaucie i jmIrc
– połączenia: rozmowy głosowe są wykonywane poprzez numer dostępowy. Czyli płacimy jak za połączenie z numerem stacjonarnym + obciążane jest nasze konto SkypeOut, jeśli dzwonimy na numer telefonu a nie na Skype. Nie działają połączenia video, choć mój telefon (SE K610i) posiada takie możliwości. Jeśli ktoś do nas dzwoni na Skype, operator dzwoni do nas na komórkę obciążając nasze konto SkypeOut.

Zobaczymy jak się sytuacja rozwinie. Dla telefonów z szybkim dostępem do internetu i np ryczałtowym abonamentem za ów dostęp prosi się aż o wprowadzenie pełnego VoIP. Pytanie tylko, czy telefony są wystarczająco mocne obliczeniowo, aby w javie obsłużyć kompresję/dekompresję audio.

PulseAudio – dźwięk po sieci

Ha! Trafiłem na PulseAudio. W końcu będę mógł puścić audio z laptopa na 5.1 podłączonym do stacjonarnego.

Projekt jest bardzo ciekawy, warto mu się bliżej przyjrzeć. PulseAudio to soft będący serwerem dźwięku. Coś jak X11 tylko dla audio, nie dla grafiki ;P. Szkoda, że dla Windows XP nie ma jeszcze sensownego sterownika pozwalającego na przechwycenie audio np z Winampa i puszczenia do PulseAudio. Na razie możliwy jest tylko transfer audio na trasie Linux->Linux i Linux->Windows (ok, pewnie *BSD różne tyż, ale tylko na pingwinie testowałem).

Ładnie działa na tunelach (np OpenVPN), co pozwala mi np puścić muzę w domu siedząc w pracy – idealne do znęcania się nad sąsiadami albo pomocne przy rozmowie o muzie na GG czy jabberze.

Elastyczne przełączanie między wieloma serwerami audio pozwala zrealizować automagiczne przełączanie się z bzyczków w laptopie na domowe 5.1 po podłączeniu się do domowego LANu.

Ogólnie – ciekawe. Czekam tylko jeszcze na wirtualną kartę dźwiękową do XP, która pozwoli na wpięcie Windows XP jako źródła.

Wielokrotne dziedziczenie w PHP

Stanowczo powinienem organizować sobie czas tak, aby nie mieć szans na nudę ;P

Znów wieczorne dłubanie w PHP zaowocowało próbą obejścia ograniczeń narzuconych na język przez twórców. Tym razem padło na wielokrotne dziedziczenie. Było mi potrzebne kiedyś-kiedyś, lat temu parę, teraz już wiem, że nie jest potrzebne do szczęścia, lepiej i czytelniej można wszystko zrobić bez MI. Ale potraktowane jako ćwiczenie jest niezłą ciekawostką. Kody źródłowe na podstronie.

MySQL i funkcje składowane

W „pejdżach” artykulik o przetwarzaniu ISBN w MySQL. Funkcje na pewno nie są optymalne, będę wdzięczny za wszelkie usprawnienia ;P.

Ale nawet takie wypociny są dużo szybsze od pompowania danych w te i we wte na trasie MySQL-PHP. Samo przejście na użycie składowanych dało kilkukrotne przyspieszenie przetwarzania ;P.

Wniosek: jeśli pobierasz coś z MySQL tylko po to, aby to po przetworzeniu zapisać – zastanów się nad napisaniem procedurek bezpośrednio w MySQL. Są paskudne w debugowaniu, ale wydajnościowo są nie do przebicia.

Splogi

Zajrzałem do sajtu postawionego kiedyś testowo na WordPress-MU i zdjęło mnie przerażenie. Przeszło 8 tysięcy zarejestrowanych blogów spamowych. Szybka czystka w bazie, uaktualnienie kodu – i po 4 godzinach znów 11 blogów założonych przez spamboty.

Pomogła instalacja WPMU-Signup-Captcha i WPMU Signup Anti-Spam. W ciągu 2 dni ani jednego spamu.

Przy okazji dodałem pliki z polskimi localami.

VMware i procesory HT

Niedawno zrobiliśmy migrację dużego serwera z kilkudziesięcioma całkiem sporymi serwisami z maszyny fizycznej do VMware 2.0 beta. I kiedy tylko ruch wzrósł do normalnego poziomu pojawiły się problemy. Długi czas startu ładowania strony, potem już burstem wsio się błyskiem ładowało, ale po kliknięciu znów trzeba było czekać. Zrywane połączenia IMAP, po SSH nie dawało się pracować – maszyna zachowywała się, jakby była bardzo mocno obciążona, na reakcję systemu trzeba było czekać czasem nawet kilkadziesiąt sekund. Maszyna fizyczna również strasznie dostawała w kość.

Paweł znalazł rozwiązanie – maszynie wirtualnej był przydzielony jeden wirtualny procesor. W związku z tym, że Linux widzi procesory HT jako dwa rdzenie, de facto dla klienta była przydzielana połowa procesora – nawet nie cały rdzeń, bo w starszych Xeonach jest tylko jeden, za to zoptymalizowany pod wielowątkowość. Pojawiały się problemy wydajnościowe związane z ciągłym przeładowywaniem cache przy przełączaniu zadań, które teoretycznie powinny się wykonać fizycznie równolegle na 2 osobnych rdzeniach.

Wystarczyło wirtualnej maszynie dać 2 procesory i problemy zniknęły jak za dotknięciem magicznej różdżki.

PHP Prefixowanie w nazwach metod

Pojawił się dziś pomysł na realizację prostych wrapperów na metody (np do pomiaru czasu czy debugowania) nie poprzez zewnętrzne funkcje czy dekoratory tylko poprzez dodawanie prefixów w nazwach metod.
Rozwiązanie oparte jest na magicznej metodzie __call i zawiera się w dosłownie kilku liniach kodu. Szczegóły w pełnym artykule.