Archive

Archive for July, 2009

Jakie pytania na konkursach?

July 31st, 2009 7 comments

Na konferencjach programistów bywają konkursy. Pytania na tych konkursach bywają przykre. Postanowiłem więc zacząć zbierać listę zagadnień, które mogą być tematami konkursów dla deweloperów, które nie będą przykre i które będą uczyć czegoś studentów obecnych często na konferencjach. Nie będę się wysilał i wymyślał takich zagadnień specjalnie. Jednak gdy coś mi się trafi, to o tym napiszę. Tak jak dziś.

Zadanie: wskaż ryzyko związane z tym kodem.

Categories: Uncategorized Tags:

JDD 2009 po angielsku

July 25th, 2009 1 comment

W tym roku konferencja Java Developer Day maiła być w całości po angielsku. Skrytykowałem ostro ten pomysł.

Jednak, jest kilka zalet zrobienia konferencji po angielsku w Krakowie. Po pierwsze mamy świetną konferencję Javową po polsku i to w Warszawie. Gdyby JDD dalej była po polsku to musiała by konkurować z Javarsovią co dla obu konferencji było by niekorzystne.

Ważniejsze są jednak sprawy ambicjonalne. Dlaczego w Polsce nie mamy mieć konferencji ponad polskiej? Dlaczego Polska nie miała by być liderem okręgu? JDD po angielsku miało by szansę ściągnąć naszych sąsiadów z Niemiec, Czech, Słowacji, Ukrainy, Białorusi, Łotwy, Litwy… Lepiej, żeby tego typu konferencja była w Krakowie niż w Pradze.

Kolejna sprawa, w Polsce mamy świetnych prelegentów, przypomnę tylko ostatni wykład Pawła Szulca InDaHouse – to jest poziom światowy. Dlaczego nie dać kopa ich karierze? Lepiej, dla nas programistów, żeby programista z Wrocławia robił wykład w San Francisco niż na odwrót. Konferencja JDD po angielsku może być właśnie taką szansą na wskoczenie z karierą na wyższy poziom. Nie chodzi tylko o ego i karierę wykładowców, ale przede wszystkim o promocje Polski i polskich informatyków za granicą.

Podsumowując zalety: JDD po angielsku nie było by konkurencją dla Javarsovi, JDD po angielsku ma szansę być konferencją regionu wschodnia Europa, JDD po angielsku może promować biznes IT w Polsce – na czym zarobimy wszyscy.

Dlatego, zmieniam swoje zdanie. Od dziś uważam, że warto przecierpieć Polską konferencję po angielsku.

Categories: Recenzje Tags:

Woome

July 25th, 2009 No comments

Woome to niesamowicie interesująca z punktu widzenia technologii zabawka. Woome to serwis społecznościowy wykonany po mistrzowsku który oferuje flirtowanie wideo. Dwie osoby rozmawiają ze sobą, ich rozmowa nagrywa się i jest opublikowana w necie. Ktoś naprawdę się napracował.

Niestety, zawsze na końcu pojawia się księgowy. Nie wystarczy, żeby Coś było fajne, Coś musi przynosić dochód. Przynajmniej musi dawać jakaś nadzieję na dochód. Dlatego kliknąłem w baner:

Wcześniej, nie widziałem tego typu reklam na woome L. Szkoda, że się pojawiły. Dlatego, z całego serca życzę powodzenia Woome, gdyż ten serwis składa się z wyśmienitej pracy informatyków zza morza.

Categories: Recenzje Tags:

Google vs Adobe

July 20th, 2009 No comments

Mam wrażenie, że firma Google nie lubi firmy Adobe. Google unika technologii Adobe a produkty Google czasami źle współpracują z produktami Adobe.

  • Google napisało pakiet biurowy – Google Docs. Gdyby wykorzystali technologie Adobe mieli by dużo mniej roboty i osiągnęli by dużo lepszy efekt. Szkoda, że Adobe nie skończyło Buzzworda… Przy okazji Buzzword nie działa na Google Chrome.
  • Google napisało Talk. Gdyby użyli technologii Adobe, osiągnęli by lepszy efekt wielokrotnie mniejszym wysiłkiem.
  • Google bardzo rzadko używa Flasha na swoich stronach. Głównie na YouTube i Analytics. Jednak są to firmy kupione przez Googla. (Google Video jest klonem, MSN też korzysta z Flasha)
  • Google nie chcę udostępnić pliku crossdomain.xml lub czegoś co pomogło by programistom Flasha przy pisaniu aplikacji korzystających z Google API. Naprawdę wielu programistów o to prosi.
  • Gadżety dla IGoogla ciężko współpracują z Flashem. Flasha trzeba osadzać specjalnym kodem od Googla. Raczej nie da się tego zrobić dobrze korzystając z popularnych bibliotek, np.: SWFObject.
  • A do napisania tego posta tknęło mnie dzisiejsze odkrycie – kłopoty Chrome z historią dla aplikacji Adobe Flex.

Jak myślicie, co będzie dalej?

Ja myślę, że ktoś zdetronizuje Google Docs czy też skompromituje Talk albo Wava przy wykorzystaniu technologii Adobe. Zadufani ewangeliści Google dostaną wtedy po łapkach.

Categories: Google Tags:

Polecam VPS w Statnet

July 7th, 2009 12 comments

Chciałbym polecić firmę Statnet oferującą serwery wirtualne VPS. Serwery wirtualne VPS, to usługa która musi być sprzedawana przez zaangażowanych profesjonalistów. Usługa świadczona mi przez firmę Statnet jest wzorowa.

VPS używa się po to, by uruchamiać na nich aplikację napisane w bardziej wymagającej technologii, na przykład Java. VPS mówiąc prosto, to wirtualny komputer którym możemy dowolnie zarządzać. Możemy postawić na nim dowolna bazę danych i uruchomić dowolną aplikację. Zaletą serwerów wirtualnych jest kwestia backupu danych. Oczywiście, serwery dedykowane będą pracować szybciej, jednak wymagają więcej prac administracyjnych.

Categories: Recenzje Tags:

RTMP jak to robi YouTube

July 6th, 2009 3 comments

Z protokołem RTMP jest związany pewien problem. Standardowo działa on na porcie 1935. Właściwie, to nie jest problem z protokołem RTMP ale z ISP. Firmy, które sprzedają nam Internet lubią filtrować i kolejkować pakiety. Dlatego połączenia na porcie 1935 – który jest mało znany w Internecie działają dużo gorzej niż połączenia na porcie 80. Adobe wiedziało o tym, i wprowadziło protokół RTMPT, który jest opakowaniem protokołu RTMP w protokół HTTP, który działa na porcie 80 i który może doprowadzić do połamania języka.

YouTube zrobił coś innego. Otóż, You Tube ma w sobie coś takiego jak nagrywanie z kamery webowej. Do tego celu używają protokołu RTMP. Jednak wydaje mi się, że na porcie 80. Powiedział mi to NetLimiter – skąd inąd fajny program który polecam.

Postanowiłem więc dokładnie sprawdzić czy na pewno jest to protokół RTMP – na co wyglądało, czy też może zwyczajnie RTMPT. Zanurkowałem głęboko w system a jako butli tlenowej użyłem Wireshark. Wireshark to program który umożliwia podglądanie danych przekazywanych w połączeniach sieciowych. Chciałem sprawdzić, co tam się przesyłam z mojego komputera na serwery YouTube. Gdyby był to protokół RTMPT to podczas nagrywania wideo znalazło by się tam sporo żądań POST. Nie było ich… Było za to coś takiego:

rtmp://…:80/ – na 99% YouTube korzysta z protokołu RTMP na porcie 80.

Dotychczas z serwerem Red5 łączyłem się na porcie 1935 po protokole RTMP. Jeżeli połączenie działało źle – to próbowałem przełączyć się w na połączenie RTMPT na porcie 80 – sterowałem tym ręcznie lub pozwalałem aby Flash robił to automatycznie. Być może nie potrzebnie, skoro YouTube używa RTMP na porcie 80 to ja też powinienem spróbować.

 

 

Categories: FLEX Tags:

Javarsowia a i++ czy ++i

July 6th, 2009 8 comments

W sobotę odbyła się konferencja Javarsowia. Darmowa warszawska konferencja była naprawdę znakomicie zorganizowana i niczym nie ustępowała płatnej krakowskiej konferencji JDD. Wykłady, materiały, prezenty i jedzenie – które wygłodniali informatycy wyskrobywali z garnków – wszystko było na bardzo dobrym poziomie. Mi najbardziej spodobał się wygład Pawła Szulca o Apache Wicket. Dziękuje organizatorom, wykładowcom i sponsorom!!!

Zauważyłem, że ostatnio na konferencjach Java pojawił się trend na konkursy. Konkursy są najzupełniej w porządku, jednak nie podobają mi się pytania konkursowe. Uważam je za głupie. Nie chciałem brać udziału w tych konkursach, ale zobaczyłem małe czarne pudełeczka z tajemniczą nagrodą. Nie wytrzymałem, spróbowałem i nie rozwiązałem poprawnie. Na szczęście – dwa małe czarne pudełeczka udało mi się i tak dostać. Dzięki!!! Oto konkurs.

Metoda main wypisze: “Koń… Krowa, kura, kaczka… Kura, kaczka, drób…(…) O! Jest! Widzę! Droga…“. “Głupota – niedostatek rozumu przejawiający nieumiejętnością rozpoznawania istoty rzeczy“. To nie jest istota programowania. Tak precyzyjna wiedza o klasach, dziedziczeniu i przysłanianiu metod jest konieczna tylko dla programistów maszyny wirtualnej Java – którzy muszą trzymać się standardów. Programiści Java – nie powinni nigdy w życiu napisać takiego kodu. Programiści Java, gdy zobaczą taki kod powinni zaalarmować. Przypomina mi to trochę Perlowego Golfa. Jednak pomiędzy Perlowym Golfem a takim konkursami jest pewna różnica – Perlowy Golf polega na napisaniu najkrótszego programu co samo w sobie może być pewnym celem. Tymczasem celem tego programiku, zagadki – jest wyłącznie zagmatwanie. Nie o to chodzi. To nie jest istota programowania. W programowaniu nie chodzi o to żeby zagmatwać, ale żeby zarządzać informacją. ++i lub i++.

Krytykując, zawsze należy podać alternatywę. Jak napisałem wcześniej, konkursy uważam za fajne. Jednak takie pytania uważam za uwłaczający godności programistów. Moją godność kupili czarnymi pudełeczkami… No cóż… O co więc należy pytać na konferencjach, żeby nie obrażać uczestników? O istotę rzeczy!!! Na przykład styl kodowania: if(coś.equals("Antek")) czy if("Antek".eqauls(coś)) lub if(coś==null) czy if(null==coś). W tych dwóch króciutkich pytaniach prawidłowy jest tylko jeden styl kodowania – czy wiecie który i czy wiecie czemu? O co jeszcze można pytać na konferencjach. Na przykład o bardzo ważna metodę "equals" – gdyż pisząc ją łatwo jest się pomylić.

Istotą programowania nie jest wiedza, jaka jest różnica pomiędzy i++ czy ++i. Dobry programista nie musi tego wiedzieć. Dobry programista musi wiedzieć natomiast to, że inni mogą nie wiedzieć. Programowanie, to język który wykonują maszyny. Programowanie to język który muszą zrozumieć ludzie. Dlatego istotą programowania nie jest zapis if(7==i++) ale zapis: i++;if(7==i). Istotą programowania jest taki zapis myśli, aby ludzie mogli go odczytać a maszyny wykonać.

Chodzi mi tylko o to, aby ludzie którzy przyjdą na konferencje, którzy wystartują w konkursie i którzy dostaną czarne pudełeczko, nauczyli się przy okazji czegoś pożytecznego.

Programista to taki informatyk. Informatyka to zarządzanie wiedzą. Zarządzanie wiedzą to umiejętność rozpoznania istoty wiedzy. Skończmy z głupimi konkursami. Czas na dobre konkursy. Czekam na Wasze przykłady…

 

Categories: Programowanie, Recenzje Tags:

Prawdziwe granie online

July 2nd, 2009 4 comments

Dziś zaszokowała mnie wiadomość o oprogramowaniu do gier online autorstwa Davida Perry. Otóż, David udostępnia gry komputerowe online. Na serwerze zainstalowana jest gra, a pograć możemy przez przeglądarkę z Flashem. Gratulacje David!!!

Nie mam pojęcia jak David to zrobi? Może wy wiecie?

Mi przychodzą na myśl następujące rozwiązania. U klienta jest Adobe Flash Player. To oznacza połączenie do serwera za pomocą RTMP. RTMPF lepiej by się nadawało, ale wciąż jest eksperymentalne. Kodowanie pewnie H264. Ale jak wyświetlić grę w taki sposób żeby serwer mógł ją przekazać do Internauty? Może technologie wirtualizacji i protokół RTP? RTP dało by się podłączyć do serwera, na przykład Red5 lub Wowza a te z kolei mogły by serwować do Flasha. Na szybko znalazłem że RTP jest blisko Microsoft Virtual PC. Albo może jeszcze zupełnie coś innego…

Programiści, a wy jak myślicie, jakich technologii użył David by pograć sobie online?

Categories: Recenzje Tags: