No może nie motyla w tym wypadku…
Hans Reiser został uznany winnym zamordowania żony. Co z tego dla nas wynika?
Dystrybucje, które promowały do tej pory ReisesFS podjęły decyzję o przesiadce na Ext3. Reiser4 prawdopodobnie nigdy nie doczeka się pełnego wprowadzenia do kernela.
Ciekawe, ile projektów technicznych było miotanych w różnych kierunkach przez nieteczniczne przyczyny…
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.
3camp
Wczoraj Admin miał prezentację na 3campie.
Treść, humor, tempo – tak można w 3 słowach opisać owo wystąpienie ;P
Zapraszam do obejrzenia filmu z prezentacji. Jakość koszmarna, ale za parę dni prezentacja będzie oficjalnie dostępna na Nokautowym blogu, będzie więc można sobie obejrzeć jedno i drugie ;P
Update:
Prezentacja jest już dostępna na SlideShare!
Update:
Zdjęcia dostępne na stronie Kalego.
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.
Google wchodzi w IPv6?
Hurricane Electric, od których mam tunel i podsieć, w newsletterze doniosło, że mogę sobie otworzyć Google przez ipv6: http://ipv6.google.com/.
Chwila googlowania ;P i okazało się, że to działa prawdopodobnie od połowy marca. Nie znalazłem żadnej oficjalnej notatki na ten temat, wszystko ze źródeł nie związanych z Google.
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.