Facebook
Podpis:
Numer GG:
KonteStacja.com - radio ludzi wolnych Cyber Forces
Pon
21:00
Wydanie Główne
Wto
21:00
„Spisek szlachetnych” i inne audycje ByteEatera (zwykle na żywo)
Słuchaj radia
Wydanie Główne (2)
5 dni temu
Czy coś nam grozi za wyjście do knajpy?
OtwieraMY biznesy vs sanepid. Mapa. Niespodziewane naloty. Czy można nagrywać interwencję? Mandaty płatne z góry. Przegrana i bany Trumpa. Perler wciąż bez hostingu. Koszty są niezbędne...
Spisek szlachetnych
wczoraj
Hemikryptomonokaidialog
Przez ok. pół odcinka zamówiona próbka ByteEatera gadającego bez głębszego przygotowania na różne tematy, jak to w audycji z założenia „luźnej”. Potem dzwoni Grzesiek (ten od pizzy) i...
Skorzystaj z naszych projektów:

▸ Wolny Rynek - w liczbach
▸ Emigrujesz - posłuchaj najpierw
▸ KontestKino - filmy na wieczór
▸ Poważny kryzys - napisz

Audycja: Epicentrum 2015-11-11

Ze względów bezpieczeństwa powinniśmy chodzić nago ☻

Nadający: Krzysztof Maczyński

Tak postuluje słuchacz. A ByteEater najpierw się bulwersuje na umowę TPP, po czym opowiada o językach programowania wyznaczających trend na za 15 lat, zwłaszcza Haskellu.

KOMENTARZE

nmk 2015-11-11

Jeden z linków, wspomnianych w audycji, odnośnie Haskella: 
https://github.com/Gabriel439/post-rfc/blob/master/sotu.md 
 
A tu coś dla tych, których interesuje gamedev + języki funkcyjne:  
https://michaelshaw.github.io/game_talk/game.html

Krzysztof z Bielska-Białej vel ByteEater 2015-11-11

A to praca naukowa (całkiem przystępnie napisana), o której wspomniałem, gdy nmk był na antenie, nie podając tytułu ani linku, jednak to właśnie opisane w niej podejście ze znanych mi obecnie uważam za najbardziej obiecujące w zakresie podniesienia Haskella, i ogólnie programowania funkcyjnego, z Immature do co najmniej Mature w kategorii „Standalone GUI applications”: oai.cwi.nl

Tomek Primke 2015-11-12

Na plus audycji można zaliczyć to, że wiesz, o czym mówisz. (Może nie ze wszystkim się zgadzam, ale fachowcem jesteś.) Słuchałem kiedyś audycji na Kontestacji, jakiegoś wywiadu z kimś, kto pisał w Javie. Po dwóch czy trzech wypowiedziach stwierdziłem, że koleś w życiu nie powinien być programistą, bo nie ma o tym pojęcia. W Twoim przypadku widać, że znasz się na temacie. 
 
ByteEater, polecasz tego Haskella, chwalisz go... A próbowałeś używać? Mógłbyś się pochwalić jakimiś aplikacjami? 
 
Pytam, bo ja próbowałem. A spróbowałem dlatego, że poczytałem o Haskellu. Wyczytałem mniej-więcej dokładnie to, co powiedziałeś w audycji (same cuda). A z praktyki mam wręcz przeciwne wrażenia niż te, o których opowiadasz. 
 
Zrobić w tydzień to, co konkurencja robi w dwa lata? Ja mam z Haskellem dokładnie na odwrót: to, co w Haskellu zajmuje mi dwa dni, w Eliksirze/Erlangu/JavaScript potrafię zrobić w dwie godziny. Haskell to język piękny, ciekawy i interesujący, ale produktywność w nim żadna. Dlatego Haskellowi zdecydowanie podziękuję. (I żeby była jasność: programuję głównie funkcyjnie; jestem przeciwnikiem programowania obiektowego.) 
 
Kompilator w Haskellu? Ogólnie wypowiadał się nie będę, natomiast wtrącę moje trzy grosze w dziedzinie transpilerów JavaScript. Pełno jest teraz tego (Babel, TypeScript, Elm, CoffeeScript, ...). W większości są one pisane albo w JavaScript, albo w samym transpilowanym języku. Jest też jeden transpiler pisany w Haskellu: PureScript. Efekt? Narzędzia w PureScript za cholerę nie integrują się z resztą ekosytemu Node.js tak, jak pozostałe transpilery. Co z tego, że PureScript (wzorowany na Haskellu) jest znacznie piękniejszy od Elm-a (też funkcyjnego), skoro to właśnie Elm-a znacznie prościej się używa? 
 
Aplikacje webowe? Dokładnie ta sama uwaga. Używając Eliksira, Pythona czy JavaScript jestem znacznie bardziej wydajny, niż w Haskellu. Właśnie dlatego, że Eliksir, Python i JavaScript są językami typowanymi dynamicznie, gorliwymi (przeciwieństwo lazy evaluation) i można w nich pisać funkcje z efektami ubocznymi bez znajomości monad. (A piszę to jako zwolennik typowania statycznego!) 
 
A swoją drogą, to przestań opowiadać farmazony, że w innych językach można przez przypadek odpalić głowice atomowe, a w Haskellu nie. Używałem Haskella przez rok i wiem, że w Haskellu też można popełniać błędy. Jak zresztą w każdym języku. (Tak przy okazji, ByteEater - kiedy to ostatnio Twój program napisany nie-w-Haskellu przez przypadek odpalił głowice atomowe? Bo mnie nigdy się to nie przydarzyło. Podobnie nigdy mi się nie przydarzyło przez przypadek skasować wszystkie dane. Więc argument też, jak dla mnie, chybiony.) 
 
Bliższy prawdy jesteś mówiąc, że w Haskellu można opracować bezpieczny system typów. To prawda. Tylko że zanim to zrobisz w Haskellu, to ja już trzy razy zdążę napisać gotową i działającą aplikację w innym języku. (Takie są moje doświadczenia z Haskellem - choć przyznaję, że ubogie w porównaniu do Pythona czy JavaScript.) 
Poza tym, każdy programista wie (POWINIEN wiedzieć), że specyfikacja oprogramowania często się zmienia. A to znaczy, że projekt typów sprzed, powiedzmy, roku, nie musi być odpowiedni do specyfikacji potrzebnej dzisiaj. Czyli cały misternie przemyślany system typów w Haskellu może powędrować do kosza. 
 
Na koniec napiszę tak: uwielbiam Haskella. To piękny język. Widać, że jest dobrze przemyślany. Gorąco polecałbym naukę Haskella każdemu, kto chciałby się czegoś nowego nauczyć o programowaniu. (A już obowiązkowo dla chcących poznać programowanie CZYSTO funkcyjne.) Jeśli audycja ByteEatera zachęci kogoś do nauki - to super. Spróbujcie. Napiszcie proste programy. Wyróbcie sobie własne zdanie. ByteEater przez 1.5h słodził nt. Haskella, to ja postanowiłem trochę ponarzekać. Tyle w temacie.

Faraday007 2015-11-13

@ByteEater 
 
Będąc całkiem zielony i nie rozumiejąc połowy z tego co mówiłeś zacząłem się zastanawiać jakimi zdolnościami matematycznymi powinien wykazywać programista? Czy te zdolności muszą byś rzeczywiście większe w przypadku programowania w Haskellu?

Krzysztof z Bielska-Białej vel ByteEater 2015-11-14

O, fajnie, że są pytania, i jest polemika! Tomek, Faraday, szerzej Wam w takim razie odpowiem w następnym odcinku, w którym planuję dopowiedzieć też o Elixirze i Scali. 
 
Ale teraz tak na szybko dla Was, i dla wszystkich chętnych, przede wszystkim czytających, którzy z jakiegoś powodu nie posłuchają, bądź zrobią to później: 
 
• Nie mówiłem, że Haskella należy się nauczyć jako jedynego języka i stosować w każdej niszy, wręcz przeciwnie. Miałem zamiar zareklamować 3 języki bardziej jako reprezentację pewnego trendu, który ma decydujący – tak przewiduję – wpływ na kierunek obecnego skrętu mainstreamu. Źródło inspiracji, poszerzenie horyzontów, przygotowanie na to, jak będą wyglądać wiodące języki i metody programowania (nawet jeżeli sam Haskell nie będzie wśród nich) za ileś lat. Także te obecnie mainstreamowe się do nich zbliżą jeszcze bardziej, bo już to robią. 
 
• Oczywiście Haskell nie jest tak popularną platformą, w sensie narzędzi, bibliotek integrujących go z czymkolwiek itd., żeby dorównywał JavaScriptowi z jego Node'em i silnikami w przeglądarkach, Pythonowi instalowanemu domyślnie w wielu dystrybucjach Linuksa, a tym bardziej Javie i .NET-owi. Ale nie jest też już akademicką zabawką, ma wiele bibliotek, wiodący kompilator (GHC) obrośnięty pakietem typu batteries included, są przyzwoite IDE i inne narzędzia. Więc gdy chodzi o stosowanie w praktyce, to oczywiście nie bierzcie Haskella w ciemno, tylko sprawdźcie, czy będzie się dało wygodnie w danym zastosowaniu z nim pracować, i to nie tyle z samym językiem, co właśnie pod kątem reszty ekosystemu. Ale to nie żaden minus języka, prawie każdy tak miał (no, Java, C#, Visual Basic i Objective-C (fuj!) nie, bo wprowadzały je gigantyczne korporacje w istniejących i już popularnych produktach). 
 
• Co do szybkiego prześcigania długotrwałego wysiłku konkurencji, to akurat było z wykorzystaniem LISP-a, innego języka funkcyjnego, omawiałem kiedyś już ten przykład dokładniej w audycji. Pisze o tym znany matematyk i informatyk Paul Graham: www.paulgraham.com 
 
• O głowicach to nie farmazon, tylko oczywisty chwyt retoryczny, dobitny przykład, mający działać na wyobraźnię, żeby łatwiej dotrzeć z przekazem, że to jest ważne. Sam np. dla Nokii pisałem przykładowy kod do dołączenia do SDK platformy Ovi, który się pytał (miał demonstrować wywołanie zapytujące się użytkownika o potwierdzenie, i standardowy styl takiego okienka), czy na pewno chcesz launch missiles. To jest wręcz topos w tej branży, jak exegi monumentum w poezji. A programistę, który jakiś czas temu niechcący usunął wszystkie dane, choć nie jestem nim ja, to znam, i to w Kontestacji; na szczęście zrobił to gdzie indziej (z oczywistych względów pominę identyfikację i inne szczegóły). 
 
• Czy i w jakim stopniu silny i statyczny system typów jest krępujący przy zmieniającej się specyfikacji? Czy dynamiczne i słabsze typowanie ma zalety, a jeśli tak, to przy stosowaniu w jakich niszach, które nie byłyby, przynajmniej w długim terminie, przerośnięte przez wady? (Ja uważam, że owszem, ma, w pewnych niszach.) Czy istotną zaletą systemów typów nawet w obliczu zmiennej specyfikacji jest trzymanie pewnej dyscypliny myślowej i w ryzach procesu arbitralnych zmian, co powstrzymuje nas (i klienta, jeśli jest zewnętrzny i bezpośrednio decyzyjny) od tworzenia ameb z featuritis i niespójnego bloatware'u (czego mogą nawet wszyscy żałować już w trakcie implementacji, ale być nieskłonni zmienić podejście, skoro już się wydało pieniądze i pracę na pójście daną drogą)? Czy może najlepszą (tak ja uważam) kombinacją jest programowanie w wielu językach, i pozostawienie słabo typowanego interfejsu skryptowego, podczas gdy zrąb aplikacji, a przynajmniej logika, są napisane w sposób zdatny do statycznej analizy i tym sposobem weryfikacji pożądanych własności (np. bezpieczeństwa), czyli prawdopodobnie w Haskellu lub języku inspirowanym Haskellem? To są głębokie pytania, i myślę, że nieco je sformułowaniami takimi, jak że plotę farmazony, zbyt lekko zbywasz. Warto byłoby porozmawiać i wspólnie te zagadnienia rozważyć. 
 
• Zauważ, że leniwe obliczanie jest coraz częściej obecne, czy to w formie bibliotek, czy nowych cech samego języka, także w JavaScripcie, Pythonie. Javie, .NET, C++, a nawet PHP. Owszem, to też głęboki temat, i naukowcy się zastanawiają i wiele prac piszą (a także eksperymentalnych języków tworzą, głównie zresztą jako rozszerzenia Haskella, który już zajął w tej roli dominującą pozycję) jak zgrabnie dać programiście możliwość łączenia najlepszych do zastosowania w danym problemie kawałków jednego i drugiego. 
 
• Żeby mieć produktywność zespołu programistów w Haskellu, musisz najpierw taki zespół mieć. Szacuję, że ich liczba jest dwucyfrowa na świecie (to i tak zdecydowanie więcej niż dla języków akademickich, takich tylko dla teoretyków), a w Polsce na razie 0. Dlatego jeżeli chcesz coś robić w Haskellu, to zdecydowanie radzę zacząć od jakiejś niezbyt wielkiej rzeczy, do ogarnięcia przez 1 człowieka. 
 
• Kto i w którym odcinku był gościem jako niekompetentny programista w Javie? Było to może u Kamila C.? Ja zwykle w takich sytuacjach wrzucam ten link: www.joelonsoftware.com 
 
• Faraday, myślę, że z tą połową to przesadzasz, tak retorycznie. ;-P Tylko w paru momentach była wyższa matematyka, i starałem się też od razu dopowiedzieć coś dającego intuicję (np. o tych monadach). Czy da się programować w Haskellu bez uprzedniej głębszej znajomości matematyki niż w przypadku innych języków? Da się. Nawet czytałem fajny tutorial, który zaczyna nie od prostych wartości, typów, funkcji, curryfikacji, rekurencji i funkcji wyższego rzędu, jak większość, tylko od monady IO, bez stojącej za nią teorii, i od prostych programików z konsolowym wejściem i wyjściem, np. "Hello, World!". Ale to jest tak, że im dalej w las, tym więcej matematyki, której rozumienie pozwala dobrze wykorzystywać elementy Haskella. Przy czym można się tego uczyć równolegle, co zresztą polecam (i nauczam, za pieniądze), m.in. dlatego, że przełożenie na programowanie daje tej nauce matematyki motywację. No i jest to w znacznej mierze matematyka dość odmienna od tej w szkole, czy nawet na większości studiów inżynierskich, według mnie ciekawsza.

nmk 2015-11-17

Ogólnie nie padły chyba stwierdzenia takie jak immutability oraz rekurencja ogonowa. A to są, moim zdaniem, dosyć mocne punkty języków funkcyjnych. 
 
Temat trudności programowania w językach funkcyjnych jest według mnie taki sam jak z innej beczki - sorry, znowu trochę gamedev: 
 
w szkołach, książkach i internetach najczęśćiej uczy się robić obiektowo. Niestety jest to często mniej wydajne - tam gdzie naprawdę potrzeba - głównie z powodu `vtable`. Dlatego z czasem powrócono do pisania gier albo chociażby raytracerów w sposób zorientowany na dane. Tzn. atrybuty zaczęto wkładać do osobnych tablic, np. zamiast robić klasę `Entity { Vector2 position, Vector2 size, Vector3 speed }`, to powstają trzy tablice `float[] positions`, `float[] sizes`. Bo tak jest szybciej. No ale wiadomo - architektura to, no, wątpliwa, chociaż pojawiło się potem coś takiego jak Data-Driven Design czy podobne terminy. Potem wykluło się coś znacznie piękniejszego, czyli Entity Component Systems - tu klasyczny link: t 
 
Teraz będę dążył do analogi nauki Haskella przez Tomka Primke. Podejście ECS w stosunku do OOP jest zgoła inne. W zasadzie to bardzo inne. Nie skupiamy się już na obiektach, a aspektach, czyli zestawach komponentów, pod które piszemy obsługujące je Systemy. Mniejsza o architekturę, tematem interesuję się już od ponad dwóch lat, właściwie bawiąc się tym, kodząc różne rzeczy po godzinach właśnie w ten sposób. Początek wyglądał świetnie! Robię MovementSystem, który operuje na tych encjach (Entity), które mają komponenty Position i Velocity. Ale po paru klasach tego typu człowiek miał pełno wątpliwości - co z hierarchią encji, coś z warstwami renderowania, co z dwukierunkowymi relacjami między encjami, np. przy kolizjach, co z inputem, co z eventami itd. No to sobie rozwiązywałem te problemy jeden po drugim. Przyznam się, że przez rok takiej zabawy po godzinach mindset ciągle przestawiałem. Tzn. trudno było z tą architekturą pracować, ale zdaję sobie sprawę, że z powodu OOP. I jak człowiekowi po miesiącu wydawało się, że już obiektowość go nie trapi, to i tak przez następne 11 miesięcy nie jest jak ryba w wodzie. 
 
Odnośnie funkcjyjnych to ja programowałem w OCamlu na studiach przez cały semestr i tak mi się spodobało, że zacząłem zgłębiać inne możliwości - Erlang, który był na serwerach w jednej pracy, no i Scala, z której zrobiłem certyfikat zorganizowany na Coursera.org przez twórcę Scali - Martina Odersky'iego. Szczerze, to ten certyfikat ledwie liznął niektóre tematy, a niektóre pozostawił samym sobie. Monady niestety też. W każdym razie Scalę mogę polecić szczególnie niezdecydowanym - jest funkcyjność, obiektowość i mutacyjność danych (mutability) nie jest jakoś szczególnie utrudniona jak np. w OCaml. 
 
Natomiast na studiach poznałem jeszcze inny język - mozart.github.io Wielu się nie podobało, bo "niepraktyczne" itd. ale deklaratywność dla komunikacji międzyprocesowej tutaj zaprezentowana była miodna (o ile pamiętam). W zasadzie kojarzy mi się z tematem modnym swego czasu - czyli FRP (Functional Reactive Programming) właśnie. Przy czym, to FRP to dużo bardziej coś w rodzaju "approach" niż "language syntax", "algorithm" albo "design pattern". A u podstaw FRP, wydaje mi się, leży deklaratywność, czyli możliwość opisania tego co się chce uzyskać - zamiast tego jak to uzyskać. Deklaratywność to jest moc i moim zdaniem powinniśmy do niej dążyć w wielu ogólnie pojętych systemach (chociażby przez data binding), zwłaszcza w których użytkownik ma bezpośredni wpływ na stan aplikacji, gdzie wtedy deklaratywność upraszcza auto-wnioskowanie stanu na podstawie inputu. Niestety w praktyce wydaje się to trudne, bo za bardzo wysokopoziomowe. Komputery jednak działają sekwencyjnie :( 
 
Odnośnie wspomnianego wielokrotnie leniwego obliczania, to skojarzył mi się też CQRS (bardziej approach niż design pattern - devtalk.pl gdzie taka deklaratywność, pod której sukienką kryje się leniwe obliczanie, data binding i takie tam, to właśnie najczytelniejszy sposób zaprogramowania takich optymalizacji jak w CQRS. A pragnę zauważyć, że optymalizacje to jedna z gorszych rzeczy psujących utrzymywalność kodu, czyli mówiąc wprost - jego czytelność. 
 
I jeszcze ostatni temat - matematyka w językach funkcyjnych. Ja bym nie "reklamował" tego w ten sposób, bo większość ludzi nie myśli tutaj o rachunku lambda / składaniu funkcji czy regułach Liskova, tylko raczej o wykresach i wzorze na deltę przy funkcji kwadratowej albo o pochodnych i całkach :D - jeżeli mieli z tym ostatnim do czynienia. A to trochę nie tak.

Dodaj komentarz...

Krzysztof Maczyński

Tę audycję prowadzi Krzysztof Maczyński, któremu możesz wysłać e-maila, a nawet go zaszyfrować przy użyciu poniższego klucza:

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsFNBF/tUc4BEACidCpxo3XZUWBhTz7beIfIup5al/BbTcfEJR4wy3KRYR+7
6m2ZpduuagUI+IoLLgonBKU6YSFVn/raJlK/sb0HBkK42hTQz9xpxpo37sWO
5E0T2hrLWgWi/hE3bgybnbyVeiaEKEnufZjCzh+SUohjgERDHBFELfw5LqxV
G9P1yMKk85GDy9N2tPIAK+f/kT22eEPlbbMb8kHlQ49VS11K2q0Jyp0EqgfJ
XD6ZKaZp6hW9oX3BFNs1/rbDqN79+0p9GOG6apzEZyz6RxHq7hvSo+q8vux+
ImlrVmMAqA8drnSxXsdSK3noaedXRpXr2m8sPKp4zlH41RPw0metVxO8mis5
a8/s5Cc2xDuqaLBpQHDVFacGVEO4kTiMPBIFbymkDYTTyyJrwb1s1d2eCOLa
CYjlt743kMsZYDkrgPEEGTi7msHqD5LQhjgTtFT4neN9pLTCkv9HZr/RNf3o
v2oMgGrin00FxzYvlWYUDXenpAhz8HRkcPsPnX/XTW4JuQSVYQi5zmas1VGK
ZYJpqTSbpTihRnxQxGIAPx7EYEZ/ZRt5V8Mc4qxzUPjrPw9E6Wxf4kCp8zVn
v1RnEaOuIXJe5OsL9d2eBtpsiYd5ZxiF/HqDF/EHY0XFwwx53jjCshtDs0np
h5+3EThWEXZzv84eIG2054F034pkdaWki9nSXQARAQABzSdLcnp5c3p0b2Yg
TWFjennFhHNraSA8MTk4MWttQGdtYWlsLmNvbT7CwXUEEAEIAB8FAl/tUc4G
CwkHCAMCBBUICgIDFgIBAhkBAhsDAh4BAAoJEED6Nm5oaoVfWEwP/ijs1Gg6
QdpPWAz5eV6c1LYa+BlXC6b3ool5QI56sBQaNZZRD/R9EhU+E6TumftwFp/5
jJ9yp34hvyin+Z/8YpBlFXT1ACHetg2e802vdfmFDXO/WdT67nK814SNt9iB
zTwIpj7V7u8ntUvVoviTL/MC6ntJTc6aq2q2hCAfTCFOzUmAYjlMFSVkaFwW
KUHIFb2E7O1KyxOqtKuMpR2hFv4GoQ4C38JAJI2ixdlcvA5pH2bMGtfusY+J
Ux7y5p6rY391ARnCXRkIOZd/7mbSUkupsJ2GxVXTAY18r1SH/m78oynr+Sct
O1EsIOmSpjGRGprc/reO63NjtyzIO04FN4JgJ7UJR3C4qGRk5BkvGRsbbVTL
0amlQhJAT+E3Zb/h7JCCW1FKv7oapdk5887WhH6DqhJXRbSRyHOBElnWNBg/
zyPZ/d305GZMUGSu6ef74axtHEN4oc2MnJFyeHIqEMOWV3xSecVQXm1qbPtC
Lh6v2VaAm5gDbaJ4BfH/4Yp9jqG5wIiezE9QIWqgYf7LnBl/UtJeiKnuMZ5t
KDeqzVGSJt1SnMm7K6sR7oLpVbtyVaklJ4yWCSaRj6P91YvKidX6HnytnA27
oZjhbzeR+cbxrXKZowSq1B4t8lMm+K+RKzpUChXQ/vAoS9+BCMrjWBcQveQC
ktEtOk+oR5SMv9b1zsFNBF/tUc4BEADhphcabXE+ThDEZaTPtO0a8fCvFcqE
q0zJfO1Bbka1AFAw6GFrh4aTmXqe0Taovp1zzZ4LRyxFfzpievK2i4w7gZDy
PojzVdzEw8faW6BxKsQ8YgC2AiSd92pBkPTfTFVLxWCCfBxSO59Pv/mrYiDn
T4bRmjz5vdceSfRF396m2sg17b7JeSiVrdluOZ/zzXEjoScB7bvTaF6+MeQb
YYldOvJdT3FEJPJVGCzv9+Ud0WW0YzRG8jONysxq/H6V+ip82YQ2wSsHKIwI
sgIl2imePjeQ6Can3nxpxD9B+ooXGjFvexXoeA5MtqUwmRo3qyL1uolNjmNC
rT9ZzmJQWLf7u7ferNZlj81HZHoR4ad/q33xaT85ZDY3WsGg7TrT1ZM73N0P
qZdvliPrmfrh2RkzS3EZNJhFMcwKDJlQ23zHTvGwSRY8rVrptOuy/tQGzLbC
JDRuoaHMYJC7IJkx7Wyo83Rr69YTRoCKQV4VHJdwo9W0LY7rR/9qpYhezMgK
hOJgdrY7KrMkUZgkA1U9qJcYfHpZwXgCBZiq8t7cSJBHIvtxfjKwhWoiovNX
GaYblCTgqL3H6Fqne13e+Q04fgDY8f2VVsnu480R1hXoDYssTPIzMgEg5QO7
7KnA2K94aGfNTYS1GkyFKnB3bB9xMVjTJquA0E3wVW2UcqLLDED+TQARAQAB
wsFfBBgBCAAJBQJf7VHOAhsMAAoJEED6Nm5oaoVffL4QAJL4HB2fF6U7IIh9
4+4gfQmxMblgqtx+WwwBE/d6MahaA1gW6j8N4dnPH43dBtIVn6GX8ZpglIJf
inLvwrvtYYaXQm4e0qSfniizEh9CN5LM1S/pUBTLFWNPQ7TQ8EPEOJKjiRSI
ryGHZzezEZHNbBtKb0thb16g5Tmmt04K00/WTUrVhKWouCIv8K1G0XiXFaFT
8+7MO93YOVbEJuvR61TOhaIs1lbs7GEiHlV4mWNThbUJhINwCd67wusLybJ1
oWJdyhmlSAVY5xO4OeY2ZSkvr3QjGQ4LAudBUvvWiS5SRcK0SPyFm6ZcDVDM
eAo0oKrfj/qSF32YH562l3JlVl8J8TcDGRKqHFFhzHAv4e4QH4QgEDNPMcKR
LjwgTVhCVLb8d+tl4dILkEPOKZWiPeRCWfSULSGcyW715WAUagcXwXEaLIa1
vAG0JJqvoym7XU+0kwoFtZ+VtmZ4TUL7nVdUVgLxEklldkHGcgD9CY2LZ0VN
J8qE8IeQABKFmROYrGYQQcllOBAoDmOdZGs4R2AJQDY9ELzqnfPq0Ekd2edy
s/ygekmeunto/g+Ut/ROvOGNH+El0SQ3lzEHPuyllW7Gj+7v+9E1qFmZWEWo
g0KvzP7AZ2obqSQLejM1j3pIqav85/268OcGREANVBaICNcW8gMDm5B/edKh
uyVjBOH1
=Ftdk
-----END PGP PUBLIC KEY BLOCK-----

Inne audycje tego autora:

Dodatek o sztucznej inteligencji (1) - 3 tygodnie temu


Futurologia nieruchomościowa (3) - ponad rok temu

Dziwy psychiatrii, część 1 (9) - ponad rok temu

Internet przyszłości (9) - 3 lata temu



Więcej audycji...
Hakerskie opowieści - 3 lata temu

Droga do bankructwa (2) - 3 lata temu

Na metadane nie miej wyjebane (2) - 3 lata temu


Co pokona Bitcoina? (1) - 3 lata temu


Nowe technologie XXI wieku (7) - 3 lata temu

Nie słuchaj, bo utyjesz! (4) - 3 lata temu



Naga półprawda (3) - 3 lata temu










Odcinek wielobarwny (4) - 4 lata temu

Cyberzbóje i cyberrycerze (7) - 4 lata temu



Czym otruć prezydenta? (4) - 4 lata temu


Kryptowalutowy Dziki Zachód (4) - 4 lata temu

Jak oni programują (11) - 4 lata temu


Czy koty są okrutne? (6) - 4 lata temu





Lecą drony z każdej strony! (2) - 5 lata temu






Zawrotne prędkości (2) - 5 lata temu









Po co nam science fiction? (1) - 5 lat temu

Interview with Lyn Ulbricht (1) - 5 lat temu



Szachy kontra go (10) - 5 lat temu



Zagadkowy odcinek (4) - 6 lat temu






Co to jest biohacking? (8) - 6 lat temu




Innowacje w motoryzacji (2) - 6 lat temu









Epicentrum wolności (4) - 6 lat temu

Śmierć Windows XP (7) - 7 lat temu


ARM vs x86 (5) - 7 lat temu


Podsumowanie roku 2013 (7) - 7 lat temu

Gry niezależne (indie games) (13) - 7 lat temu







Bitcoin - wirtualna waluta (25) - 7 lat temu




FBI zamknęło Silk Road (4) - 7 lat temu

Linóx to ZUO? (4) - 7 lat temu

Gość elektronik: LordBlick (9) - 8 lat temu



Magia gier (2) - 8 lat temu

Mobilny 1010fingers (1) - 8 lat temu



Wywiad z Robertem Partyką (2) - 8 lat temu

Hackerspace odyssey (5) - 8 lat temu

Geeky Afterparty 2012 (3) - 8 lat temu



Jak nagrywać własne podcasty (14) - 8 lat temu


Urządzenia ponadczasowe (3) - 9 lat temu


Polski tablet czy UMPC? (11) - 9 lat temu



UMPC (1) - 9 lat temu

Co z tą innowacyjnością? (3) - 9 lat temu

Wozniak, kafelki i rowery (15) - 9 lat temu

Geek Drags o tabletach (5) - 9 lat temu



Rozszerzona rzeczywistość (3) - 9 lat temu

Wehikuł czasu nerdów (2) - 9 lat temu








Własne media center - 9 lat temu






Zaoranie HTML5 (4) - 9 lat temu


Wszystko o XML-u (4) - 10 lat temu


Google kupił Motorolę! (3) - 10 lat temu

IRC - technologia do lamusa? (4) - 10 lat temu


Geek cloud: ARM i x86 (9) - 10 lat temu




Cała prawda o Windows Phone7 (2) - 10 lat temu





















Mobilny HydePark (1) - 10 lat temu




UMPC i tablety (8) - 11 lat temu




Notebook czy Netbook? (1) - 11 lat temu

Linux w kieszeni (4) - 11 lat temu



Audycja Mobilnych - 11 lat temu

Audycja Mobilnych - 11 lat temu

Audycja Mobilnych - 11 lat temu

Audycja Mobilnych - 11 lat temu



A dzisiaj polecamy:
 align="center">
Program sponsorują:

Antonio - - 65.00
Bierzcie przykład, sponsorujcie! - - 215.00
Rafael from Silesia - - 20.00
Zamiast patronite - - 77.00
nexty - - 10.00
Koczkodan - - 20.00
Piotrek - - 25.00

Możesz i ty zasponsorować >>>

Promuj radioWydrukujDaj komuś ulotkęChcesz prowadzić audycję?Kontakt