<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>koras.pl - Orest Hrycyna portfolio &#38; blog &#187; studia</title>
	<atom:link href="http://koras.pl/category/studia/feed/" rel="self" type="application/rss+xml" />
	<link>http://koras.pl</link>
	<description></description>
	<lastBuildDate>Sat, 18 Feb 2012 22:17:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Nie chcę być inżynierem!</title>
		<link>http://koras.pl/2011/02/03/nie-chce-byc-inzynierem/</link>
		<comments>http://koras.pl/2011/02/03/nie-chce-byc-inzynierem/#comments</comments>
		<pubDate>Thu, 03 Feb 2011 20:02:16 +0000</pubDate>
		<dc:creator>Orest Hrycyna</dc:creator>
				<category><![CDATA[obserwacje]]></category>
		<category><![CDATA[studia]]></category>
		<category><![CDATA[codzienność]]></category>
		<category><![CDATA[ETI]]></category>
		<category><![CDATA[inżynier]]></category>

		<guid isPermaLink="false">http://koras.pl/?p=515</guid>
		<description><![CDATA[

foto: Seattle Municipal Archives

Miało być o czymś zupełnie innym i już jakiś czas temu, ale obrazek, który znalazłem przypadkowo, przeglądając flickr.com wbił mnie w podłogę i nie pozwala wstać. Idąc na studia techniczne nigdy nie zastanawiałem się nad tym co muszę robić czy jaki muszę być aby być prawdziwym inżynierem. Do tego dochodzi fakt, że [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://koras.pl/blog/go.php?http://koras.pl/2011/02/02/nie-chce-byc-inzynierem/" title="(125 hits)"><img src="http://koras.pl/blog/wp-content/uploads/2011/02/inzynier_4818952324.jpg" alt="foto: Seattle Municipal Archives" title="Nie chcę być inżynierem!" width="619" height="316" class="size-full wp-image-518" /></a></p>
<div class="wp-caption">
<p class="wp-caption-text"><a href="http://koras.pl/blog/go.php?http://www.flickr.com/photos/seattlemunicipalarchives/4818952324/" target="_blank" title="(131 hits)">foto: Seattle Municipal Archives</a></p>
</div>
<p>Miało być o czymś zupełnie innym i już jakiś czas temu, ale obrazek, który znalazłem przypadkowo, przeglądając <a href="flickr.com" target="_blank">flickr.com</a> wbił mnie w podłogę i nie pozwala wstać. Idąc na studia techniczne nigdy nie zastanawiałem się nad tym co muszę robić czy jaki muszę być aby być prawdziwym inżynierem. Do tego dochodzi fakt, że dzisiaj nikt już nie patrzy na osobę z tytułem inżyniera tak jak kiedyś, kiedy był to naprawdę wykwalifikowany fachowiec w swojej branży. Kiedy dzisiaj ktoś mówi, że jest inżynierem to od razu nasuwa się pytanie &#8211; ok, a gdzie magister? Trzy literki więcej do nazwiska, ale czy też większy prestiż z posiadania dłuższego nazwiska niż koleżanka po filologii?</p>
<p><span id="more-515"></span></p>
<p>Na pytanie czy wystarczy mi sam tytuł magistra, inżyniera lub licencjata każdy powinien odpowiedzieć sobie sam. Ocenić szanse, ryzyko itp. Wróćmy jednak do sedna tego wpisu, a mianowicie znaleziska. Oto i ono:</p>
<p><img src="http://koras.pl/blog/wp-content/uploads/2011/02/inzynier2_3716798326.jpg" alt="foto: Stylianos Mystakidis" title="Inżynier 2.0" width="619" height="615" class="size-full wp-image-521" /></p>
<div class="wp-caption">
<p class="wp-caption-text"><a href="http://koras.pl/blog/go.php?http://www.flickr.com/photos/stylianosm/3716798326/" target="_blank" title="(55 hits)">foto: Stylianos Mystakidis</a></p>
</div>
<p>Do każdego z punktów wymienionych na tym diagramie można by napisać osobny artykuł. Nie o to jednak chodzi, lecz o całokształt. Jeżeli chcę być inżynierem, dobrym inżynierem, we współczesnym świecie to powinienem cały czas poświęcać swojej pracy, współtworzeniu kilku projektów, pisaniu o postępach prac i publikowaniu nowych rozwiązań i to w kilku miejscach jednocześnie z uwzględnieniem przesłania i możliwości danego medium (blog, artykuł, wiki). Co to w ogóle znaczy pojęcie <em>Engineer 2.0</em> czy 1.0 był zły? Umiał mniej? Gorzej wykonywał swoją pracę? Co zrobić teraz z tymi wszystkimi studentami, którzy pokończyli swoje wymarzone studia i pracują jako inżynierowie w wielkich firmach z laptopem w jednej ręce i lutownicą w drugiej, biegając po hali pełnej kosmicznej elektroniki i sprawdzając czy kolejny produkt firmy XXX podbije rynki światowe?</p>
<p>Na szczęście twórcy diagramy nie zapomnieli też o sferze prywatnej nowoczesnego inżyniera. Pośród tych czternastu warunków jest znalazło się też miejsce na rodzinę i lokalne społeczeństwo (lub jak kto woli znajomych &#8211; tłumaczenie dowolne). Ale kiedy znaleźć na to czas? Czy może jednak rodzinny obiad, podczas którego korzystam ze swojego smartfona, na którym piszę na mikrobloga i obserwuję sieci społecznościowe, jest tym czego ode mnie wymagają?</p>
<p>Nie zaprzeczę, że część z wymienionych na diagramie rzeczy robię, ale czy to sprawia, że jestem lepszym inżynierem i specjalistą w mojej dziedzinie? Wątpię. </p>
<p>Dużo tu pytań i znaków zapytania. Tak naprawdę każdy sam powinien sobie na nie odpowiedzieć i stwierdzić czy ten diagram ma dla niego sens. Dla mnie nie ma. Znam osoby biegłe w swojej dziedzinie i rozwijające się każdego dnia, które nie posługują się choćby połową tych cudownych wynalazków ludzkości, a i dla mnie są one raczej zabawą niż ciężką pracą. I kończąc ten nudnawy tekst poirytowanego programisty przytoczę jeszcze cytat jednego z głównych bohaterów serialu <em>&#8220;Rodzina zastepcza&#8221;</em></p>
<blockquote><p><strong>Pierwsza zasada dobrego inżyniera – nie spieszyć się z robotą.</strong> <em>Jacek Kwiatkowski (Piotr Fronczewski)</em></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://koras.pl/2011/02/03/nie-chce-byc-inzynierem/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Format Mp3 Surround</title>
		<link>http://koras.pl/2010/03/07/format-mp3-surround-2/</link>
		<comments>http://koras.pl/2010/03/07/format-mp3-surround-2/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 21:17:41 +0000</pubDate>
		<dc:creator>Orest Hrycyna</dc:creator>
				<category><![CDATA[muzyka]]></category>
		<category><![CDATA[studia]]></category>
		<category><![CDATA[websearch]]></category>
		<category><![CDATA[ETI]]></category>
		<category><![CDATA[kodek]]></category>
		<category><![CDATA[mp3 surround]]></category>
		<category><![CDATA[prezentacja]]></category>

		<guid isPermaLink="false">http://koras.pl/?p=316</guid>
		<description><![CDATA[W ostatnich latach widać bardzo duży wzrost użytkowników kin domowych, którzy chcą mieć dźwięk przestrzenny, skoro mają już odpowiedni do tego sprzęt. Chodzi
tutaj nie tylko o filmy, ale także o samą muzykę, której można by posłuchać wielokanałowo. Format MP3 to format stratnej kompresji dźwięku opierający się na zmodyfikowanej dyskretnej transformacie cosinusowej i używający modelu psychoakustycznego. [...]]]></description>
			<content:encoded><![CDATA[<p>W ostatnich latach widać bardzo duży wzrost użytkowników kin domowych, którzy chcą mieć dźwięk przestrzenny, skoro mają już odpowiedni do tego sprzęt. Chodzi<br />
tutaj nie tylko o filmy, ale także o samą muzykę, której można by posłuchać wielokanałowo. Format MP3 to format stratnej kompresji dźwięku opierający się na zmodyfikowanej dyskretnej transformacie cosinusowej i używający modelu psychoakustycznego. MP3 przez ponad 10 lat MP3 było niemalże synonimem dźwięku stereo (nie-wielokanałowego).<br />
<span id="more-316"></span><br />
Na przeciw tym wymaganiom wychodzi format MP3 Sorround. Jest to rozszerzony format MP3 stworzony przez twórców tego formatu pozwalający na zapis formatu 5.1,  a także w przyszłości 7.1, 10.2 itd.. Zapisywane są dwa kanały tak jak w zwykłym formacie mp3, a informacja potrzebna do wygenerowania dodatkowych kanałów jest zapisana w tagach mp3. Dzięki temu rozwiązaniu mp3 można odtwarzać jako zwykłe stereo na odtwarzaczach sprzętowych. Zapisanie dodatkowych kanałów zajmuje mało miejsca (ponieważ zapisywana jest informacja jak z dwóch kanałów wygenerować inne). Podstawą działania formatu MP3 Sorround jest kodowanie BCC. Jest to ogólna koncepcja opisu parametrycznego dźwięku przestrzennego.  Kodowanie pozwala na przesłanie pojedynczego kanału mono i za pomocą dodatkowych informacji rozszerzenie go na dźwięk przestrzenny.</p>
<p><center><br />
<object width="525" height="430"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=formatmp3surroundbeznotek-100307134827-phpapp02"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=formatmp3surroundbeznotek-100307134827-phpapp02"  type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="525" height="430"></embed></object><!-- ysttest:Array
(
    [id] => 3359056&#038;doc=formatmp3surroundbeznotek-100307134827-phpapp02
)
--><br />
</center></p>
<p><!--more--></p>
<p>Wejściowych kanały audio są sumowane do pojedynczego kanału wyjściowego – downmix. W równoległym procesie informacje opisujące przestrzenność wielu kanałów są zapisywane jako informacja poboczna BCC. Obydwie informacje są następnie przesyłane do odbiornika. Po stronie odbiornika dekoder BCC generuje wielokanałowy sygnał wyjściowy z sumy sygnału oraz informacji o podziale kanałów. BCC oferuje kodowanie wielu kanałów do jednego – monofonicznego. W przypadku odsłuchu danego pliku/strumienia zakodowanego w BCC na sprzęcie nie obsługującym dekodowania BCC dostajemy zwykły dźwięk mono. Wiadomo, że w dzisiejszym świecie najpopularniejszym jest format stereo. Kodowanie BCC oraz chęć utrzymania stereo jako podstawy przysporzyły się do powstania MP3 Surround. Algorytm podobny do BCC tworzy dźwięk wielokanałowy w odbiorniku, korzystając z informacji otrzymanej z pliku stereo (oczywiście z odpowiednimi informacjami o przestrzenności). Algorytm ten zwiększa funkcjonalność BCC, aby móc przesyłać więcej niż jeden kanał audio.</p>
<p>Schemat na slajdzie 7. przedstawia ogólny zarys działania kodera MP3 Surround w przypadku kodowania sygnału wielokanałowego 3/2. W pierwszym kroku dwukanałowy mix stereo (Lc, Rc)  jest tworzony z nagrania wielokanałowego poprzez procesor do downmixingu lub przez podobny sposób. W rezultacie otrzymujemy zgodny mix ze zwykłym MP3. W tym samym czasie zbiór parametrów przestrzennych (ICLD, ICTD, ICC) jest pobierana z sygnału wielokanałowego. Parametry te są kodowane jako dodatkowe dane dodawane do strumienia bitowego MP3. Kolejny schemat ilustruje dekoder używany w formacie MP3 Surround. Strumień bitowy MP3 Surround jest dekodowany do kompatybilnego mixu stereo, który w tym momencie jest już gotowy do prezentacji dwukanałowej (słuchawki, głośniki). Ten proces jest oparty o MPEG-1, dlatego też każdy istniejący odtwarzacz mp3 może to zrobić i odtworzyć zwykły format mp3 stereo. Dekoder MP3 Surround wykrywa obecność zakodowanej informacji o dźwięku przestrzennym i jeżeli jest to możliwe rozszerza odkodowany już dźwięk stereo do wielokanałowej formy dzięki dekoderowi typu BCC.</p>
<p>Problemem jest zmixowanie wielu kanałów do dźwięku stereo tak, aby oddawał on w pełni to co zostało nagrane. Częstą praktyką jest odgrywanie dźwięku z tylnych głośników w przednich razem z przednim mixem. Niestety przez to, że tylni miks jest często inaczej nagrywany odsłuch takiego sygnału sprawia, że pogarsza się możliwość lokalizacji instrumentów w nagraniu. Istnieją różne sposoby na rozwiązanie tego problemu – miksowanie ręczne, zaawansowane miksy automatyczne. Innym sposobem jest wykorzystanie kodera MP3 Surround w sposób przedstawiony na schemacie. Czyli zakodowanie miksu z dwóch różnych ścieżek wejściowych – stereo oraz wielokanałowej. Niestety nie wszystkie sygnały zostaną później odpowiednio zdekodowany np. nagranie pojedynczego instrumentu. Ciągle trwają badania nad tym jak jednocześnie zmiksować dźwięk przestrzenny oraz stereo, aby każdy z nich brzmiał dobrze.</p>
<p>MP3 Surround daje spore możliwości wykorzystania, dzięki zapewnieniu kompatybilności wstecznej z oryginalnym formatem MP3 – dzięki temu możemy słuchać tych samych utworów na odtwarzaczach stereo oraz obsługujących dźwięk przestrzenny. Dzięki dobrej jakości przy małej rozdzielczości można wykorzystywać go w radiach internetowych i serwisach muzycznych. </p>
<p>&#8211;<br />
Dla czytelników mojego kanału RSS &#8211; z powodu problemów z zawieszaniem przez prezentację przeglądarki poprzedni wpis został wycofany i opublikowany na nowo.</p>
]]></content:encoded>
			<wfw:commentRss>http://koras.pl/2010/03/07/format-mp3-surround-2/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Odsyłacze do obiektów dynamicznych</title>
		<link>http://koras.pl/2010/01/24/odsylacze-do-obiektow-dynamicznych/</link>
		<comments>http://koras.pl/2010/01/24/odsylacze-do-obiektow-dynamicznych/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 03:59:36 +0000</pubDate>
		<dc:creator>Orest Hrycyna</dc:creator>
				<category><![CDATA[prezentacje]]></category>
		<category><![CDATA[studia]]></category>
		<category><![CDATA[ETI]]></category>
		<category><![CDATA[obiekty dynamiczne]]></category>
		<category><![CDATA[prezentacja]]></category>

		<guid isPermaLink="false">http://koras.pl/blog/?p=275</guid>
		<description><![CDATA[Prezentacja na temat identyfikacji obiektów dynamicznych w internecie. Ogólna zasada działania takiej identyfikacji opiera się na założeniu, że plik może obiekt (dokument) cyfrowy może się przemieszczać w sieci &#8211; zmieniać serwer na którym jest dostępny &#8211; ale pozostawać w cały czas pod tym samym adresem. Dodatkowo niektóre z technologii przedstawionych w prezentacji dają możliwość przekazywania [...]]]></description>
			<content:encoded><![CDATA[<p>Prezentacja na temat identyfikacji obiektów dynamicznych w internecie. Ogólna zasada działania takiej identyfikacji opiera się na założeniu, że plik może obiekt (dokument) cyfrowy może się przemieszczać w sieci &#8211; zmieniać serwer na którym jest dostępny &#8211; ale pozostawać w cały czas pod tym samym adresem. Dodatkowo niektóre z technologii przedstawionych w prezentacji dają możliwość przekazywania dodatkowych parametrów identyfikacyjnych umożliwiających łatwiejsze poszukiwanie dokumentu.<br />
<center><br />
<object width="525" height="430"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=odsyaczedoobiektowdynamicznych-100123091250-phpapp02"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=odsyaczedoobiektowdynamicznych-100123091250-phpapp02"  type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="525" height="430"></embed></object><!-- ysttest:Array
(
    [id] => 2977454&#038;doc=odsyaczedoobiektowdynamicznych-100123091250-phpapp02
)
--><br />
</center><br />
Jedno z najczęstszych zastosowań to adresowanie obiektów w bibliotekach cyfrowych oraz w serwisach udostępniających duża ilość dokumentów. System PURL można samemu szybko i łatwo przetestować.</p>
]]></content:encoded>
			<wfw:commentRss>http://koras.pl/2010/01/24/odsylacze-do-obiektow-dynamicznych/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Złodzieje! Ratunku!</title>
		<link>http://koras.pl/2010/01/20/zlodzieje-ratunku/</link>
		<comments>http://koras.pl/2010/01/20/zlodzieje-ratunku/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 20:34:53 +0000</pubDate>
		<dc:creator>Orest Hrycyna</dc:creator>
				<category><![CDATA[private]]></category>
		<category><![CDATA[studia]]></category>
		<category><![CDATA[websearch]]></category>
		<category><![CDATA[blip]]></category>
		<category><![CDATA[digsby]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[sesja]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://koras.pl/blog/?p=254</guid>
		<description><![CDATA[Dzień w pracy minął, pseudo obiad zjedzony, poobiednia drzemka zaliczona. Siadam więc z zamiarem wykonania kilku sprawozdań, projektów itp. I co?
Blog kusi: Napisz coś, tak dawno teog nie robiłeś&#8230;
Blip krzyczy: Masz nowiutkie konto &#8211; korzystaj!
Na co Blog: Masz Blip&#8217;a? Dawaj widgety, podepnijmy się.
Facebook się przepycha: Przepraszam, byłem pierwszy. W kolejkę barany! Aplikacja dla mnie jest [...]]]></description>
			<content:encoded><![CDATA[<p>Dzień w pracy minął, pseudo obiad zjedzony, poobiednia drzemka zaliczona. Siadam więc z zamiarem wykonania kilku sprawozdań, projektów itp. I co?</p>
<p><strong><a href="http://koras.pl/blog/go.php?http://koras.pl" title="(195 hits)">Blog</a> kusi: </strong>Napisz coś, tak dawno teog nie robiłeś&#8230;<br />
<strong><a href="http://koras.pl/blog/go.php?http://blip.pl" title="(244 hits)">Blip</a> krzyczy: </strong>Masz nowiutkie konto &#8211; korzystaj!<br />
<strong>Na co Blog: </strong>Masz Blip&#8217;a? Dawaj widgety, podepnijmy się.<br />
<strong><a href="http://koras.pl/blog/go.php?http://facebook.com" title="(162 hits)">Facebook</a> się przepycha: </strong>Przepraszam, byłem pierwszy. W kolejkę barany! Aplikacja dla mnie jest najważniejsza.<br />
<strong><a href="http://koras.pl/blog/go.php?http://www.digsby.com/" title="(159 hits)">Digsby</a> nieśmiało: </strong>You have a message.<br />
<strong>Blip z Blogiem: </strong>A ten tu skąd?<br />
<strong>Facebook: </strong>Wczoraj przylazł, ale bardzo ładnie się sprawdza i pomaga mi pokazywać co u innych słuchać, którzy zamiast się uczyć siedzą u mnie i marnują czas. Se se se >:><br />
<strong>Blip ukradkiem:</strong> Patrz, patrz co tu mam ;)</p>
<p><strong>KorKi:</strong> Pomocy! Złodzieje czasu atakują! Sesja się zbliża :></p>
<p>Nie ma nic gorszego niż dać się porwać przed sesją, kiedy jest najwięcej do roboty. Z trudem wracam do walki z wiatrakami i pozdrawiam wszystkich marnujących czas! :)</p>
]]></content:encoded>
			<wfw:commentRss>http://koras.pl/2010/01/20/zlodzieje-ratunku/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Mortal Kombat &#8211; retardy atakują</title>
		<link>http://koras.pl/2010/01/13/mortal-kombat-retardy-atakuja/</link>
		<comments>http://koras.pl/2010/01/13/mortal-kombat-retardy-atakuja/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 19:07:38 +0000</pubDate>
		<dc:creator>Orest Hrycyna</dc:creator>
				<category><![CDATA[film]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[studia]]></category>
		<category><![CDATA[ETI]]></category>

		<guid isPermaLink="false">http://koras.pl/blog/?p=252</guid>
		<description><![CDATA[Co tu dużo mówić, zobaczcie sami.



Film zrealizowany w ramach laboratorium Technologi Nagrań II na PG WETI EiT IDIO 2010.  
]]></description>
			<content:encoded><![CDATA[<p>Co tu dużo mówić, zobaczcie sami.<br />
<center><br />
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/gePn4JaOWp8&#038;hl=pl_PL&#038;fs=1&#038;color1=0x3a3a3a&#038;color2=0x999999"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/gePn4JaOWp8&#038;hl=pl_PL&#038;fs=1&#038;color1=0x3a3a3a&#038;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br />
</center></p>
<p>Film zrealizowany w ramach laboratorium Technologi Nagrań II na PG WETI EiT IDIO 2010.  </p>
]]></content:encoded>
			<wfw:commentRss>http://koras.pl/2010/01/13/mortal-kombat-retardy-atakuja/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Obsługa czytnika kart w C#</title>
		<link>http://koras.pl/2010/01/07/obsluga-czytnika-kart-w-c/</link>
		<comments>http://koras.pl/2010/01/07/obsluga-czytnika-kart-w-c/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 00:56:47 +0000</pubDate>
		<dc:creator>Orest Hrycyna</dc:creator>
				<category><![CDATA[c#]]></category>
		<category><![CDATA[projekty]]></category>
		<category><![CDATA[studia]]></category>
		<category><![CDATA[smartcard]]></category>

		<guid isPermaLink="false">http://koras.pl/blog/?p=228</guid>
		<description><![CDATA[Poszukiwałem odpowiedniego rozwiązania problemu obsługi czytnika kart w C#, w przeciwieństwie niestety do Javy nie mamy do dyspozycji wbudowanej implementacji tego problemu. Na wielu angielskich stronach i blogach znalazłem jakieś kawałki kodu, nawet jakiś framework, ale niestety nic tak do końca nie chciało działać. W końcu z tego wszystkiego udało mi się uzyskać kawałek kodu, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://koras.pl/blog/go.php?http://koras.pl/blog/2010/01/07/obsluga-czytnika-kart-w-c/" title="(147 hits)"><img src="http://koras.pl/blog/wp-content/uploads/2010/01/smartcard.gif" alt="Obsługa czytnika kart w C#" title="Obsługa czytnika kart w C#" width="240" height="124" class="alignleft size-full wp-image-229" align="left" /></a>Poszukiwałem odpowiedniego rozwiązania problemu obsługi czytnika kart w C#, w przeciwieństwie niestety do Javy nie mamy do dyspozycji wbudowanej implementacji tego problemu. Na wielu angielskich stronach i blogach znalazłem jakieś kawałki kodu, nawet jakiś framework, ale niestety nic tak do końca nie chciało działać. W końcu z tego wszystkiego udało mi się uzyskać kawałek kodu, który zadziałał i może się komuś przyda. Zasada odczytu danych z karty jest dosyć prosta. Jedyne czego potrzebujemy to czytnik kart (oczywiście pod USB), kartę zbliżeniową bądź kontaktową oraz najważniejsze &#8211; specyfikację techniczną karty dzięki której poznamy komendy bitowe pozwalające na operacje na karcie. </p>
<p><span id="more-228"></span><br />
Pierwszym krokiem jest dodanie do projektu biblioteki GemCard: klikamy prawym przyciskiem na projekcie, <em>Add Reference&#8230;</em>, wybieramy plik dll z dysku.<br />
Następnie w klasie gdzie chcemy implementować bibliotekę dodajemy:</p>
<pre class="prettyprint lang-cs">
<span class="nocode">1:</span>        using GemCard;
</pre>
<p>Tworzymy obiekty potrzebne do obsługi czytnika i wydawania komend, dodajemy jeszcze stałe oznaczające odpowiedź zapytania. W naszym wypadku będą to stany prawidłowej odpowiedzi oraz &#8220;w trakcie&#8221;.</p>
<pre class="prettyprint lang-cs">
<span class="nocode">1:</span>        static APDUCommand apduSelectFileMF = new APDUCommand(0x00, 0xA4, 0x00, 0x0C, null, 0x02);
<span class="nocode">2:</span>        static APDUCommand apduReadRecord = new APDUCommand(0x00, 0xB0, 0xFF, 0xFF, null, 0xFF);
<span class="nocode">3:</span>        CardNative iCard = new CardNative();
<span class="nocode">4:</span>        APDUParam apduParam = new APDUParam();
<span class="nocode">5:</span>        APDUResponse apduResp;
<span class="nocode">6:</span>        const ushort SC_OK = 0x9000;
<span class="nocode">7:</span>        const byte SC_PENDING = 0x9F;
</pre>
<p>Kolejnym krokiem będzie napisanie kilku prostych metod:</p>
<pre class="prettyprint lang-cs">
<span class="nocode">1:</span>        /// <summary>
<span class="nocode">2:</span>        /// Pobiera liste podlaczonych czytnikow oraz laczy sie z pierwszym na listy
<span class="nocode">3:</span>        /// </summary>
<span class="nocode">4:</span>        public void initReader()
<span class="nocode">5:</span>        {
<span class="nocode">6:</span>            string[] readers = iCard.ListReaders();
<span class="nocode">7:</span>            iCard.Connect(readers[0], SHARE.Shared, PROTOCOL.T0orT1);
<span class="nocode">8:</span>        }
<span class="nocode">9:</span>
<span class="nocode">10:</span>        /// <summary>
<span class="nocode">11:</span>        /// Rozlacza czytnik kart
<span class="nocode">12:</span>        /// </summary>
<span class="nocode">13:</span>        public void disconnect()
<span class="nocode">14:</span>        {
<span class="nocode">15:</span>             iCard.Disconnect(DISCONNECT.Unpower);
<span class="nocode">16:</span>             iCard.StopCardEvents();
<span class="nocode">17:</span>        }
</pre>
<p>Pozostaje już tylko napisanie odpowiednich metod wykonujących np. operację wyboru pliku lub odpytujących kartę o dane:</p>
<pre class="prettyprint lang-cs">
<span class="nocode">1:</span>        public void selectFile()
<span class="nocode">2:</span>        {
<span class="nocode">3:</span>            apduParam.Data = new byte[] { 0x3F, 0x00 };
<span class="nocode">4:</span>            apduSelectFileMF.Update(apduParam);
<span class="nocode">5:</span>            apduResp = iCard.Transmit(apduSelectFileMF);
<span class="nocode">6:</span>            if (apduResp.Status != SC_OK &#038;&#038; apduResp.SW1 != SC_PENDING)
<span class="nocode">7:</span>                throw new Exception(apduResp.ToString());
<span class="nocode">8:</span>        }
<span class="nocode">9:</span>
<span class="nocode">10:</span>        public byte[] readRecord()
<span class="nocode">11:</span>        {
<span class="nocode">12:</span>            apduParam.Reset();
<span class="nocode">13:</span>            apduReadRecord.Update(apduParam);
<span class="nocode">14:</span>            apduResp = iCard.Transmit(apduReadRecord);
<span class="nocode">15:</span>            if (apduResp.Status != SC_OK)
<span class="nocode">16:</span>                throw new Exception(apduResp.ToString());
<span class="nocode">17:</span>
<span class="nocode">18:</span>            return apduResp.Data;
<span class="nocode">19:</span>        }
</pre>
<p>Gotowe! Wystarczy teraz tylko zabrać się za pisanie programów dających dostęp do komputera, systemów a może nawet pomieszczeń? Powodzenia.</p>
<p><a ><img src="http://koras.pl/blog/wp-content/uploads/2009/12/Save.png" alt="Zapisz plik" title="Zapisz plik" width="24" height="24" class="alignnone size-full wp-image-265" /> GemCard.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://koras.pl/2010/01/07/obsluga-czytnika-kart-w-c/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tworzenie kanałów RSS ze statycznych stron HTML</title>
		<link>http://koras.pl/2009/07/11/tworzenie-kanalow-rss-ze-statycznych-stron-html-2/</link>
		<comments>http://koras.pl/2009/07/11/tworzenie-kanalow-rss-ze-statycznych-stron-html-2/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 20:52:21 +0000</pubDate>
		<dc:creator>Orest Hrycyna</dc:creator>
				<category><![CDATA[studia]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[idio]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false">http://koras.pl/blog/?p=104</guid>
		<description><![CDATA[Jakiś czas temu po stwierdzeniu, że na stronie mojej katedry, dokładniej w ogłoszeniach dla studentów, przydałby się kanał RSS aby nie odwiedzać co chwilę strony. Wiele komunikatów pokazywało się podwójnie &#8211; na stronie oraz na forum, dodatkowo niektóre były niezauważane przez niektórych. Więc po napisaniu maila do administratora strony, otrzymałem odpowiedź iż mogę cos takiego [...]]]></description>
			<content:encoded><![CDATA[<p>Jakiś czas temu po stwierdzeniu, że na <a href="http://koras.pl/blog/go.php?http://multimed.org" title="(146 hits)">stronie mojej katedry</a>, dokładniej w <a href="http://koras.pl/blog/go.php?http://sound.eti.pg.gda.pl/student/info.html" title="(229 hits)">ogłoszeniach dla studentów</a>, przydałby się kanał RSS aby nie odwiedzać co chwilę strony. Wiele komunikatów pokazywało się podwójnie &#8211; na stronie oraz na forum, dodatkowo niektóre były niezauważane przez niektórych. Więc po napisaniu maila do administratora strony, otrzymałem odpowiedź iż mogę cos takiego zrobić&#8230; Co począć &#8211; zakasałem rękawy i do roboty! I od razu stop. Strona jest napisana tylko przy użyciu HTML&#8217;a! Brak np. najprostszego skryptu do dodawania aktualności, czy innych udogodnień XXI w.</p>
<p>Po krótkim rekonesansie, stwierdziłem, że nie warto pisać parsera i tworzyć coś co inni już stworzyli i to w dodatku na zasadzie &#8220;kliknij i masz&#8221;. Wynalazłem stronę <a href="http://koras.pl/blog/go.php?http://www.feed43.com/" title="(158 hits)">feed43.com</a>. W 4 prostych krokach otrzymujemy ładnie sformatowany kanał RSS. Opiszę po krótce wszystkie kroki:</p>
<p><em>Krok 1. Podaj adres strony</em></p>
<p style="padding-left: 30px;">Nic prostszego podajemy adres strony oraz kodowanie, której kod źródłowy zostaje następnie pobrany i możemy podejrzeć, które informacje chcemy uzyskać.</p>
<p><em>Krok 2. Zdefiniuj reguły odczytywania</em></p>
<p style="padding-left: 30px;">Definiujemy reguły elementów powtarzalnych na stronie, czyli kolejnych wiadomości, które mają być odczytywane. Przy pomocy specjalnych znaczników {%} oznaczamy fragmenty z których chcemy korzystać.</p>
<p><em>Krok 3. Sformatuj wyjście</em></p>
<p style="padding-left: 30px;">Przy pomocy elementów uzyskanych w poprzednim kroku ustawiamy wartości w szablonie kanału oraz podstawowe informacje, takie jak tytuł kanału, jego opis czy też link zwrotny.</p>
<p><em>Krok 4. Korzystaj ze swojego kanału</em></p>
<p style="padding-left: 30px;">To wszystko! Dostajemy link do kanału, możliwość edycji, nawet bez rejestracji w serwisie.</p>
<p>Jak widać stworzenie kanału RSS, nawet ze statycznej strony HTML, nie jest wcale takie trudne. Dodatkowo można skorzystać z narzędzia <a href="http://koras.pl/blog/go.php?http://feedburner.google.com/" title="(150 hits)">Google FeedBurner</a>. Pozwala ono monitorować ruch w naszym kanale, ilość subskrybentów itp. Daje nam też możliwość optymalizacji wiadomości w kanale lub publikacji naszego kanału np. za pomocą animowanego rotatora nagłówków.</p>
]]></content:encoded>
			<wfw:commentRss>http://koras.pl/2009/07/11/tworzenie-kanalow-rss-ze-statycznych-stron-html-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jak PHP pomaga na studiach&#8230;</title>
		<link>http://koras.pl/2008/02/09/jak-php-pomaga-na-studiach/</link>
		<comments>http://koras.pl/2008/02/09/jak-php-pomaga-na-studiach/#comments</comments>
		<pubDate>Sat, 09 Feb 2008 14:19:37 +0000</pubDate>
		<dc:creator>Orest Hrycyna</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[private]]></category>
		<category><![CDATA[studia]]></category>

		<guid isPermaLink="false">http://koras.pl/blog/2008/02/09/jak-php-pomaga-na-studiach/</guid>
		<description><![CDATA[Nigdy nie przypuszczałem, że znajomośc PHP aż tak może pomóc na studiach. W sumie to ani kierunek studiów, ani nawet przedmiot nie jest nijak związany z programowaniem, a już na pewno nie z PHP. Przechodząc do sedna sprawy.
Miałem dzisiaj obronę projektu z jakże wdzięcznego przedmiotu Podstawy Inżynierii Ruchu Telekomunikacyjnego. Pan doktor po usadzeniu nas naprzeciw [...]]]></description>
			<content:encoded><![CDATA[<p>Nigdy nie przypuszczałem, że znajomośc PHP aż tak może pomóc na studiach. W sumie to ani kierunek studiów, ani nawet przedmiot nie jest nijak związany z programowaniem, a już na pewno nie z PHP. Przechodząc do sedna sprawy.<br />
Miałem dzisiaj obronę projektu z jakże wdzięcznego przedmiotu <em>Podstawy Inżynierii Ruchu Telekomunikacyjnego</em>. Pan doktor po usadzeniu nas naprzeciw siebie zaczął kartkowa nasz projekt i czytając swoje notatki wytknął kilka błędów.<br />
Po dotarciu do punktu, w którym liczyliśmy liczbę łączy pomiędzy węzłami z funkcji Erlanga zapytał który z nas dwóch programuje w PHP. No i się zaczęło :P Cała obrona projektu trwała może z 10 minut z czego połowę czasu rozmawialiśmy o PHP i jego raczej gorszych stronach.<br />
Wszystko sprowadza się do tego, że dostaliśmy piękne piąteczki opowiadając o programie, a właściwie metodzie jego napisania i samym języku więcej niż na temat samego projektu.<br />
Kocham tą uczelnie po prostu!</p>
]]></content:encoded>
			<wfw:commentRss>http://koras.pl/2008/02/09/jak-php-pomaga-na-studiach/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stronka i audycja</title>
		<link>http://koras.pl/2007/03/26/stronka-i-audycja/</link>
		<comments>http://koras.pl/2007/03/26/stronka-i-audycja/#comments</comments>
		<pubDate>Mon, 26 Mar 2007 21:40:42 +0000</pubDate>
		<dc:creator>Orest Hrycyna</dc:creator>
				<category><![CDATA[muzyka]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[praca]]></category>
		<category><![CDATA[private]]></category>
		<category><![CDATA[projekty]]></category>
		<category><![CDATA[studia]]></category>

		<guid isPermaLink="false">http://koras.pl/blog/2007/03/26/stronka-i-audycja/</guid>
		<description><![CDATA[Witam ponownie. Na pewn się stęskniliście za mną ;)
Osatnio sporo czasu spędzałęm nad stronką firmową dla firmy Elhurt. Właściwie jest to podstronka traktująca o komunikacji bezprzewodowej. Na potrzeby strony rozbudowałem trochę system, który już od jakiegoś czasu używam do podstawowej konstrukcji stron. Dodałem parę klas i przydatnych funkcji przyspieszających bardzo konstrukcję strony. Pomimo &#8220;małej&#8221; obsówwy [...]]]></description>
			<content:encoded><![CDATA[<p>Witam ponownie. Na pewn się stęskniliście za mną ;)</p>
<p>Osatnio sporo czasu spędzałęm nad stronką firmową dla firmy Elhurt. Właściwie jest to podstronka traktująca o komunikacji bezprzewodowej. Na potrzeby strony rozbudowałem trochę system, który już od jakiegoś czasu używam do podstawowej konstrukcji stron. Dodałem parę klas i przydatnych funkcji przyspieszających bardzo konstrukcję strony. Pomimo &#8220;małej&#8221; obsówwy czasowej, jestem dosyć zadowolony z efeku mojej pracy, no i jak zawsze i najważniejsze zdobyłem kolejne bardzo przydatne doświadczenia. </p>
<p>Zaczynam poważnei zastanawiać się nad nauką frameworka <a href="http://koras.pl/blog/go.php?http://rapide.pl/" title="(215 hits)">Rapide</a>. Napisany w PHP5 jest on według mnie wystarzcjąco rozbudowany i dosyć prosty jak na pierwszy rzut oka na projekty którymi się zajmuję. Framework napisany przez Polaków (studentów &#8211; yeah!) co też jest dużym plusem ponieważ nie trzeba będzie łamać języka podczas nauki ;) No i jes okazja poznać nowych ciekawych ludzi.</p>
<p>Dwa tygodnie temu ruszyłem ze swoją własną audycją w Radiu SAR (Studencka Agencja Radiowa). Audycja nosi nazwę <em>Oh my dear Ukraine</em> i jak sama nazwa wskazuje jest to audycja o muzyce ukraińskiej, kulturze i co tam jeszcze mi się przyśni. Pierwsze odcinek był dosyć udany moim zdaniem i dlatego z jeszcze większym zapałem zapraszamw najpliższy <strong>piątek</strong> o godzinie<strong> 20.30</strong> na <a href="http://koras.pl/blog/go.php?http://radiosar.pl" title="(342 hits)">www.RadioSAR.pl</a>.</p>
<p>Zaczęliśmy nowy przedmiot (właściwie to więcej, ale ten tylko mnie interesuje), a mianowicie <em>Języki Programowania Wysokiego Poziomu</em>. Na początek oczywiście Java. Jeszcze za dużo nie potrafię, ale już bardzo podobają mi się niektóre rozwiązania, no i przekłada się to w części na PHP, zwłaszcza PHP5, co mi pomaga w zrozumieniu niektórych dotąd zagmatwanych dla mnie mechanizmów działania skryptów. Jak narazie jestem mniej więcej w połowie pisania projektu, coś na styl AC LOGO (popularnie &#8220;żółwik&#8221;), jak będę miał coś więcej nie omieszkam opisać tutaj tego projektu :D </p>
]]></content:encoded>
			<wfw:commentRss>http://koras.pl/2007/03/26/stronka-i-audycja/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RadioSAR.pl / studia-sesja</title>
		<link>http://koras.pl/2007/01/25/radiosarpl-studia-sesja/</link>
		<comments>http://koras.pl/2007/01/25/radiosarpl-studia-sesja/#comments</comments>
		<pubDate>Wed, 24 Jan 2007 23:50:20 +0000</pubDate>
		<dc:creator>Orest Hrycyna</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[praca]]></category>
		<category><![CDATA[private]]></category>
		<category><![CDATA[projekty]]></category>
		<category><![CDATA[radio]]></category>
		<category><![CDATA[studia]]></category>

		<guid isPermaLink="false">http://koras.pl/blog/2007/01/25/radiosarpl-studia-sesja/</guid>
		<description><![CDATA[Czego to się nie robi żeby tylko się nie uczyć. Dzisiaj już prawie trzecią dobę jestem na nogach i jeszcze troche przede mną. Mam nadzieję, że nie wykituję wcześniej.
Na początek sponsor dzisiajszego odcinka: Marjush &#8211; dzieki za klawiaturke :d. Marjush oddał swoją podono popsuta (widać nie lubi herbaty) klawiaturkę w ręce nie mniej potrzebującego studenta. [...]]]></description>
			<content:encoded><![CDATA[<p>Czego to się nie robi żeby tylko się nie uczyć. Dzisiaj już prawie trzecią dobę jestem na nogach i jeszcze troche przede mną. Mam nadzieję, że nie wykituję wcześniej.</p>
<p>Na początek sponsor dzisiajszego odcinka: Marjush &#8211; dzieki za klawiaturke :d. Marjush oddał swoją podono popsuta (widać nie lubi herbaty) klawiaturkę w ręce nie mniej potrzebującego studenta. Poprzednia klawa, chociaż bez kabla, doprowadzała mnie już czasem do szału. A zwłaszcza moich rozmówców na komunikatorze, którzy musieli się domyślać co piszę. Wpisy na bloga też były trochę warunkowane klawiaturą, bo nie uśmiechała mi sie szybka notka z późniejszym pół godzinnym sprawdzaniem gdzie brak literek. Teraz mam klawę co prawda na kabel, ale za to z wbudowanym usb i audio, niski skok.</p>
<p>Część pierwsza:<br />
<a href="http://koras.pl/blog/go.php?http://www.radiosar.pl" title="(201 hits)">RadioSar.pl</a> <em>Upublikowane!</em><br />
Jakoś w zeszłym tygodniu udało mi się w końcu opublikować nową wersję strony Studenckiej Agencji Radiowej. Strona tworzona juz od okolo roku. Ma jeszcze parę niedociągnieć tu i uwdzie, ale mam nadzieję, że jak tylko zakończę swój bój z uczelnia to w pełni już zakończę prace nad stroną.</p>
<p>Dalesze części wkrótce&#8230;. (jeszcze tej nocy)</p>
]]></content:encoded>
			<wfw:commentRss>http://koras.pl/2007/01/25/radiosarpl-studia-sesja/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

