Encje Doctrine poza bundlami Symfony

DoctrineBundle i bridge odpowiadają za integracje Doctrine ORM z frameworkiem Symfony. Jedną z funkcjonalności jaką oferuje DoctrineBundle jest automatyczna rejestracja mapowań w bundlach.

Symfony Live Londyn 2012

Świetne prezentacje, przyjaźni prelegenci i wspaniała społeczność. Pierwsza konferencja Symfony Live w Londynie okazała się dużym sukcesem. Cieszę się z tego podwójnie, jako że niedawno dołączyłem do ekipy Sensio Labs UK, organizatora konferencji ;)

Zarządzanie konstrukcją obiektów w PHP z komponentem DependencyInjection Symfony2

Komponent DependencyInjection Symfony2 to PHPowa implementacja kontenera usług (z ang. Dependency Injection Container). Dodatkowo, komponent zawiera kilka przydatnych narzędzi, pozwalających na import i eksport definicji w różnych formatach (np XML).

Symfony 2.0 wydane!

Dziś, 28go lipca 2011, wydano stabilną wersję Symfony 2. Czekaliśmy nieco dłużej niż planowano, ale było warto!

Wyszukiwanie plików i katalogów w PHP z komponentem Finder Symfony2

Komponent Finder sprawia, że wyszukiwanie plików i katalogów w PHP przestaje być męczące. Pozwala na filtrowanie po nazwie, wzorcu, rozmiarze, dacie modyfikacji i kilku innych kryteriach. W wyniku dostaniemy listę obiektów klasy SplFileInfo, która oferuje wygodny interfejs do pozyskiwania szczegółów na temat plików i katalogów.

Tworzenie sparametryzowanych komend w PHP z komponentem Console Symfony2

Komponent Console Symfony2 ułatwia tworzenie sparametryzowanych komend w PHP. Odpowiada za niewdzięczną pracę parsowania wejścia i pisania na wyjście.

Automatyczne ładowanie klas w dowolnym projekcie PHP z komponentem ClassLoader Symfony2

ClassLoader to komponent Symfony2, który odpowiada za automatyczne ładowanie klas zgodnie ze standardem PSR-0. Poza współpracą z kodem używającym przestrzeni nazw (ang. namespace), działa ze staromodnym już standardem PEAR (używanym też w Zendzie). Komponent sprawdza się równie dobrze poza Symfony.

Konfiguracja środowiska deweloperskiego PHP z Nginx w Ubuntu 11.04

Opisywałem już jak przygotować PHP do pracy z Nginx w Ubuntu 10.04. W Ubuntu 11.04 (Natty Narwhal) procedura jest dużo prostsza za sprawą PHP 5.3 i obecnego w nim php-fpm. Ponieważ w międzyczasie udało mi się też ulepszyć swoją konfigurację Nginx dla PHP, postanowiłem opisać temat jeszcze raz.

Konfiguracja Nginx dla projektów Symfony

Z okazji wydania wersji 1.0.0 odświeżyłem nieco swoją wiedzę o Nginx. Od czasu, kiedy po raz pierwszy go konfigurowałem, wzbogacił się o kilka nowych dyrektyw i zmiennych. Dzięki temu mogłem uprościć swoją konfigurację dla projektów Symfony (zarówno symfony 1.x jak i Symfony2).

Kompilacja Doctrine w symfony 1.4

Z reguły przy profilowaniu aplikacji symfony 1.x wychodzi, że budowanie obiektów przez Doctrine jest jedną z bardziej pracochłonnych operacji. Ostatnio miałem ciekawszy przypadek. Znaczącą część czasu wykonania skryptu zajmowało ładowanie klas ORMa (require_once!). W normalnych warunkach tego typu operacje są prawie niewidoczne.

Automatyczne publikowanie aplikacji Symfony na wiele serwerów z Capifony

Capifony to zestaw recept Capistrano do publikowania aplikacji napisanych w symfony lub Symfony2. Multistage jest rozszerzeniem Capistrano. Ułatwia publikację kodu na kilka serwerów, które różnią się nieco konfiguracją lub procesem publikacji.

Nowości w komponencie formularzy Symfony2

Refaktoryzacja formularzy to ostatnia z wielkich zmian i najbardziej oczekiwany pull request w Symfony2. Prace nie są jeszcze w pełni skończone, ale kod jest gotowy do połączenia z główną gałęzią. Jak tylko zmiany zostaną zaakceptowane (lub odrzucone) możemy spodziewać się wydania bety.

Nauka Symfony2 przez pisanie testów jednostkowych

Podczas Hacking Day na Symfony Live postanowiłem spróbować sił i po raz pierwszy napisać kilka testów dla Symfony2. Już od jakiegoś czasu jestem niemal fanatykiem TDD, a ostatnio mocno interestuję się BDD. Testy jednostkowe z pewnością nie są mi obce. Nie podejrzewałem jednak, że pisanie testów dla istniejącego kodu może sprawić tyle radości.Odkryłem też, że testowanie jest doskonałą metodą na naukę Symfony2.

Symfony Live 2011

Piszę tego posta w drodze powrotnej z drugiej już, międzynarodowej konferencji Symfony Live. Do Paryża zjechało około 500 programistów z całego świata. Naliczyłem 8 osób z Polski (podejrzewam, że było nas więcej; zauważyłem, że Polacy słabo się integrują).

Tydzień przed Symfony Live 2011

Został już tylko tydzień do tegorocznego Symfony Live w Paryżu. Już wiemy, że Symfony 2.0 nie ujrzy światła dziennego na konferencji. Możemy liczyć na stabilne API, jednak ostateczne wydanie planowane jest na koniec marca. Mimo to konferencja zapowiada się ekscytująco.

Doctrine2 i Symfony2

Wciąż poznaję Symfony2. Nadszedł czas na wybranie i przetestowanie ORMa. Symfony2 jest wystarczająco elastyczne, aby współpracować z praktycznie dowolnym (nowoczesnym) PHPowym ORMem. Równocześnie dostajemy rozsądną domyślną opcję w postaci Doctrine2.

Jak wygenerować czysty projekt Symfony2?

Symfony2 nie jest jeszcze skończone, a jego wydanie planowane jest na marzec tego roku. Nie mogąc już dłużej czekać, zacząłem bawić się tym frameworkiem nieco poważniej.Ponieważ lubię wiedzieć co się dzieje, po kilku testach z gotowym szkieletem projektu (tzw sandbox) zapragnąłem wygenerować czysty.

Instalacja sasc-ng w Ubuntu 10.10

Jak już kiedyś pisałem, sasc-ng pozwala na oglądanie kodowanych kanałów w dowolnej aplikacji obsługującej standard dvb. Sama aplikacja nie musi "wiedzieć", że kanał jest kodowany. Moduł jądra kompilowany z sasc-ng tworzy dodatkowe urządzenie, na którym dostępny jest odkodowany sygnał. Jedyne do czego musimy zmusić aplikację DVB, to wskazać właściwe urządzenie.Sasc-ng nie jest dostępny w oficjalnych repozytoriach Ubuntu, dlatego trzeba go skompilować.

VDR w Ubuntu 10.10

Jestem użytkownikiem VDR od lat. Do tej pory zwykle kompilowałem go ze źródeł. Nie jest to skomplikowany proces, ale od kiedy jestem także użytkownikiem Ubuntu zrobiłem się nieco leniwy. Przy okazji instalacji nowego wydania Ubuntu zainstalowałem VDR z pakietów dostępnych w dystrybucji.

Symfony i APC

Do niedawna byłem wyłącznie użytkownikiem XCache (jeśli chodzi o akceleratory PHP). Ostatnio potrzebowałem użyć APC w aplikacji symfony. Poszło mi całkiem gładko jako, że framework bardzo ładnie integruje się z najpopularniejszymi rozwiązaniami tego typu.

Rejestracja na Symfony Day Cologne 2010 jest już otwarta

Rejestracja na mający miejsce w niemieckiej Kolonii dzień symfony została wczoraj otwarta. Opublikowano także większość programu. Zeszłoroczne, pierwsze wydanie Symfony Day okazało się dużym sukcesem. W tym roku także nie zabraknie atrakcji.

Przegląd klas, metod i zmiennych w vimie z pluginem TagList

Plugin TagList dodaje do vima funkcjonalność przeglądania listy klas, metod, zmiennych i innych słów kluczowych indeksowanych przez ctags. TagList pokazuje tagi w kontekście edytowanych plików i grupuje je po typie. Do tagów możemy skakać, otwierać je w nowym oknie lub zakładkach.

Instalacja PostgreSQL w Ubuntu 10.04

PostgreSQL jest rozbudowanym i niezawodnym obiektowo-relacyjnym systemem baz danych. Stanowi doskonałą alternatywę dla popularnego MySQLa. PostgreSQL jest tak samo łatwy w obsłudze, sprawuje się lepiej i oferuje więcej.

Instalacja MySQL w Ubuntu 10.04

MySQL to jednen z popularniejszych relacyjnych systemów baz danych, który jest szeroko stosowany przy budowie aplikacji PHP. Jest dość łatwy w konfiguracji i obsłudze. Oto krótki opis instalacji MySQL w najnowszej wersji Ubuntu.

Graficzna ściągawka z vima

Oto graficzna ściągawka z vima, którą znalazłem na stronie ViEmu. Znajdziecie tam także tutorial. Naprawdę użyteczna rzecz. Nie tylko dla początkujących!

Skakanie do definicji klas, metod i zmiennych w vimie przy pomocy exuberant ctags

Dzięki exuberant ctags możemy skakać do definicji klas, metod, zmiennych i innych konstrukcji językowych w vimie. Narzędzie potrafi wygenerować plik z indeksem słów kluczowych (tagów) dla jednego spośród 41 wspieranych języków programowania. Indeks ten jest używany w edytorach typu vim do szybkiego odnajdywania powiązanych słów kluczowych.

Przeglądanie plików i katalogów w vimie z NERD tree

Przeglądanie, otwieranie, zmiana nazwy, czy przenoszenie plików i katalogów to czynności wykonywane podczas codziennego pisania kodu. W popularnych IDE odbywa się to zwykle przy pomocy eksploratora plików. W vimie lubię używać do tego celu pluginu NERD tree.

Ubuntu 10.04 Lucid Lynx

Stabilne Ubuntu 10.04 Lucid Lynx ujrzało światło dzienne dwa dni temu. Wczoraj zagościło na moim laptopie. Ponieważ wcześniej używałem wersji beta, wiedziałem czego się spodziewać. I nie zawiodłem się.

Konfiguracja środowiska deweloperskiego PHP z nginx w Ubuntu 10.04

Nginx to lekki serwer http i proxy. Potrafi także działać jako load balancer. Stanowi poważną alternatywę dla przeładowanego apache. W środowisku prodykcyjnym nginx zaskakuje wydajnością oraz małym zużyciem pamięci. W warunkach deweloperskich cenię jego prostą i elastyczną konfigurację. Oto opis jak szybko przygotować środowisko deweloperskie PHP z nginx w Ubuntu 10.04 (Lucid Lynx).

Sklep Muzyczny w Ubuntu - Ubuntu One Music Store

Piszę tego posta słuchając pierwszego utworu, który pobrałem kilka minut temu z Ubuntu One Music Store. Kosztował mnie 3zł (79 euro centów). Sklep muzyczny Ubuntu One został dzisiaj otwarty!

Vim i Textile - formatowanie wiki w plikach tekstowych

Textile to prosty język formatowania tekstu używany na wielu forach, CMSach, czy stronach wiki (np. w Redmine). Osobiście lubię go stosować w zwykłych plikach tekstowych do robienia notatek. Plugin Textile dodaje do vima podświetlanie składni oraz możliwość podglądu i konwersji do htmla.

Ubuntu 10.04 Lucid Lynx jest już tuż za rogiem

Wczoraj wydano pierwszą wersję beta Ubuntu 10.04 (Lucid Lynx). Postanowiłem ją przetestować i zaktualizowałem swój biurkowy komputer, na którym uchowało się jeszcze Ubuntu 9.04.

Automatyczne publikowanie aplikacji PHP

Aplikacje PHP publikowane są na serwery na wiele różnych sposobów (pisząc "publikacja" mam na myśli anglojęzyczne słowo "deploy"). Niektórzy używają w tym celu systemów kontroli wersji takich jak Subversion. Inni po prostu kopiują pliki przy pomocy FTP, SSH czy rsync. Jest tylko jeden problem ze wspomnianymi technikami. Wszystkie są podatne na błędy. Transfer plików to tylko niewielka część całego procesu publikacji, czy aktualizacji aplikacji PHP. Często potrzebna jest dodatkowa konfiguracja, czy uruchomienie skryptów migracyjnych.

Symfony 2 opublikowane (podczas Symfony Live 2010)

Podczas pierwszej międzynarodowej konferencji Symfony Live, Fabien Potencier upublicznił Symfony 2. Nowoczesne podejście i sprawdzone praktyki, podpatrzone w innych pierwszoligowych projektach Open Source, tworzą wybuchową miksturę, która ma szansę zrewolucjonizować świat PHP.

Symfony Live 2010

W dniach 16-17 lutego odbyła się pierwsza międzynarodowa konferencja Symfony Live. Była to nie lada gratka dla użytkowników frameworka symfony, w której miałem wielką przyjemność uczestniczyć. Wiele ciekawych rzeczy dzieje się obecnie wokół symfony (i Symfony (;). Oto skrót z tego co wydarzyło się na konferencji, a także przedsmak tego co nas czeka w niedalekiej przyszłości.

EpgDownloader przenosi się na gita

Niemal od początku EpgDownloader udostępniany był społeczności na SourceForge'u. Jak niedawno pisałem moje zainteresowanie programem zmalało niemal do zera. Jest za to kilka osób, które chętnie włączyłyby się w dalszy jego rozwój. Dlatego postanowiłem przenieść repozytorium do serwisu github.

EpgDownloader

EpgDownloader narodził się czerwcu 2005 roku jako prosty, perlowy skrypt. Parsował wtedy program telewizyjny wirtualnej polski i konwertował go do formatu akceptowanego przez VDR. Przyczyna jego powstania była bardzo prosta. Używałem VDR do oglądania telewizji satelitarnej, która w tamtym czasie nadawała EPG tylko na najbliższe dwie audycje. Nastawienie nagrywania w przyszłości stawało się uciążliwe, a zwykłe przejrzenie programu telewizyjnego niemożliwe. EpgDownloader pozwalał mi cieszyć się programem telewizyjnym w VDR na całe siedem dni naprzód.

Blogowanie w 2009

2009 to rok, w którym powróciłem do blogowania. Nie pisałem tak dużo jakbym mógł, czy chciał. Dlatego jednym z moich celów na rok 2010 jest pisać więcej i lepiej. Głównie po angielsku.

Kolorowe svn diff w edytorze vim

Jakiś czas temu tłumaczyłem jak pokolorować wynik svn diff. Możemy uzyskać podobny rezultat przy pomocy vima. Druga metoda okazuje się wygodniejsza, gdy mamy do zatwierdzenia dużą ilość kodu.

Frets on Fire, czyli Guitar Hero w Ubuntu 9.10 (Karmic Koala)

Właśnie grałem w Frets on Fire - na tyle świetną grę, aby wciągnąć mnie na chwilę i napisać wpis na blogu. Nie zdarza mi się to często. Frets on Fire to klon Guitar Hero na PC (działa na Linuksie, Macu i Windows).

Chromium, czyli Google Chrome w Ubuntu 9.10 (Karmic Koala)

Google Chrome nie jest jeszcze dostępny pod Linuksem. Jest za to Chromium, czyli przeglądarka Open Source na bazie której zbudowany jest Chrome. Właściwe to obie aplikacje odróżnia tylko logo.

Ubuntu 9.10 Karmic Koala już jest!

Ubuntu 9.10 Karmic Koala zostało dziś oficjalnie wydane na świat. Wersja jest przełomowa, bo nie zawiera tylko usprawnień, czy aktualizacji. Niektóre z komponentów zostały zastąpione nowymi, bardziej nowoczesnymi. Pełny opis zmian umieszczono na stronie Ubuntu. Przedstawię po krótce tylko te, na które czekałem.

Konferencja PHP North West 2009

Tydzień temu miałem okazję uczestniczyć w konferencji PHP North West w Manchester. Wszystko zaczęło się imprezą w pubie Lass O' Gowrie w piątkowy wieczór przed konferencją. Wielką przyjemnością było dla mnie poznać i rozmawiać z tyloma ludźmi zaangażowanych w społeczność PHP. Wszyscy, bez względu na doświadczenie, byli przyjaźni i chętni do wymiany punktu widzenia. Nieformalne spotkania przy piwie i grach wideo niewątpliwie sprzyjają poszerzaniu grona znajomych o wiele lepiej, niż krótkie rozmowy między konferencyjnymi prezentacjami.

Wyjątek 'The "default" context does not exist.' w linii poleceń symfony

Jeśli w taskach symfony spróbujemy użyć kontekstu poprzez wywołanie sfContext::getInstance(), otrzymamy wyjątek klasy sfException z komunikatem 'The "default" context does not exist'. Klasa sfContext reprezentuje kontekst aplikacji i dlatego nie jest on inicjowany w linii poleceń. Dobrą praktyką jest NIE używanie sfContext::getInstance(). Zdarza się niestety, że nie mamy innego wyboru (np. gdy korzystamy z obcego pluginu).

Jak nagrać makro w edytorze vim?

Makro to zestaw instrukcji wykonanych w jednym kroku. Podczas programowania makra pomagają nam na automatyzjację powtażalnych czynności, które stają się dzięki temu mniej nudne i podatne na błędy. Vim jako jeden z najpotężniejszych edytorów tekstu posiada tą funkcjonalność wbudowaną.

Symphony CMS na nginx

Zdecydowałem się przetetsować CMS o nazwie Symphony z dwóch powodów. Pierwszym były dokładnie określone fazy tworzenia stron internetowych, które wymusza sam CMS. Drugim powodem był oparty o XSLT system szablonów. Jak większość aplikacji PHP, Symphony zostało stworzone głównie z myślą o serwerze apache. Ponieważ od pewnego czasu preferuję używać nginx-a, napotkałem na małe problemy konfiguracyjne.

Cachowanie stron internetowych za pomocą skryptu bash i pliku .htaccess

Powierzono mi ostatnio zadanie uczynienia kompletnie niewydajnej strony www na tyle wydajną, aby dać zespołowi czas na jej naprawienie. Nie znałem kodu i technologii wspomnianej aplikacji, nie miałem też wystarczającej ilości czasu na jej poznanie.

PHP 5.3 zostało wydane

PHP 5.3 zostało wydane. Wersja była długo oczekiwana z uwagi na wiele usprawnień, nowych funkcjonalności i poprawionych błędów. PHP 5.3 to prawie 6, tylko bez wsparcia dla Unicode. Oto lista rzeczy, na które szczególnie czekałem lub wydały mi się interesujące.

Kolorowanie wyniku svn diff

Polecenie svn diff umożliwia obejrzenie zmian pomiędzy dwoma wersjami plików z repozytorium svn. Ponieważ jego wyjście nie zawsze jest czytelne, możemy nieco ułatwić sobie pracę przez instalację colordiff. Program opakowuje polecenie diff i zwraca taki sam rezultat, jednak pokolorowany.

CSS przodem, JavaScript tyłem

Załączanie arkuszy styli CSS na górze strony, a skryptów JavaScript jak najpóźniej to tylko dwie z 34 dobrych praktyk opisanych przez Yahoo w Best Practices for Speeding Up Your Website. Stosowanie się do nich pozwoli zmniejszyć wizualnie czas generowania strony w przeglądarce. Oto prosty przykład jak to osiągnąć w symfony.

Inicjatywa na rzecz standardów PHP (PHP Standards Initiative)

Podczas tegorocznej konferencji php|tek w Chicago spontanicznie zorganizowano spotkanie na temat standardów kodowania w PHP. Uczestniczyła w nim grupa ludzi pracujących nad kilkoma znaczącymi projektami PHP: Zend Framework, PEAR, Solar, Agavi, CakePHP, symfony i phing. Niestety nie było mi dane uczestniczyć w konferencji, ale znaleziona na blogu Left On The Web informacja o spotkaniu, bardzo mnie ucieszyła.

Chromium, czyli Google Chrome w Ubuntu 9.04

Chromium to projekt umożliwiający uruchomienie przeglądarki Google Chrome w Linuksie. W repozytoriach launchpad dostępne są źródła dla Ubuntu, dzięki czemu instalacja sprowadza się do rutynowych kroków: dodanie źródeł oprogramowania i klucza do autoryzacji, aktualizacja pakietów i zainstalowanie aplikacji.

Recenzja: php|architect's Guide to PHP Design Patterns

Wzorce projektowe sprawdzają się bez względu od użytej technologii, jednak sposób implementacji często różni się w zależności od tego co oferuje dany język programowania. Ksiązka "php|architect's Guide to PHP Design Patterns" autorstwa Jasona Sweat'a przedstawia kilkanaście wzorców projektowych przydatnych przy pisaniu aplikacji internetowych w PHP 4 i 5. Chociaż tematyką książki są wzorce, to stanowi ona także świetny przykład zastowania metodyki Test Driven Development (TDD).

Parsowanie stron internetowych z użyciem sfWebBrowser i SimpleXML

sfWebBrowser to klasa emulująca wywołania przeglądarki internetwej. Dzięki niej możemy zaprogramować nawigację po stronie www przy pomocy przyjemnego, obiektowego interfejsu. Odpowiedź może zostać zwrócona jako element SimpleXML, co umożliwia wykonywanie zapytań xpath na parsowanym dokumencie. Niestety strony www rzadko są poprawnymi dokumentami XML. W większości przypadków sfWebBrowser raczej wyrzuci wyjątek, niż zwróci coś interesującego. Jest jednak sposób, aby temu zaradzić.

Tworzenie szkiców interfejsu użytkownika (UI mockups)

Od dawna brakowało mi aplikacji, która pozwoliłaby w łatwy i przyjemny sposób stworzyć szkic interfejsu użytkownika podczas specyfikowania wymagań. Takie rysunki pozwalają znaleźć wspólny język z klientem, wzbogacić scenariusze użytkowników (User Stories), a po definicji wymagań obrazują programiście co ma właściwie zakodować ;) Wprawdzie natknąłem się na kilka programów tego typu, jednak albo nie były przyjemne w obsłudze, albo nie oferowały elementów interfejsu strony www, czy były po prostu przydkie ;) Moje poszukiwania dobiegły końca, dzięki nowemu adwentowemu tutorialowi Symfony - Jobeet, gdzie w drugim dniu zastosowano Balsamiq Mockups. Program jest dla mnie niemal idealny.

Instalacja Oracle 10g w Gentoo

Oracle wspiera instalację swojej bazy danych tylko na niektórych dystrybucjach (np RedHat, SUSE). Wystarczy jednak odpowiednio przygotować system, aby dział na praktycznie każdej nowoczesnej dystrybucji. Przedstawiam opis bazujący na Gentoo, ale w podobny sposób zrobiłem to w Fedorze.

Microsoft Surface

Nie jestem wielkim fanem firmy Microsoft (wręcz przeciwnie), jednak to co zobaczyłem w prezentacji na stronie on10.net zrobiło na mnie duże wrażenie. Microsoft Surface to komputer z Windows Vista, wciśnięty w stolik z IKEI ;) Preferuję stoliki z IKEI nad Windows Vistę, ale nie o to tutaj chodzi...

Nieprawidłowe wyświetlanie plików PNG w MS Internet Explorer

Nie jeden webmaster klął na Microsoft© za nieprawidłowe wyświetlanie przezroczystości plików PNG w przeglądarkach Internet Explorer - zamiast niej otrzymujemy szare tło. Jedyne co pozostaje to zastosować GIFa, który rzadko się do tego nadaje. Przezroczyste pliki GIF często są poszarpane, a ich jakość jest oczywiście niższa - to dlatego, że ich przezroczystość ma tylko 8 bitów. Myślałem, że tego nie da się obeść w inny sposób niż zaczekać aż IE będzie niszową, mało znaczącą przeglądarką, albo zostanie wypuszczona jego nowa, poprawiona wersja. A jednak...

Kodowane kanały telewizji satelitarnej w dowolnej aplikacji DVB

Sasc-ng jest programowym modułem warunkowego dostępu (SoftCAM) nowej generacji, przeznaczonym dla systemów linuksowych. Pozwala na oglądanie kodowanych kanałów za pomocą dowolnej aplikacji, posiadającej wsparcie dla DVB, bez modyfikacji jej kodu źródłowego. Dekrypcja odbywa się w tle i jest przezroczysta dla programu DVB, który traktuje wszystkie kanały jak FTA.

Zaciemnianie kodu

Zaciemnianie kodu (code obfuscation) to proces czyniący go trudnym do przeczytania i zrozumienia, jednak pozostawiający nadal wykonywalnym. Perl ze swoimi zwariowanymi możliwościami składniowymi idealnie nadaje się do takich zabaw.

Optymalizacja FFdecsa

FFdecsa to szybka implementacja algorytmu deszyfrującego CSA dla pakietów MPEG TS. Algorytm ten jest używany w telewizji cyfrowej DVB do szyfrowania obrazu video. Korzystą z niego między innymi posiadacze kart DVB bez sprzętowego dekodera, którzy używają VDR do oglądania telewizji satelitarnej.

Kompilacja programów QT4 w Windows

Kompilacja programu napisanego w Qt wymaga oczywiście instalacji tej biblioteki. Trzeba będzie także zainstalować MinGW (Minimalist GNU for Windows). Na stronie Trolltech dostępny jest instalator, który pobierze i zainstaluje od razu oba pakiety.

QVdrRemote

Steruję VDR za pomocą pilota PCMAK, podłączanego do portu COM. Musiałem poświęcić ten port dla programatora PHOENIX, aby legalnie korzystać z karty cyfry+. Pojawił się problem z dostępem do VDR. Jest on tak zaprojektowany, że umożliwia sterowanie z użyciem klawiatury, jednak nie jest to wygodne. Można oczywiście użyć xine, jednak nigdy nie lubiłem tego rozwiązania (przypisane VDR klawisze kłóciły się z tymi z xine). Na szczęście do VDR można wysyłać komendy z użyciem SVDRP (Simple Video Disk Recorder Protocol), dzięki czemu bardzo łatwo jest tworzyć aplikacje z nim współpracujące.

Cyfra+ na ekranie monitora

Cyfra+ jest obecnie jedyną platformą cyfrową umożliwiającą wykupienie abonamentu bez dodatkowych kosztów związanych z kupnem dekodera, czy anteny satelitarnej. O ile bez anteny się nie obejdziemy, to do oglądania tv-sat z użyciem komputera dekoder nie jest nam potrzebny. Wystarczy niskobudżetowa karta DVB-S (na przykład SkyStar2) i programator PHOENIX.

Aparat fotograficzny Canon PowerShot A610

Stałem się niedawno zadowolonym posiadaczem aparatu fotograficznego Canon PowerShot A610. Jak przed zakupem każdego sprzętu sprawdziłem w google na jakim poziomie jest on wspierany przez system Linux. Z wstępnego rozeznania wynikało, że nie obędzie się bez drobnych problemów, ale da się z niego korzystać. Było jednak inaczej...