<?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>Captain EChO&#039;s Log &#187; Technologia</title>
	<atom:link href="http://blog.blazejczak.eu/kategorie/tech/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.blazejczak.eu</link>
	<description>dziennik pokładowy</description>
	<lastBuildDate>Sun, 13 Sep 2009 21:09:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>Język (nie do końca) rozpoznawalny</title>
		<link>http://blog.blazejczak.eu/2008/09/jezyk-nie-do-konca-rozpoznawalny/</link>
		<comments>http://blog.blazejczak.eu/2008/09/jezyk-nie-do-konca-rozpoznawalny/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 22:36:48 +0000</pubDate>
		<dc:creator>EChO</dc:creator>
				<category><![CDATA[Technologia]]></category>
		<category><![CDATA[język]]></category>
		<category><![CDATA[praca magisterska]]></category>
		<category><![CDATA[programowanie]]></category>
		<category><![CDATA[sieci neuronowe]]></category>

		<guid isPermaLink="false">http://blog.blazejczak.eu/?p=115</guid>
		<description><![CDATA[W poniedziałek, 15 września 2008 roku, zakończyłem oficjalnie pisanie pracy magisterskiej i złożyłem ją w dziekanacie. Jako, że nie wszyscy wiedzą o czym pisałem, postaram się przedstawić krótko całą historię. Gdy półtora roku temu zacząłem się zastanawiać na poważnie nad tematem pracy, miałem kilka sprecyzowanych punktów, według których chciałem sobie dobrać temat. Moją specjalnością jest [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/10844877@N00/422137852"><img src="http://farm1.static.flickr.com/170/422137852_2412dd1ad1_m.jpg" border="0" alt="praca magisterska" hspace="8" align="left" title="422137852 2412dd1ad1 m" /></a>W poniedziałek, 15 września 2008 roku, zakończyłem oficjalnie pisanie pracy magisterskiej i złożyłem ją w dziekanacie. Jako, że nie wszyscy wiedzą o czym pisałem, postaram się przedstawić krótko całą historię.</p>
<p>Gdy półtora roku temu zacząłem się zastanawiać na poważnie nad tematem pracy, miałem kilka sprecyzowanych punktów, według których chciałem sobie dobrać temat. Moją specjalnością jest inżynieria oprogramowania, ale w tej dziedzinie dowolny temat pracy wydawał mi się mało interesujący. Postanowiłem pracę pisać w innym instytucie, a mianowicie w Instytucie Sztucznej Inteligencji i Metod Matematycznych. Miałem nawet konkretnie wybranego promotora, u którego chciałem pisać. Podszedłem do wyboru tematu dość ambitnie. Wybór czegoś łatwego i odtwórczego mnie zupełnie nie przekonywał. W końcu ma to być moja pierwsza publikacja naukowa z prawdziwego zdarzenia. Dlaczego więc nie połączyć kilku dziedzin, które mnie interesują? Z racji wybranej specjalności, głównym zadaniem w pracy miało być stworzenie programu. Chciałem napisać program, dzięki któremu przeprowadziłbym badania, których wyniki mogą się realnie przydać, a jednocześnie sam program mógł być rozwojowy. Wykorzystywałby sieci neuronowe do klasyfikacji czegoś związanego z dźwiękiem. Na początku myślałem o rozpoznawaniu stylu muzycznego badanego utworu. Jednak klasyfikacja gatunków muzycznych jest na tyle trudna dla człowieka, że komputer tym bardziej nie będzie w stanie sobie z tym poradzić. Poprosiłem więc promotora o pomoc w wymyśleniu tematu w sam raz dla mnie. I promotor wymyślił:</p>
<p style="text-align: center;"><strong><span style="color: #993300;">„Zastosowanie sztucznych sieci neuronowych do rozpoznawania języka mówiącej osoby”</span></strong></p>
<p>Temat spodobał mi się od samego początku. Wow! Zajmę się rozpoznawaniem języków <img src='http://blog.blazejczak.eu/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' title="icon smile" /> . Oprócz dziedzin związanych z dźwiękiem, sztuczną inteligencją i programowaniem, mogę się zająć też bardzo interesującą mnie dziedziną — językoznawstwem. Chociaż w ograniczonym stopniu. Do tematu nie miałem żadnych zastrzeżeń, więc taki właśnie został oficjalnie przyjęty.</p>
<p>Jako rasowy prokrastynator, na poważnie zająłem się pracą dopiero w ostatnim semestrze <img src='http://blog.blazejczak.eu/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' title="icon wink" /> . Wcześniej bardzo powoli gromadziłem literaturę, na której mógłbym się oprzeć. Jednak literatury takiej nie ma. Musiałem się oprzeć na kilku anglojęzycznych artykułach naukowych, traktujących konkretnie o temacie rozpoznawania języka. Reszta literatury to publikacje o analizie i syntezie dźwięku czy ogólne o samych sieciach neuronowych. W dodatku publikacji o identyfikacji języka, w języku polskim, nie znalazłem żadnych. Dobrze, że oprócz promotora znającego się na sieciach neuronowych, miałem też do kogo się zwrócić w temacie samej analizy dźwięku. Pani Ania dużo mi pomogła — dzięki niej opracowałem najważniejszą część pracy, czyli metodę ekstrakcji cech głosu, którymi potem miałem uczyć sieć neuronową.</p>
<p>Sama metoda powstała i została przetestowana w Matlabie jeszcze przed wakacjami. Zdążyłem jeszcze tylko napisać rozdziały teoretyczne i przesunąć termin oddania pracy na wrzesień. Wakacje upłynęły mi na pisaniu całego programu w C++ (jakieś 20% czasu) i jego testowaniu (80% czasu, bo przecież nic nie może dobrze działać za pierwszym razem <img src='http://blog.blazejczak.eu/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' title="icon wink" /> ). Gdy po bólach program już powstał, przeprowadziłem za jego pomocą badania. Wreszcie mogłem sprawdzić jak się sprawuje moje dziecko <img src='http://blog.blazejczak.eu/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' title="icon smile" /> .</p>
<p>Badania były przeprowadzone na próbkach zdań w 6 językach: polskim, angielskim, niemieckim, włoskim, hiszpańskim i rosyjskim. Przygotowałem po 21 zdań w każdym z tych języków i zaprzęgłem syntezatory mowy, żeby wygenerowały mi zdania z poprawną wymową. Dodatkowo, przygotowałem próbki mowy żywego człowieka dla języka polskiego, angielskiego i rosyjskiego. Zapowiadało się ciekawie… ale wyniki badań mnie nieco rozczarowały. Przy uczeniu wszystkich 6 języków na raz, jakość rozpoznawania była bardzo niska. Od 20 do 50%. Z czego najgorzej sieć rozpoznawała… język angielski. Najlepiej za to włoski. Włoski praktycznie wygrywał w każdej konfiguracji. Najlepiej był rozpoznawalny (i to w prawie 85%) przy zestawie 3 języków — polskim, włoskim i hiszpańskim. Nie zdziwiło mnie to. Jeśli znacie melodię języka włoskiego (a mój program właśnie analizuje melodię wypowiadanych zdań), to wiecie, że każde zdanie kończy się skokiem intonacji od dźwięku wyższego do niższego. Co więcej –badania na próbkach żywej ludzkiej mowy wypadły nieco gorzej niż na próbkach syntetycznych.</p>
<p>Czy więc poniosłem klęskę? W żadnym wypadku! Wyciągnąłem wnioski, które pozwolą mi na udoskonalenie algorytmu i przeprowadzenie kolejnych badań. Na pewno nie porzucę tego co zacząłem. A świadomość tego, że moja publikacja jest chyba jedyną taką w języku polskim, motywuje mnie dodatkowo. W końcu interfejsy głosowe za kilka lat staną się bardzo popularne, a ja tworzę pewien ważny wycinek tego, co w tych interfejsach będzie implementowane. Napisałem przyzwoitą pracę, z której jestem zadowolony i która rokuje na przyszłość. Jeszcze czeka mnie obrona na początku października i wtedy będę mógł odetchnąć <img src='http://blog.blazejczak.eu/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' title="icon smile" /> . I z pewnością po obronie opiszę bardziej szczegółowo wyniki badań, a także opublikuję swoją pracę w internecie.</p>
<p>Mam nadzieję, że Was nie zanudziłem, i że kogoś innego oprócz mnie też to zainteresowało. W razie czego — pytajcie w komentarzach. Chętnie odpowiem <img src='http://blog.blazejczak.eu/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' title="icon smile" /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blazejczak.eu/2008/09/jezyk-nie-do-konca-rozpoznawalny/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Uzimawianie pulpitu po mojemu</title>
		<link>http://blog.blazejczak.eu/2007/12/uzimawianie-pulpitu-po-mojemu/</link>
		<comments>http://blog.blazejczak.eu/2007/12/uzimawianie-pulpitu-po-mojemu/#comments</comments>
		<pubDate>Sat, 01 Dec 2007 18:03:00 +0000</pubDate>
		<dc:creator>EChO</dc:creator>
				<category><![CDATA[Technologia]]></category>
		<category><![CDATA[ciekawostki]]></category>
		<category><![CDATA[komputery]]></category>
		<category><![CDATA[pulpit]]></category>
		<category><![CDATA[zima]]></category>

		<guid isPermaLink="false">http://blog.blazejczak.eu/2007/12/uzimawianie-pulpitu-po-mojemu/</guid>
		<description><![CDATA[Nadeszła zima. Jako, że w Szczecinie śniegu jak na lekarstwo, nie mam zbyt ciekawego widoku za oknem. Żeby nieco nastroić się bardziej zimowo i świątecznie, postanowiłem zrobić coś z moim pulpitem. Lepsze to niż nic Po kilku próbach udało mi się osiągnąć wygląd, który jak na razie mnie zadawala Na skrinie widać pulpit w podstawowym [...]]]></description>
			<content:encoded><![CDATA[<p>Nadeszła zima. Jako, że w Szczecinie śniegu jak na lekarstwo, nie mam zbyt ciekawego widoku za oknem. Żeby nieco nastroić się bardziej zimowo i świątecznie, postanowiłem zrobić coś z moim pulpitem. Lepsze to niż nic <img src='http://blog.blazejczak.eu/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' title="icon smile" />  Po kilku próbach udało mi się osiągnąć wygląd, który jak na razie mnie zadawala <img src='http://blog.blazejczak.eu/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' title="icon smile" /> </p>
<p><a href="http://www.flickr.com/photos/echolvd/2077175697/" title="photo sharing"><img src="http://farm3.static.flickr.com/2410/2077175697_21f7c0ac3a_m.jpg" alt="2077175697 21f7c0ac3a m" style="margin: 0 auto; border: solid 2px #000000;" title="2077175697 21f7c0ac3a m" /></a><br />Na skrinie widać pulpit w podstawowym widoku, z uruchomioną <a href="http://www.miranda-im.pl">Mirandą</a> i <a href="http://foobar2000.pl">Foobarem</a>. Pulpit uświetniły też takie programy jak: <a href="http://rocketdock.com/">RocketDock</a> (ten pasek, który widzicie po lewej stronie), <a href="http://desktop.google.com/pl/">Google Desktop</a> (z dwoma gadżetami — Google Calendar i Pogoda) i niewidoczny na skrinie (z pewnych powodów) <a href="http://www.zhornsoftware.co.uk/stickies/">Stickies</a>, czyli pulpitowe karteczki. Dodatkowo używam ciekawego zamiennika menu start (w stylu Visty) o nazwie <a href="http://lee-soft.com/?page_id=11">ViStart</a>. Wszystkie te programy mogę z powodzeniem polecić — są zarówno ładne, jak i funkcjonalne.</p>
<p>Trochę o skinach. Wygląd okienek zmieniłem za pomocą skina <a href="http://vishal-gupta.deviantart.com/art/VistaVG-Blue-for-Windows-XP-62008542">VistaVG Blue</a>, do tego dopasowałem skin <a href="http://fediafedia.deviantart.com/art/Vistart-VG-blue-62199077">ViStartVG Blue</a>, czyli mamy komplet.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://fc05.deviantart.com/fs16/i/2007/225/b/a/Vistart_VG_blue_by_fediaFedia.png"><img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px;" src="http://fc05.deviantart.com/fs16/i/2007/225/b/a/Vistart_VG_blue_by_fediaFedia.png" border="0" alt="Vistart VG blue by fediaFedia"  title="Vistart VG blue by fediaFedia" /></a><br />Miranda posiada ładną skórkę (do listy Contact List Modern) o równie ładnej nazwie <a href="http://miranda-easy.net/addons/clmodern/cordonatadefaultsn.zip">Cordonata Blue</a>, którą odrobinę zmodyfikowałem.<br />Foobar został upiększony skinem <a href="http://foobar2000.pl/index.php?showtopic=3691">Babzn foo</a> (wymaga Panels UI), do którego podłożyłem wycinek tapety od Vladyslawa <img src='http://blog.blazejczak.eu/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' title="icon smile" />  Także pod całym tym bajzlem możecie zobaczyć jego tapetkę. Nowych świątecznych jest całkiem sporo tutaj: <a href="http://www.vladstudio.com/christmas/">http://www.vladstudio.com/christmas/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blazejczak.eu/2007/12/uzimawianie-pulpitu-po-mojemu/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ulubione: Blogi o WWW</title>
		<link>http://blog.blazejczak.eu/2007/07/ulubione-blogi-o-www/</link>
		<comments>http://blog.blazejczak.eu/2007/07/ulubione-blogi-o-www/#comments</comments>
		<pubDate>Sat, 28 Jul 2007 16:07:00 +0000</pubDate>
		<dc:creator>EChO</dc:creator>
				<category><![CDATA[Technologia]]></category>
		<category><![CDATA[blogi]]></category>
		<category><![CDATA[komputery]]></category>
		<category><![CDATA[programowanie]]></category>
		<category><![CDATA[webmastering]]></category>

		<guid isPermaLink="false">http://blog.blazejczak.eu/2007/07/ulubione-blogi-o-www/</guid>
		<description><![CDATA[Tym postem otwieram pewną serię, w której będę przedstawiał moje ulubione serwisy — warte polecenia i częstego odwiedzania. Dzisiaj pokrótce przybliżę Wam strony, które traktują o wszelakich aspektach serwisów WWW — od webmasteringu i usability, przez newsy o nowych łebdwazerowych projektach, aż po prywatne blogi z poradami i ciekawostkami. Polskie AntyWeb [http://antyweb.pl/]Blog Grzegorza Marczaka, traktujący [...]]]></description>
			<content:encoded><![CDATA[<p>Tym postem otwieram pewną serię, w której będę przedstawiał moje ulubione serwisy — warte polecenia i częstego odwiedzania. Dzisiaj pokrótce przybliżę Wam strony, które traktują o wszelakich aspektach serwisów WWW — od webmasteringu i usability, przez newsy o nowych łebdwazerowych projektach, aż po prywatne blogi z poradami i ciekawostkami.</p>
<h2>Polskie</h2>
<p><strong>AntyWeb</strong> [<a href="http://antyweb.pl/" target="_blank" title="AntyWeb">http://antyweb.pl/</a>]<br />Blog Grzegorza Marczaka, traktujący głównie o portalach społecznościowych — polskich i zagranicznych, a także o ciekawostkach na rynku nowych technologii. Posty są zgrabnie pisane, czasem z własnymi przemyśleniami. Jest to ciekawe źródło informacji przede wszystkim o polskich zasobach web 2.0. Blog jest często aktualizowany, co jest sporym plusem. </p>
<p><strong>Blog Piotra Koniecznego</strong>  [<a href="http://blog.konieczny.be/" target="_blank" title="Blog Piotra Koniecznego">http://blog.konieczny.be/</a>]<br />Ciekawe notki, pisane mniej regularnie, lecz zawsze na wysokim poziomie. Od hackingu i bezpieczeństwa, przez przeglądarki (głównie Opera), serwisy internetowe, aż po równie ciekawe osobiste spostrzeżenia. </p>
<p><strong>Poradnik webmastera</strong>  [<a href="http://poradnikwebmastera.blox.pl/html" target="_blank" title="Poradnik Webmastera">http://poradnikwebmastera.blox.pl/html</a>]<br />Blog Pawła Wimmera — chyba nie sposób się nie zetknąć z tym nazwiskiem <img src='http://blog.blazejczak.eu/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' title="icon smile" /> . Nazwa bloga może nie do końca odzwierciedla tematykę, chociaż także sporo jest tu postów o szeroko pojętym webmasteringu, serwisach internetowych i nowych technologiach, pisanych w miarę regularnie. Autor pisze także czasem notki bardziej osobiste i polityczne — przy obecnej sytuacji wcale się temu nie dziwię <img src='http://blog.blazejczak.eu/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' title="icon wink" />  </p>
<p><strong>Perfection or Vanity?</strong>  [<a href="http://perfectionorvanity.com/" target="_blank" title="Perfection or Vanity?">http://perfectionorvanity.com/</a>]<br />Piotr Petrus (Riddle) też jest z pewnością znany internautom interesującym się webmasteringiem. Tym razem posty są bardziej techniczne, opisujące rozwiązania często pojawiających się problemów przy tworzeniu stron. Doskonałe (lub czasem mniej doskonałe) rozwiązania w JavaScripcie, (x)htmlu i innych technologiach. Szkoda tylko, że tak rzadko ostatnio pisze. </p>
<p><strong>TheTarPit</strong>  [<a href="http://dezinformacja.org/tarpit/" target="_blank" title="TheTarPit">http://dezinformacja.org/tarpit/</a>]<br />Tym razem specjalista od Semantic Web i inżynierii oprogramowania. Autor — Michał Świątkiewicz — podobnie jak Riddle przedstawia różne techniczne rozwiązania webmasterskie, chociaż głównie w temacie SW. Rzadko pisane, lecz zawsze ciekawe.</p>
<p><strong>Web 2.0</strong>  [<a href="http://web20.pl/" target="_blank" title="Web 2.0">http://web20.pl/</a>]<br />Jak sama nazwa wskazuje — blog o web 2.0, prowadzony przez Sebastiana Kwietnia. Głównie o polskim web 2.0 i trendach w internecie. Także nieregularny, lecz często jest ciekawym uzupełnieniem innych blogów w tej tematyce.</p>
<p><strong>Webusability.pl</strong>  [<a href="http://www.webusability.pl/" target="_blank" title="Webusability">http://www.webusability.pl/</a>]<br />Profesjonalny (jak dla mnie) blog o użyteczności. Prowadzi go Tomek Karwatka, z którym kiedyś przez pewien czas współpracowałem przy magazynie NoName.</p>
<p><strong>WebAudit</strong>  [<a href="http://webaudit.pl/blog/" target="_blank" title="WebAudit Blog">http://webaudit.pl/blog/</a>]<br />Robert Drózd także pisze o użyteczności serwisów internetowych. Ciekawe, profesjonalne podejście do usability, marketingu internetowego i nowych technologii. Fajne uzupełnienie dla webusability.pl.</p>
<h2>Zagraniczne</h2>
<p><strong>Mashable</strong> [<a href="http://mashable.com/" target="_blank" title="Mashable">http://mashable.com/</a>] oraz <strong>TechCrunch</strong>  [<a href="http://www.techcrunch.com/" target="_blank" title="TechCrunch">http://www.techcrunch.com/</a>]<br />Dwa podobne do siebie serwisy z dużą ilością newsów dotyczących nowych serwisów internetowych. Mashable jednak głównie skupia się na wszelkiego rodzaju społecznościach, a TechCrunch także ogólnie na nowych technologiach. Często jednak mają w tym samym czasie te same newsy. Podstawa dla maniaków NT. </p>
<p><strong>Lifehacker</strong>  [<a href="http://lifehacker.com/" target="_blank" title="Lifehacker">http://lifehacker.com/</a>]<br />Trochę innego typu serwis, gdyż nie skupia się tylko na internecie. Przeczytać w nim można wszelakie porady dla użytkowników komputerów. Opisuje serwisy społecznościowe i niespołecznościowe, nowe programy komputerowe, porady odnośnie systemów operacyjnych, ale także życiowe (np. jak zrobić łapkę na muchy <img src='http://blog.blazejczak.eu/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' title="icon wink" /> ). Kilka(naście) postów dziennie. </p>
<p>To są najciekawsze serwisy, które przeglądam regularnie (czyt. zapychają mi regularnie czytnik RSSów <img src='http://blog.blazejczak.eu/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' title="icon wink" /> ). Znacie jakieś inne godne polecenia blogi? A może macie własne przemyślenia co do tych opisywanych przeze mnie? Piszcie śmiało w komentarzach. Zapraszam!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blazejczak.eu/2007/07/ulubione-blogi-o-www/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moje pomysły na udoskonalenie narzędzi CASE</title>
		<link>http://blog.blazejczak.eu/2007/07/moje-pomysly-na-udoskonalenie-narzedzi-case/</link>
		<comments>http://blog.blazejczak.eu/2007/07/moje-pomysly-na-udoskonalenie-narzedzi-case/#comments</comments>
		<pubDate>Mon, 16 Jul 2007 11:55:00 +0000</pubDate>
		<dc:creator>EChO</dc:creator>
				<category><![CDATA[Technologia]]></category>
		<category><![CDATA[komputery]]></category>
		<category><![CDATA[programowanie]]></category>

		<guid isPermaLink="false">http://blog.blazejczak.eu/2007/07/moje-pomysly-na-udoskonalenie-narzedzi-case/</guid>
		<description><![CDATA[Większość programistów pracuje wykorzysując te narzędzia, inni ich nie używają z różnych przyczyn, ale wiedzą o co chodzi. Tym, którzy nie wiedzą podaję krótką i strawną definicję, żeby wiedzieli o czym jest ten artykuł i ewentualnie przestali go czytać Narzędzia CASE (czyli Computer Aided Software Engineering lub Computer Aided System Engineering) to systemy komputerowe, przeznaczone [...]]]></description>
			<content:encoded><![CDATA[<p>Większość programistów pracuje wykorzysując te narzędzia, inni ich nie używają z różnych przyczyn, ale wiedzą o co chodzi. Tym, którzy nie wiedzą podaję krótką i strawną definicję, żeby wiedzieli o czym jest ten artykuł i ewentualnie przestali go czytać <img src='http://blog.blazejczak.eu/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' title="icon smile" /> </p>
<p><span style="font-style:italic;">Narzędzia CASE (czyli Computer Aided Software Engineering lub Computer Aided System Engineering) to systemy komputerowe, przeznaczone do wspomagania rutynowych czynności procesu tworzenia oprogramowania. Dzięki nim projekty tworzy się dokładniej, a praca nad diagramami, sprawdzanie ich poprawności oraz śledzenie wykonanych testów jest prostsze i szybsze.</span></p>
<p><span style="font-weight:bold;">Prolog</span><br />Wiele CASE’ów, szczególnie tych darmowych, ma słabą funkcjonalność. Inne – zazwyczaj te komercyjne – zbyt dużą jak na przeciętnego programistę. Niektóre systemy ograniczają się do tworzenia diagramów UML, modelowania baz danych, czy też prostego generowania szablonu kodu i schematycznych dokumentacji. Reverse engineering jest rzadkością, chociaż np. StarUML sobie z tym radzi. W innych „systemach” widzimy przerost formy nad treścią, chociażby taki Visio, który z założenia miał być dla nas czymś w rodzaju CASE (chociaż de facto nim nie jest). Czy można stworzyć idealne rozwiązanie dla wszystkich? Teoretycznie nie, ale czemu nie spróbować?</p>
<p><span style="font-weight:bold;">Prawdziwa modułowość</span><br />Sporą popularnością wśród młodych informatyków cieszą się programy, które można dostosowywać do swoich potrzeb. Dla informatycznych laików jest to spory minus, gdyż często liczba opcji takiego programu przekracza możliwości opanowania przez takiego śmiertelnika. Jednak dla zapaleńca, który chce dopieścić program do granic, jest to rozwiązanie idealne. Bardzo dobrym przykładem takiego podejścia jest komunikator internetowy Miranda. Samo jądro Mirandy w głównej mierze służy do obsługi plug-inów oraz zapewnia podstawowe metody do obsługi komunikatora, z których korzystają developerzy piszący wtyczki. Dzięki temu użytkownik ma do wyboru kilkaset wtyczek, które wzbogacają komunikator o konkretne funkcje. Z takiego rozwiązania korzysta się coraz częściej, lecz zazwyczaj w ograniczonym stopniu. Wtyczki do zwykłych programów poprawiają jego funkcjonalność w niewielkim stopniu. W tym przypadku każda funkcja jest oddzielnym plug-inem. Oddzielnie mamy okienko rozmowy, oddzielnie listę kontaktów, oddzielnie historię. Każda z tych wtyczek ma zazwyczaj sporo opcji do samodzielnego ustawienia i dostosowania. Na podobnej zasadzie działa odtwarzacz muzyczny Foobar. I chociaż wtyczki do niego są nieco bardziej ograniczone, to możliwość własnej konfiguracji jest ogromna.</p>
<p>Dlaczego by nie zastosować podobnego rozwiązania w przypadku systemów CASE? Przecież nie każdy programista musi korzystać ze wszelkich modułów standardowego CASE’a. Poza tym podczas tworzenia pewnego projektu, różne osoby mają różne zadania do wykonania. Po co im więc ten sam zestaw funkcji w CASE’ie? Można taki system rozbić na duże, niezależne moduły, które obsługują jedną poważną funkcjonalność, a do każdego z tych modułów moglibyśmy dodawać pomniejsze udogodnienia. Przykładowo – jeden z najważniejszych (w tym wypadku) modułów to Moduł Importu/Eksportu. Jest szczególnie ważny, gdyż dzięki niemu możliwa jest wymiana danych między różnymi programami, a nawet między osobami pracującymi na naszym idealnym CASE’ie, tylko różnie skonfigurowanym. Do tego modułu możemy dodawać obsługę kolejnych formatów przesyłania danych, a także różną obsługę wymiany danych (np. za pomocą ustalonego protokołu sieciowego). Inny przykład – tworzenie diagramów w różnych standardach. Jeśli osoba A potrzebuje do pracy tylko pewnego niewielkiego zestawu diagramów – po co mu cała reszta? Skoro jest od wielu lat tendencja do jak najwęższej specjalizacji, to wielkie kombajny „do wszystkiego” są zbędne. W dodatku zajmują niebagatelną ilość zasobów systemu.</p>
<p><span style="font-weight:bold;">Cechy i funkcje idealne</span><br />Dla mnie, jako studenta informatyki, ważną cechą dotyczącą jakiegokolwiek programu jest jego darmowość i otwartość. Otwartość jest szczególnie ważna przy założeniu, że każdy bardziej zaawansowany programista mógłby do takiego CASE’a napisać swój własny moduł czy plug-in.</p>
<p>Z otwartością wiąże się także wieloplatformowość takiego programu. Chciałbym mieć możliwość pracy na nim zarówno pod Windowsem, jak i Linuksem (a może nawet MacOS’em?).</p>
<p>Intuicyjność obsługi jest również ważna. Poprawia z pewnością ergonomię, a zatem także szybkość pracy. Wszelkie menu, klawiszologia i inne paski narzędziowe powinny być w 100% konfigurowalne przez użytkownika.</p>
<p>Wielostandardowość. Jest to ważne, gdyż różni ludzie mają różne przyzwyczajenia i własne oznaczenia w diagramach. Każdy użytkownik naszego CASE’a powinien mieć możliwość dostosowania standardów do siebie, a jednocześnie powinien mieć możliwość konwersji tych diagramów do postaci wygodnej dla współpracowników. Taka konwersja powinna przebiegać automatycznie podczas wymiany danych z innymi pracownikami przy danym projekcie.</p>
<p>Dla nowych użytkowników CASE’a przydałby się rozbudowany i „inteligentny” help. Z jednej strony coś na kształt podręcznika użytkownika (jeśli ktoś lubi tego typu publikacje), a z drugiej strony – podpowiedzi w czasie rzeczywistym. Oczywiście w pełni konfigurowalne i zaimplementowane jako osobny plug-in do danego modułu. Zaawansowany użytkownik może go więc wyłączyć i nie obciążać niepotrzebnie zasobów systemu.</p>
<p>Generator kodu i środowisko programistyczne. Wiele środowisk programistycznych (np. Eclipse) ma możliwość rozbudowy o elementy obsługi UMLa czy też innych składników standardowego CASE’a. Można więc zrobić odwrotnie. Jednym z modułów naszego CASE’a byłoby właśnie środowisko programistyczne (IDE) dla konkretnego języka programowania. Wtedy generator kodu byłby dopasowany idealnie do tego środowiska, a co za tym idzie – uniknęlibyśmy dziwnej nadmiarowości kodu i problemów związanych z brakiem konkretnych nagłówków czy innych wymaganych deklaracji w programie.</p>
<p><span style="font-weight:bold;">Epilog</span><br />Są różni programiści, z różnymi pomysłami i przyzwyczajeniami. Obecne narzędzia CASE w pewnym stopniu narzucają nam własny sposób obsługi. Bardzo często wpływa to negatywnie na nastawienie pracownika, a co za tym idzie – na jakość i szybkość jego pracy. Tworząc CASE’a zgodnego z powyższymi pomysłami, mamy możliwość przynajmniej częściowego wyeliminowania tego problemu.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blazejczak.eu/2007/07/moje-pomysly-na-udoskonalenie-narzedzi-case/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Polskie chatterboty — porównanie</title>
		<link>http://blog.blazejczak.eu/2007/06/polskie-chatterboty-porownanie/</link>
		<comments>http://blog.blazejczak.eu/2007/06/polskie-chatterboty-porownanie/#comments</comments>
		<pubDate>Sun, 24 Jun 2007 22:30:00 +0000</pubDate>
		<dc:creator>EChO</dc:creator>
				<category><![CDATA[Technologia]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[komputery]]></category>

		<guid isPermaLink="false">http://blog.blazejczak.eu/2007/06/polskie-chatterboty-porownanie/</guid>
		<description><![CDATA[Boty, elektroniczni asystenci, czy też wirtualni doradcy – są od pewnego czasu coraz bardziej popularnym rozwiązaniem, implementowanym w serwisach internetowych różnych firm. Zbadałem trzy boty, trzech różnych firm. Fido Interactive (Fido)www.fido.pl Najstarszy znany mi polski bot. Działa od 2002 roku i całkiem nieźle sobie radzi. Jest doradcą, ma wiele informacji o firmie, a dodatkowo bardzo [...]]]></description>
			<content:encoded><![CDATA[<p>Boty, elektroniczni asystenci, czy też wirtualni doradcy – są od pewnego czasu coraz bardziej popularnym rozwiązaniem, implementowanym w serwisach internetowych różnych firm. Zbadałem trzy boty, trzech różnych firm.</p>
<p><span style="font-weight:bold;">Fido Interactive (Fido)</span><br /><a href="http://www.fido.pl">www.fido.pl</a></p>
<p>Najstarszy znany mi polski bot. Działa od 2002 roku i całkiem nieźle sobie radzi. Jest doradcą, ma wiele informacji o firmie, a dodatkowo bardzo dobrze nawiguje serwisem – najlepiej ze wszystkich badanych botów – otwierając podstrony pomocne w temacie rozmowy.</p>
<p>Z Fidem rozmawia się bardzo swobodnie i przyjemnie. Nie narzuca tematów, stara się odpowiadać dokładnie na pytania rozmówcy. Potrafi jednak dobrze wybrnąć z bardzo ogólnikowych pytań – np. <span style="font-style:italic;">„Co możesz powiedzieć o firmie Fido?”</span>.</p>
<p>Zasób rozumianego słownictwa ma dosyć szeroki, a jeśli czegoś nie rozumie, to stara się wywnioskować z innych zrozumiałych wyrazów w pytaniu i opowiada o tym co zrozumiał – nie zawsze jednak jest to zgodne z zamierzeniem pytającego. Gdy nic nie zrozumie – tłumaczy się i prosi o zapytanie w inny sposób.</p>
<p>Co do luźnej rozmowy – Fido zna mnóstwo dowcipów, są one jednak opowiadane losowo. Nie są tylko branżowe albo informatyczne. Gdy zapytałem jednak o to czy zna dowcipy o informatykach, zaczął mówić o wdrożeniach lingubotów w firmach informatycznych – trochę się pogubił. Fido zna się także na muzyce, filmach i sporcie. I co ciekawe – ma w tych tematach sporą wiedzę i zasób rozpoznawanego słownictwa.</p>
<p><span style="font-weight:bold;">Inguaris (Inguaris)</span><br /><a href="http://www.inguaris.pl/">www.inguaris.pl</a></p>
<p>Bardzo miła botka, całkiem inteligentna i „marketingowa”. Dla niezdecydowanych proponuje rozmowę o sobie, o firmie. Po każdej wypowiedzi grzecznie pyta, w czym może pomóc. Jej główną wadą (a może to tylko wada tej konkretnej implementacji) jest brak inteligentnej nawigacji po stronie. Strona sama się nie zmienia, a konkretne informacje pojawiają się w rozmowie lub botka zachęca do samodzielnego kliknięcia w odpowiednią zakładkę na stronie. Dobre i to.</p>
<p>Tematy rozmowy nie są narzucane, chyba, że rozmówca jest niezdecydowany. Nie jest to na pewno marketing nachalny. Rzeczowo i przyjaźnie odpowiada na pytania związane z firmą i produktami. Ma sporą wiedzę i przekazuje ją w prosty i zwięzły sposób. Nie zarzuca rozmówcy całą masą tekstu w odpowiedzi, ale po krótkich fragmentach pyta, czy kontynuować.</p>
<p>Zakres jej słownictwa jest wystarczający. Jeśli czegoś nie zrozumie – zazwyczaj drugie podejście jest już trafne. Można z nią porozmawiać także na luźne tematy – np. o muzyce Kasi Nosowskiej (której jest fanką). Jak każdy bot – umie opowiadać dowcipy. Są one zwykle branżowe, ale gdy zapytałem o dowcip nie związany z biznesem – opowiedziała „zwykły” o Jasiu – to spory plus.</p>
<p>Z Ciekawych odpowiedzi:<br /><span style="font-style:italic;">Kamil: Jak mam na imię?<br />Inguaris: Masz na imię Kamilu. Co jeszcze chcesz wiedzieć?</span><br />Jak widać – jest to niedopracowany szczegół. Nie dyskredytuje to bota, lecz czasem może drażnić.</p>
<p><span style="font-weight:bold;">E-asystent (HoRacy)</span><br /><a href="http://www.inguaris.pl/">www.inguaris.pl</a></p>
<p>Zdecydowanie najmniej inteligentny bot wśród trzech badanych. Jest chętny do mówienia o sobie, ale czeka na konkretne pytania. Pod względem marketingowym jest mało przydatny – jest po prostu zbyt nieśmiały. Rozmowa z nim jest mało swobodna i brzmi najsztuczniej ze wszystkich. Gubi się, bywa arogancki. Gdy pytamy go o konkretne informacje o firmie – chętnie odpowiada. Za każdym razem pyta, czy ma kontynuować wypowiedź. Jednak na nic zda się odpowiedź „nie”, gdyż bot i tak ją ignoruje i zanudza dalej. Często nie potrafi wyłapać kontekstu odpowiedzi użytkownika na to, o co sam zapytał.</p>
<p>Z ciekawych odpowiedzi:<br /><span style="font-style:italic;">Kamil: Czy możesz otworzyć stronę z cennikiem?<br />HoRacy: Przepraszam, nie zrobię tego, to zadanie przeglądarki, nie moje.</span><br />Gdy zadałem standardowe pytanie o czas wdrożenia – podał mi w miarę adekwatną odpowiedź dopiero za czwartym podejściem, gdy konstrukcja pytania była odpowiednia. Wtedy dodał też: <span style="font-style:italic;">„cennik elementów składowych e-asystenta otwarłem Ci w nowym oknie”</span>. Widać, że jednak potrafi <img src='http://blog.blazejczak.eu/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' title="icon smile" />  Tylko czemu otworzył w nowym oknie, skoro spora grupa użytkowników nowoczesnych przeglądarek ma takowe okienka zablokowane? Inne boty jakoś potrafią użytecznie zarządzać serwisem swojej firmy.</p>
<p>W tematach luźnych niechętny. Lubi muzykę filmową, lecz praktycznie nic o niej nie wie. Dowcipy chce słyszeć od użytkownika, a przyparty do muru opowiada zawsze jakiś informatyczny.</p>
<p><span style="font-weight:bold;">Epilog</span><br />Trudno przeprowadzić poważniejsze testy na takich botach, szczególnie w dosyć amatorski sposób. Myślę jednak, że z powyższych badań można wysnuć kilka wniosków. Wszystkie boty spełniają swoją podstawową funkcję (lepiej lub gorzej, ale jednak) – informowanie o firmie i produktach. Jedne są bardziej zaawansowane – np. Fido oraz Inguaris, inne mniej – tak jak E-asystent. Obecny etap rozwoju botów, na podstawie tych badań, można określić jako średnio zaawansowany, ale wystarczająco użyteczny. A chyba to jest w tym wszystkim najważniejsze.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blazejczak.eu/2007/06/polskie-chatterboty-porownanie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Komunikatorowe boje</title>
		<link>http://blog.blazejczak.eu/2007/01/komunikatorowe-boje/</link>
		<comments>http://blog.blazejczak.eu/2007/01/komunikatorowe-boje/#comments</comments>
		<pubDate>Wed, 10 Jan 2007 19:05:00 +0000</pubDate>
		<dc:creator>EChO</dc:creator>
				<category><![CDATA[Technologia]]></category>
		<category><![CDATA[komputery]]></category>
		<category><![CDATA[komunikatory]]></category>
		<category><![CDATA[narzekanie]]></category>

		<guid isPermaLink="false">http://blog.blazejczak.eu/2007/01/komunikatorowe-boje/</guid>
		<description><![CDATA[Dzisiejszy dzień miał być przełomowy. Rozdrażniony pewnym błędem w moim ulubionym komunikatorze — Miranda — postanowiłem przesiąść się na jakiś inny. Ów błąd nie był jedynym argumentem przeciw temu komunikatorowi, był jednak pretekstem. Jak pewnie wiecie, Miranda jest multikomunikatorem. Sama nie ma żadnego własnego protokołu, lecz obsługuje wszelkie (no, prawie wszystkie) inne protokoły. Praktycznie wszystko [...]]]></description>
			<content:encoded><![CDATA[<p>Dzisiejszy dzień miał być przełomowy. Rozdrażniony pewnym błędem w moim ulubionym komunikatorze — Miranda — postanowiłem przesiąść się na jakiś inny. Ów błąd nie był jedynym argumentem przeciw temu komunikatorowi, był jednak pretekstem.</p>
<p>Jak pewnie wiecie, Miranda jest multikomunikatorem. Sama nie ma żadnego własnego protokołu, lecz obsługuje wszelkie (no, prawie wszystkie) inne protokoły. Praktycznie wszystko w niej jest pluginem, więc bardziej zaawansowani użytkownicy mogą sobie ją skonfigurować tak jak chcą. Nie chcę mieć konkretnej funkcjonalności — wyrzucam plugina. Chcę inną — ściągam plugina. Wszystko jest teoretycznie piękne i proste. Wszystko do momentu, w którym developer uaktualnia na bieżąco swoje wtyczki. Tak jest np. z pluginem do wysyłania SMSów — mSMS. Od dawna nie jest aktualizowany, a kody źródłowe nie są udostępnione. Nie mam zamiaru psioczyć na autora tego plugina — to jest jego sprawa. Użytkownicy Mirandy po prostu stracili bardzo użyteczną wtyczkę, przynajmniej na jakiś czas.</p>
<p>Miranda w Polsce ma swoją społeczność skupioną wokół serwisu www.miranda.kom.pl. Śledzę jej rozwój od początku istnienia, praktycznie nie udzielając się. Zwykle nie mam potrzeby zadawania pytań, czy też wypowiadania się. Jeśli taka mnie najdzie — piszę. Faktem jednak jest, że admini tego serwisu (który głównie składa się z forum) robią z Mirandy produkt dla elit. Poniekąd mają rację — zwykły użytkownik komputera nie będzie się bawił z Mirandą, gdyż po prostu nie będzie w stanie przebić się przez wszelkie opcje, które trzeba ustawić, żeby mieć to, co inne komunikatory mają ustawione domyślnie. Szczególnie, że Miranda nie potrzebuje instalatorów z zestawem wtyczek i takowych jest niewiele (co więcej — są tworzone przez niezależnych od siebie developerów lub użytkowników). W pewnym sensie jest to duży plus, ale dla maniaków, także dla mnie.</p>
<p>Mirandy używam już 4 i pół roku. Często wyprzedzała swoją funkcjonalnością inne komunikatory, ale z czasem konkurencja ją wyprzedziła. Głównie dlatego, że tylko jej silnik jest tworzony przez grono zgranych developerów. Reszta pluginów — przez mniej lub bardziej zaawansowanych programistów. Wielu z nich zna się na tym co robi i robi to dobrze. Jeśli jakiś błąd zostaje zgłoszony — reakcja jest błyskawiczna albo prawie błyskawiczna. Drugą stroną medalu są wtyczki, których autorzy mają niewiele czasu na ich rozwój. Są to często bardzo potrzebne i funkcjonalne wtyczki. Wtedy pojawiają się głosy niezadowolonych użytkowników. Moglibyście (i słusznie) pomyśleć, że tak właśnie powinno być. Od tego są programiści i użytkownicy. Jedni nie mogą żyć bez drugich. Ale to tylko teoria. Środowisko polskiego forum Mirandy jest negatywnie nastawione do użytkowników zgłaszających swoje uwagi. No chyba, że są to użytkownicy z forumowym doświadczeniem (lub kobiety). Jak się nie podoba — napisz lepszego plugina. Odpowiedź godna Leppera.</p>
<p>Postanowiłem więc spróbować innego komunikatora. Na pierwszy ogień poszedł tlen. Świetny komunikator — stabilny, ze sporą ilością wtyczek — także stabilnych. Nie jest tak elastyczny jak Miranda, ale tworząc własne skiny można wiele osiągnąć. Ustawiłem go sobie zgodnie z potrzebami w ciągu 2 godzin. Ma działające wysyłanie SMSów, ma Tlenofona. Nie ma jednak działającej obsługi dwóch (z czterech) używanych przeze mnie protokołów — ICQ i Jabbera. Chociaż z Jabbera można (prawie) bez problemów korzystać, to z ICQ już nie da się w ogóle (pomimo wtyczki). Plugin do ICQ pokazuje błąd przy logowaniu i dalej nic się z tym zrobić nie da. A wracając do Jabbera — nie ma w pluginie obsługi transportów, co uważam za główny jego minus. Z Jabbera i ICQ nie zamierzam przestać korzystać, więc jest to minus nie do zaakceptowania.</p>
<p>Innym multikomunikatorem jest Konnekt. Ma też sporo wtyczek i dobry (lepszy niż w Mirandzie) system aktualizacji i pobierania nowych pluginów. Zachęcony tym i możliwością dostosowania komunikatora do własnych potrzeb, zabrałem się za wstępną konfigurację i uruchomienie wszystkich 4 protokołów. Wtyczki do ICQ nie znalazłem, ale przynajmniej wtyczka jabberowa miała obsługę transportów i udało mi się podłączyć do ICQ. Byłoby wszystko OK, gdybym po godzinie konfiguracji mógł cieszyć się wyglądem dostosowanym do moich potrzeb — chociaż w części. Nie mogłem jednak — toolbary na dole (i nie tylko) nie dają się okiełznać… tracę ochotę na dalszą konfigurację. Może kiedyś jeszcze spróbuję powalczyć z Konnektem. Co najważniejsze — poczułem ochotę na uporanie się ze wspomnianym na początku mirandowym błędem. Po kilku minutach oddechu udało mi się naprawić błąd — wróciłem starszej bety silnika Mirandy.</p>
<p>Kwestia przyzwyczajenia? Wierność? A może zdrowy rozsądek? Nie wiem co dokładnie spowodowało mój powrót do Mirosławy. Moje dzisiejsze boje spowodowały jednak, że bardziej doceniam to, co oferuje mi Miranda i postanawiam być jej dalej wiernym <img src='http://blog.blazejczak.eu/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' title="icon smile" /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blazejczak.eu/2007/01/komunikatorowe-boje/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>„Prawdziwi” programiści</title>
		<link>http://blog.blazejczak.eu/2006/11/prawdziwi-programisci/</link>
		<comments>http://blog.blazejczak.eu/2006/11/prawdziwi-programisci/#comments</comments>
		<pubDate>Wed, 15 Nov 2006 17:58:00 +0000</pubDate>
		<dc:creator>EChO</dc:creator>
				<category><![CDATA[Technologia]]></category>
		<category><![CDATA[komputery]]></category>
		<category><![CDATA[narzekanie]]></category>

		<guid isPermaLink="false">http://blog.blazejczak.eu/2006/11/prawdziwi-programisci/</guid>
		<description><![CDATA[VIM najlepszy! O tak! Po co nam zorganizowane środowisko programistyczne „wszystko-w-jednym”, skoro możemy sobie go sami stworzyć z pojedynczych elementów? W końcu programista to nie byle jaki człowiek — potrafi wszystko! Po co Prawdziwemu Programiście jakieś środowisko IDE z wbudowanym debuggerem? Przecież najwygodniejszym sposobem jest skompilowanie programu z opcją –g i przejście do gdb. Tam [...]]]></description>
			<content:encoded><![CDATA[<p>VIM najlepszy! O tak! Po co nam zorganizowane środowisko programistyczne „wszystko-w-jednym”, skoro możemy sobie go sami stworzyć z pojedynczych elementów? W końcu programista to nie byle jaki człowiek — potrafi wszystko!</p>
<p><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger2/6289/571044212815515/400/gdb.png" border="0" alt="gdb"  title="gdb" />Po co Prawdziwemu Programiście jakieś środowisko IDE z wbudowanym debuggerem? Przecież najwygodniejszym sposobem jest skompilowanie programu z opcją –g i przejście do gdb. Tam ładnie krok po kroku widzimy jak program działa. Piszemy komendy, które bardzo łatwo zapamiętać i dostajemy to co chcemy na ekranie. Co? Że poprzednia wartość zniknęła z ekranu? Przecież możemy sobie go przesunąć! Mamy też bardzo wygodną historię ostatnio wklepywanych stu dwudziestu pięciu poleceń, dzięki której możemy szybko powtórzyć wcześniej wpisywaną komendę. Możemy też zobaczyć wartość naszej zmiennej — wystarczy tylko wpisać komendę. Oczywiście na bieżąco nie możemy śledzić jej zmian, ale od czego jest historia? Kilka strzałek w górę i już możemy wyświetlić nową zawartość zmiennej. Nie widzimy większego kontekstu kodu źródłowego? Możemy przecież przełączyć się między konsolami… albo wylistować kod w oknie debuggera. Znowu nie widzimy poprzednich wyników? Oj, żaden problem — to tylko 3 ekrany powyżej. A jak komuś się nie podoba, to może sobie w historii poszukać i jeszcze raz wyświetlić to co chce. Które to było polecenie w historii?</p>
<p><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger2/6289/571044212815515/400/vim.gif" border="0" alt="vim"  title="vim" /><br />W dodatku VIM w prosty sposób pozwala na pisanie skryptów, którymi można np. podczepić do niego kompilator. Wystarczy tylko wklepać polecenie. Potem ładnie przełączamy się na kolejną konsolę i odpalamy debuggera. To takie proste i wygodne. A nie jakieś lamerskie wciskanie ctrl+f9 czy innych takich.</p>
<p>Prawdziwy Programista, jeśli czegoś mu potrzeba, sam to sobie napisze. Od podstaw. No bo lamerzy tego nie potrafią i wolą skorzystać z gotowych rozwiązań. A fe! Prawdziwy Programista nie czuje się zmęczony, gdy po kilku dniach i nocach szukania błędów w swoim silniku do wyświetlania scen z lamerskiego 3D Studio, w końcu program je poprawnie wyświetla. W tym czasie Zenek odpoczywa na wakacjach ze swoją dziewczyną. A to lamer! Skorzystał z darmowego gotowca! Prawdziwy Programista nigdy nie będzie sfrustrowany, gdy następnego dnia silnik mu się wysypie. A tam! Najwyżej nie prześpi kolejnej nocy. W końcu tekstowy debugger jest de best!</p>
<p>Na studiach uczą Prawdziwie Programistycznego podejścia. Ansi C to podstawa. Czysta konsola to podstawa. Midnight Commander zabroniony (przecież jest dla lamerów). Ileż radości daje znalezienie jednej niedomkniętej klamry czy też niepostawionego średnika. Student musi znać podstawy. W końcu pracodawca będzie od niego tych podstaw wymagał. Tak jak tworzenia od podstaw pięć tysięcy trzysta sześćdziesiątego szóstego silnika do wyświetlania scen z 3D Studio czy też programu do mnożenia macierzy.</p>
<p>Przejaskrawiam? Tak.</p>
<p><i>Mam nadzieję na jakiekolwiek komentarze <img src='http://blog.blazejczak.eu/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' title="icon wink" /> </i></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blazejczak.eu/2006/11/prawdziwi-programisci/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>CoreEditor</title>
		<link>http://blog.blazejczak.eu/2006/04/coreeditor/</link>
		<comments>http://blog.blazejczak.eu/2006/04/coreeditor/#comments</comments>
		<pubDate>Wed, 12 Apr 2006 11:40:00 +0000</pubDate>
		<dc:creator>EChO</dc:creator>
				<category><![CDATA[Technologia]]></category>
		<category><![CDATA[komputery]]></category>

		<guid isPermaLink="false">http://blog.blazejczak.eu/2006/04/coreeditor/</guid>
		<description><![CDATA[Na pewno część z czytelników tego bloga kojarzy darmowy edytor HTMLa o nazwie EdHTML. Jego autorem jest Binboy — świetny szczycieński programista. Program ten aż do wersji 5.0 był darmowy. Edek od wersji 6.0 miał być napisany od zera. I faktycznie — został napisany od początku, zostało dodanych mnóstwo ficzersów, a program jest na bieżąco [...]]]></description>
			<content:encoded><![CDATA[<p>Na pewno część z czytelników tego bloga kojarzy darmowy edytor HTMLa o nazwie EdHTML. Jego autorem jest Binboy — świetny szczycieński programista. Program ten aż do wersji 5.0 był darmowy. Edek od wersji 6.0 miał być napisany od zera. I faktycznie — został napisany od początku, zostało dodanych mnóstwo ficzersów, a program jest na bieżąco rozwijany. Program jednak zmienił nazwę i został przejęty przez pewną firmę. Nazywa się teraz CoreEditor. Z edytora HTMLa stał się pełnoprawnym edytorem programistycznym. Jego wielką zaletą jest możliwość pisania skryptów, makr czy nawet pluginów do programu, które rozszerzają go praktycznie w nieskończoność. Miałem przyjemność poznać Binboya, a nawet mieszkać z nim w jednym pokoju w akademiku. Teraz zajmuję się tłumaczeniem nowej wersji CE na język angielski. A może uda mi się zostać stałym współpracownikiem tej firmy? <img src='http://blog.blazejczak.eu/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' title="icon smile" /> </p>
<p><a href="http://www.coreeditor.pl">Strona CoreEditora</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.blazejczak.eu/2006/04/coreeditor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
