Archive

Archive for March, 2009

Marilena czyli Flex i wyszukiwanie twarzy

March 30th, 2009 No comments

Odkryłem dziś nową interesująca bibliotekę dla Adobe Flex – Marilena. Z pomocą tej biblioteki Flash Player może rozpoznać położenie twarzy w obrazie, na przykład w obrazie z kamery.

Ten przykład działania biblioteki Marilena pochodzi z bloga François Tarlier.

Przyspieszoną wersję biblioteki można znaleźć na blogu quasimondo. Tam też można znaleźć kolejne demo – krzywe zwierciadło.

Inne fajne przykłady można znaleźć na stronie mr.doob (o ile Unia Europejska mu nie zabroni się tak nazywać). Warto też zerknąć do źródeł projektu pana doob.

Categories: FLEX Tags:

Moje nowe rolki, kopciuszek i patenty

March 22nd, 2009 2 comments

Dawno się tak bardzo nie cieszyłem. Kupiłem sobie nowe rolki J. Moi koledzy kupują motocykle czy samochody a ja wybrałem zwykłe niezwykłe roleczki. O takim sprzęcie marzyłem jako licealista i wtedy a nie teraz tak naprawdę był mi potrzebny. I to logo, miałem je na pierwszych rolkach i mam je znów:

Moje nowe rolki mają olbrzymie twarde kółeczka: 90mm. A to oznacza olbrzymią szybkość i komfort jazdy po mieście… Olbrzymie kółka suną szelestnie po asfalcie, jednak prawdziwą radość z ich posiadania odczuwa się na kostce brukowej. Przetestowałem to wczoraj, miodzio J. Kiedy zaczynałem jeździć na rolkach, jakieś kilkanaście lat temu, kółka o rozmiarze 76mm uchodziły za ogromne, a ich posiadacze byli szybcy i wściekli, szczególnie zjeżdżając z Jasnej Góry. Wczoraj rozpędziłem się tylko raz, na ile pozwoliły moje cyfrowe mięśnie, ale i tak poczułem moc 90mm.

Nie planowałem kupować rolek. Nie znam się już na tym. Wczoraj Ola plotkowała z koleżanką a ja włóczyłem się po złotym centrum handlowym. Miałem sobie kupić jakieś nudne rzeczy, jednak omijałem tego typu sklepy. Zajrzałem za to, do sklepu sportowego. Akurat była promocje na bajeranckie rolki. Fajny kształt i bajeranckie zapięcie. Poszukałem mojego rozmiaru – niestety nie było. Był o pół numeru mniejszy i dużo większy. Chyba zawsze tak jest z tymi promocjami… Przymierzyłem oba i oba nie pasowały. Obok były właśnie te rolki – niestety już bez promocji, i bez bajeranckich zapięć i trochę jakby szarawe. Przymierzyłem mój rozmiar. Poczułem że moja noga otoczona jest idealnie dopasowanym elastycznym szkieletem buta. Jednak stwierdziłem, że nie wypada wydawać tyle kasy, tym bardziej, że w ostatnim roku na rolkach jeździłem może ze dwa razy… Podziękowałem, wyszedłem ze sklepu i lecz w pamięci wciąż miałem tę krótką chwilę, gdy na jednej rolce zrobiłem kółeczko wokół sklepowego siedziska. Przeszedłem jeszcze kilka kroków i przypomniało mi się o idealnie dopasowanym bucie… Pomyślałem też, że moja rozrzutna postawa pomoże walczyć z kryzysem. Wróciłem… A dziś zamęczam Was programistów – tym nudnym artykułem. A będzie jeszcze gorzej – bo dziś rozbieram rolki na części i przyglądam się bebechom.

To było doprawy najbardziej wstrząsające przeżycie. Aż mi włosy wyleciały z głowy. Nakleja a na niej 28 numerów informujących mnie o 28 patentach! 28 patentów w bucie z kółkami? Jakie wynalazki mogą zawierać rolki, że trzeba je chronić powagą Amerykańskiego Państwa? Pierwsze moje rolki miałem na sobie kilkanaście lat temu, od tego czasu, uwierzcie mi, ich konstrukcja nie uległa zasadniczym zmianom. Kółka urosły o dwa centymetry dopasowując się do rosnącej liczby brukowanych ścieżek rowerowych. Inne cechy rolek pozostały bez zmiany: miękki but wewnętrzny, sztywny korpus, szyna, 4 kółka, po dwa łożyska 608zz na każde kółko. Co więc Ci amerykanie opatentowali? Sznurowadła? Postanowiłem to sprawdzić. Z pomocą przychodzi mi Google, oto kilka przykładów:

Nie rozumiem, ale może wy to rozumiecie, jak można nazwać hamulec do rolek wynalazkiem? To jest potrzeba chwili, a nie wynalazek. To jest kawałek gumy przymocowany do buta. A kółko do rolek? Jak można opatentować kółko do rolek? Czy stoi za tym zanik moralności, chytrość, skostniała maszyneria biurokratyczna, czy może po prostu brak mózgu?

Z moich nowych rolek cieszę się niezmiernie. Są szybkie, wygodne i mają opatentowane kółka. Jednak martwi mnie coś innego. Za te wszystkie patenty Rollerblade musiał zapłacić. A to znaczy, że płacą za nie klienci. Pamiętam, że na moje pierwsze prawie profesjonalne rolki pracowałem przez miesiąc i nie była to łatwa praca. Mój tata zatrudnił mnie w swoim warsztacie radiowo telewizyjnym, gdzie wykonywałem prace kopciuszka. Rozlutowywałem płytki elektroniczne. Sortowałem oporniki. Zwijałem cewki do przestrajania odbiorników radiowych. Po dziś mam te rolki i mam też te koszmary. Jednak dziś mam bardzo przyjemną pracę, którą bardzo sobie cenie, a wtedy naprawdę sporo się na pracowałem. I nie mogę znieść myśli, że pracowałem na cwaniaków, którzy patentują kółka!!!

Categories: Polityka Tags:

Narzędzia miłośnika mediów MLT Framework

March 6th, 2009 No comments

Jeszcze nikt o tej bibliotece po polsku nie napisał, więc będę pierwszy (chyba). MLT Framework – skrzynka z narzędziami miłośnika mediów – które można wykorzystać do montażu i edycji wideo. W mojej półce z narzędziami MLT zajmuje miejsce pomiędzy FFMpeg i Multimedia Conversion, będzie używane w aplikacjach webowych po stronie serwera. W MLT urzekły mnie dwie rzeczy: definiowanie dokumentów XML sterujących procesem montażu wideo oraz użycie polskiej notacji odwrotnej w tym samym celu. Odwrotna notacja polska to najprostszy język programowania i bardzo się cieszę że odświeży się w tym niezmiernie interesującym projekcie.

Prosty przykład użycia MLT:

inigo klip1.avi klip2.avi -mix 25 -mixer luma -mixer mix:-1 -consumer avformat:wynik.avi b=400k acodec=libmp3lame ac=1 ar=22050 ab=64k vcodec=flv f=flv

 

Łączy dwa klipy w jeden, korzysta z efektu przenikania a wyniki zapisuje w pliku wynikowym gotowym do opublikowania w Internecie. To samo w XMLu:

<?xml version="1.0"?>
<westley title="source.data">
  <producer id="producer0">
    <property name="resource">klip1.avi</property>
    <property name="seekable">1</property>
  </producer>
  <producer id="producer1">
    <property name="resource">klip2.avi</property>
  </producer>
  <tractor id="tractor0" in="0" out="24">
   <track producer="producer0" in="203" out="227"/>
    <track producer="producer1" in="0" out="24"/>
    <transition id="transition0" in="0" out="24">
      <property name="a_track">0</property>
      <property name="b_track">1</property>
      <property name="factory">fezzik</property>
      <property name="mlt_type">transition</property>
      <property name="mlt_service">luma</property>
    </transition>
    <transition id="transition1" in="0" out="24">
      <property name="a_track">0</property>
      <property name="b_track">1</property>
      <property name="start">-1.000000</property>
      <property name="mlt_type">transition</property>
      <property name="mlt_service">mix</property>
    </transition>
  </tractor>
  <playlist id="playlist0">
    <entry producer="producer0" in="0" out="202"/>
    <entry producer="tractor0" in="0" out="24"/>
    <entry producer="producer1" in="25" out="124"/>
  </playlist>
  <tractor id="tractor1" title="Hura" global_feed="1" in="0" out="327">
    <track producer="playlist0"/>
  </tractor>
</westley>

 

Już się cieszę na myśl o aplikacjach w których tego użyję.

Categories: Programowanie Tags: