Podkasting w Polsce
Zjawisko podkastingu w Polsce pojawiło się w roku 2005. Za pierwszy polski podcast uznawana jest, prowadzona przez dwóch Włochów – Perluigiego i Leonardo, audycja „Warsaw calling”, która zaczęła publikację odcinków w lutym tegoż roku; za pierwszego faktycznie polskiego podkastera uważa się zwykle Jacka Artymiaka. Wśród podcasterów, którzy rozpoczęli nadawie w tym „pierwszym roku” i działają do dziś są m.in. Martin Lechowicz, Borys Kozielski, Filip Dawidziński. W ocenie tego ostatniego liczba aktualnie działających podcastów w Polsce nie przekracza 100, chociaż ogólna ilość projektów oscyluje wokół 300.
Od 2009 roku organizowany jest europejski konkurs na najlepszy podcast – European Podcast Award. Polacy biorą w nim udział od edycji 2010. W Jury konkursu od 2011 roku zasiadają także polscy zwycięzcy z lat ubiegłych.
Podcasting
Podcasting, podcast, spolszczone: podkasting, podkast to forma internetowej publikacji dźwiękowej lub filmowej, najczęściej w postaci regularnych odcinków, z zastosowaniem technologii RSS.
Nazwa wzięła się z połączenia słów iPod – odtwarzacz muzyczny firmy Apple i broadcast (z ang. transmisja, przekaz). Według innych źródeł pochodzi od skrótu określenia „Personal On Demand”. Początki podkastingu sięgają roku 2000. Wówczas to pojawił się pierwszy szkic dotyczący użycia technologii RSS do publikowania treści audio i wideo. Gwałtowny wzrost zainteresowania podkastingiem nastąpił na przełomie lat 2004 i 2005. O ile jeszcze pod koniec września 2004 liczba wyników zwracanych przez wyszukiwarkę Google oscylowała w granicach 500, to rok później było to ponad sto milionów. Google Trends datuje pierwsze zapytania odnośnie słowa podcast na koniec września 2004.
Aby słuchać podkastów nie trzeba posiadać iPoda ani innego odtwarzacza muzycznego – wystarczy komputer odtwarzający cyfrowe pliki dźwiękowe (np. w formacie MP3) lub pliki wideo w przypadku podkastu wideo oraz oprogramowanie pobierające i katalogujące transmisje na podstawie informacji zawartych w publikowanych razem z podkastami plikach RSS. Wiele podkastów nie wymaga nawet tego, publikując bezpośrednie linki do plików na stronach WWW.
Paint.NET
Paint.NET darmowy program do obróbki grafiki rastrowej, stworzony przez studentów Washington State University pod nadzorem Microsoftu, rozwijany obecnie przez Ricka Brewstera (jednego z członków pierwotnego zespołu). Został napisany w języku C# na platformę .NET.
Od wersji 3.0 program nie współpracuje z Windows 2000, ostatnia wersja programu dla tego systemu operacyjnego to 2.72.
Oprócz najbardziej typowych narzędzi dostępnych w prostych programach graficznych, zawiera takie funkcje jak: warstwy, zaznaczanie magiczną różdżką, półprzezroczystość, antyaliasing, tworzenie gradientów, a także wiele filtrów oraz efektów. Jego architektura umożliwia pisanie wtyczek i rozszerzeń przez niezależnych deweloperów. Liczba dostępnych rozszerzeń do tego programu sięga 400.
Obsługuje następujące formaty plików: BMP, JPG, GIF, PNG, TIFF, TGA, DDS, własny PDN (dla grafiki wielowarstwowej) oraz wiele innych za pomocą rozszerzeń. Paint.NET jest całkowicie darmowy dla dowolnych zastosowań, jednak (od grudnia 2008) jego kod źródłowy nie jest już dostępny. Powstał również nieoficjalny port dla systemów uniksowych oparty na wersji 3.0, który wykorzystuje platformę Mono.
Użycie Windows Communication Foundation
Przy użyciu WCF łatwiej jest zaimplementować rozwiązanie projektowe. WCF z łatwością komunikuje się z innymi usługami.
WCF jest w stanie współpracować z webserwisami, także z innymi platformami które obsługują SOAP, takich jak przodujące serwery aplikacji J2EE. Można tak skonfigurować WCF by komunikował się z webserwisami nie bazując na komunikatach SOAP, np. przy użyciu prostych formatów XML – RSS. Wydajność to priorytetowy aspekt biznesowy. WCF jest tworzony mając na pierwszym miejscu szybkość działania rozproszonych aplikacji. Dla porównania wydajności WCF i innych technologii Microsoftu sprawdź – porównanie. By zapewnić optymalną wydajność, kiedy obie części aplikacji działają w oparciu o WCF, użyta jest zoptymalizowana binarna wersja zestawu informacji XML-a. Komunikaty nadal pozostają struktury SOAP ale kodowanie używa binarnej prezentacji struktury danych, a nie standardowej nawiasowej notacji tekstowej XML 1.0. Wykorzystywanie tej możliwości ma sens w aplikacjach, gdzie klient często komunikuje się z serwerem centralnym, obie strony bazują na WCF.
Interoperacyjność Windows Communication Foundation
Przyszłość Internetu nie jest określona i technologie, których dziś używamy wyewoluują bądź zostaną zastąpione. Dziś popularny trend budowania aplikacji zorientowanych sieciowo (Web 2.0) jest modelem bazującym na komunikacji przy użyciu tylko prostego formatu XML i używającym HTTP do transportu i protokołu aplikacji. Przykładowo, architektura Representational State Transfer (REST) nie ma pojęcia zdefiniowanych przez użytkownika operacji obsługi danych. Odmiennie, stan aplikacji jest zespolony z URL-em HTTP i metodami HTTP (PUT, POST, DELETE, GET). To podejście kontrastuje z utworzeniem definiowalnych przez użytkownika procedur czy funkcji, które są tak dobrze znane dla większości programistów. Jakkolwiek, podejście REST jest wartościowe w tych obszarach, gdzie usługa musi funkcjonować na zapleczu aplikacji Web 2.0. REST to kolejny przykład ewoluowania technologii Web 2.0. W tym środowisku eksperymentalnych modeli programowania i ciągłej reinterpretacji standardów, elastyczność jest wskazana by sprostać nieprzewidywalnym zmianom. WCF jest elastyczne.
Użycie JSON-RPC
Kiedy używamy HTTP, to content-type może być definiowany jako application/json[2].
Wszystkie typy transferu są pojedynczymi obiektami, serializowane przy użyciu JSON[3]. Zapytanie jest wywołaniem określonej metody dostarczonej przez zdalny system. Musi zawierać trzy określone właściwości:
method – String z nazwą metody do wywołania.
params – Tablica obiektów, które będą przekazywane jako parametry do zdefiniowanej metody.
id – Wartość dowolnego typu, która jest używana do dopasowania reakcji do zapytania na które udzielana jest odpowiedź.
Odbiorca musi udzielić prawidłowej odpowiedzi na wszystkie otrzymane zapytania. Odpowiedź musi zawierać właściwości wymienione poniżej:
result – Dane zwrócone przez wywoływane metody. Jeśli wystąpił błąd podczas wywoływania metody, wartość ta musi wynosić null.
error – Określony kod błędu ( jeśli wystąpił błąd podczas wywoływania metody), w przeciwnym razie null.
id – Id zapytania, na które odpowiada.
Ponieważ istnieją sytuacje, w których odpowiedź nie jest potrzebna, a wręcz jest niepożądana, zostały wprowadzone zawiadomienia. Zawiadomienie jest podobne do zapytania. Różnica polega na braku id, które nie jest potrzebne, ponieważ nie oczekujemy odpowiedzi. W tym przypadku własności id powinny być pominięte (wersja 2.0) lub ustawione na null (wersja 1.0).
JSON-RPC
JSON-RPC jest to protokół zdalnego wywoływania procedur implementowany zazwyczaj ponad HTTP, który jako dane transportowe wykorzystuje obiekty JSON-a. Jest to bardzo prosty protokół ( bardzo podobny do XML-RPC), definujący tylko najbardziej użyteczne typy danych i komendy. JSON-RPC pozwala na powiadomienia (informacje przesyłane do serwera, który nie wymaga odpowiedzi) oraz wielu wywołań możliwość wysyłania do serwera, który możne odpowiadać bez zachowania kolejności.
JSON-RPC działa wysyłając żądanie do serwera implementując niniejszy protokół. Klient w takim przypadku jest typowo oprogramowaniem, które chce wywołać pojedynczą metodę zdalnego systemu. Wiele parametrów wejściowych może być przekazanych do zdalnej metody w postaci tablicy lub obiektu, natomiast sama metoda może również. zwracać wiele danych wyjściowych (To zależy od realizowanych wersji). Zdalna metoda jest wywoływana przez wysłanie zapytania do zdalnej usługi za pomocą HTTP.
Cechy języka YAML
Poszczególne elementy struktury danych są oddzielane znakami nowej linii, a ich hierarchia ustalana jest na podstawie wcięcia linii. Język wprowadza trzy podstawowe struktury danych, które mogą być wkomponowane w dokument: listy, słowniki i skalary. Obsługuje również referencje, które eliminują konieczność redundancji danych.
Wszystkie te cechy sprawiają, że dokumenty napisane w YAML-u są bardzo zwięzłe, czytelne dla człowieka, dają się też łatwo przetwarzać prostym narzędziom, takim jak grep, awk czy sed oraz przy pomocy języków skryptowych.
Cele stawiane przed językiem przez jego twórców są następujące: YAML ma być czytelny dla człowieka, ma realizować struktury danych wbudowane w języki programowania, dokumenty YAML mają być przenośne pomiędzy językami programowania, YAML ma być przyjazny dla typowych narzędzi do przetwarzania tekstu, dokument YAML ma być przetwarzany przez narzędzia w pojedynczym przejściu, YAML ma mieć dużą siłę wyrazu i być łatwo rozszerzalny, YAML ma być prosty w użyciu.
Common Intermediate Language
Common Intermediate Language z ang. Wspólny Język Pośredni, w skrócie CIL, lub IL to język najniższego poziomu dla platformy Microsoft .NET odczytywalny przez człowieka. Jest to odpowiednik asemblera jako języka pośredniego dla typowych języków wysokiego poziomu (tu: Common Language Infrastructure (CLI) wyrażający kod w C#, Visual Basic .NET, Managed C++ lub dowolnym języku z wielu (40+) języków kompilowanych do CIL). CIL jest tłumaczony bezpośrednio na kod bajtowy.
CIL przypomina obiektowy asembler w całości oparty na stosie. Jego wykonanie następuje za pomocą maszyny wirtualnej.
Początkowo CIL nosił nazwę Microsoft Intermediate Language (MSIL), ale uległa ona zmianie wskutek standaryzacji C# i CLI. Czasem jednak można jeszcze spotkać zastosowanie poprzedniej nazwy, szczególnie wśród starszych użytkowników .NET. ilasm.exe – Kompilator języka CIL, dołączony do .NET Framework SDK. *.il – Umowne (wynik przyjętej konwencji) rozszerzenie plików zawierających kod CIL.
YAML
YAML to uniwersalny język formalny przeznaczony do reprezentowania różnych danych w ustrukturalizowany sposób. YAML jest akronimem rekursywnym od słów YAML Ain’t Markup Language. Na początku, skrót YAML miał oznaczać Yet Another Markup Language, jednak zmieniono tę koncepcję, aby położyć nacisk na cel, któremu język miał służyć, czyli opisowi zbioru danych. Jego pierwszą wersję zaproponował w 2001 roku Clark Evans we współpracy z Ingy döt Net oraz Oren Ben-Kiki.
XML jest najpopularniejszym obecnie uniwersalnym językiem przeznaczonym do reprezentowania danych. Składnia YAML-a jest bardziej przejrzysta dla człowieka, ponieważ struktura dokumentu określona jest znakami nowej linii i wcięciami, a nie znacznikami otwierającymi i zamykającymi. YAML, podobnie jak XML, ma strukturę drzewa uporządkowanego, ale ponadto obsługuje kolekcje już na poziomie języka. Żaden z tych formatów nie udostępnia bogatego mechanizmu reprezentacji dużych ilości danych w postaci binarnej.