<?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>Nikola Plejić &#187; (Web) Development</title>
	<atom:link href="http://nikola.plejic.com/blog/category/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://nikola.plejic.com/blog</link>
	<description>Open Source (&#38;) Science</description>
	<lastBuildDate>Thu, 02 Sep 2010 18:47:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>File upload in Clojure &amp; Compojure</title>
		<link>http://nikola.plejic.com/blog/file-upload-in-clojure-compojure/</link>
		<comments>http://nikola.plejic.com/blog/file-upload-in-clojure-compojure/#comments</comments>
		<pubDate>Thu, 02 Sep 2010 18:47:50 +0000</pubDate>
		<dc:creator>Nikola Plejić</dc:creator>
				<category><![CDATA[(Web) Development]]></category>
		<category><![CDATA[English posts]]></category>

		<guid isPermaLink="false">http://nikola.plejic.com/blog/?p=315</guid>
		<description><![CDATA[Compojure is coming to be a really nice framework which is, together with the excellent Enlive templating/transformation library, enough to make this Lisp n00b take a shot at developing a toy project or two in a Lisp dialect. I struggled a bit today to do a file upload: it&#8217;s a relatively recent feature in the framework [...]

<h3>Povezani postovi:</h3>
Nema povezanih postova.]]></description>
			<content:encoded><![CDATA[<p><a href="http://compojure.org/">Compojure</a> is coming to be a really nice framework which is, together with the excellent <a href="http://github.com/cgrand/enlive">Enlive</a> templating/transformation library, enough to make this Lisp n00b take a shot at developing a toy project or two in a Lisp dialect. I struggled a bit today to do a file upload: it&#8217;s a relatively recent feature in the framework and although it&#8217;s pretty straightforward, it took me a while to get it up to speed. Here&#8217;s a really basic and primitive example which assumes you have clojure.contrib, Ring, Compojure and Enlive installed.</p>
<p><span id="more-315"></span></p>
<p>The key step is to wrap your upload handling route with the <code>wrap-multipart-params</code> middleware from the <code>ring.middleware.multipart-params</code> namespace. The route responsible for the file upload is the latter one:</p>

<div class="wp_syntax"><div class="code"><pre class="lisp" style="font-family:monospace;"><span style="color: #66cc66;">&#40;</span>defroutes public-routes
  <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">GET</span> <span style="color: #ff0000;">&quot;/&quot;</span> <span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">&#40;</span>render <span style="color: #66cc66;">&#40;</span>index<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
  <span style="color: #66cc66;">&#40;</span>mp/wrap-multipart-params
    <span style="color: #66cc66;">&#40;</span>POST <span style="color: #ff0000;">&quot;/file&quot;</span> <span style="color: #66cc66;">&#123;</span>params <span style="color: #66cc66;">:</span><span style="color: #555;">params</span><span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#40;</span>upload-file <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">get</span> params <span style="color: #ff0000;">&quot;file&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></pre></div></div>

<p>(<code>file</code> in the <code>(get params "file")</code> call is the name of the <code>input</code> field.)</p>
<p>Next, here&#8217;s the <code>upload-file</code> handler function called by the route which just takes the file and copies it to a file named <code>file.out</code> in the current project directory:</p>

<div class="wp_syntax"><div class="code"><pre class="lisp" style="font-family:monospace;"><span style="color: #66cc66;">&#40;</span>defn upload-file
      <span style="color: #66cc66;">&#91;</span>file<span style="color: #66cc66;">&#93;</span>
      <span style="color: #66cc66;">&#40;</span>ds/copy <span style="color: #66cc66;">&#40;</span>file <span style="color: #66cc66;">:</span><span style="color: #555;">tempfile</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#40;</span>ds/file-str <span style="color: #ff0000;">&quot;file.out&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
      <span style="color: #66cc66;">&#40;</span>render <span style="color: #66cc66;">&#40;</span>upload-success<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></pre></div></div>

<p>(<code>ds</code> is an alias for the <code>clojure.contrib.duck-streams</code> namespace, and <code>render</code> is a function which takes a template and returns its string representation. <code>upload-success</code> is an Enlive template.)</p>
<p>Voila! Not hard at all. Also check out the <a href="http://gist.github.com/562624">gist with complete code and template files</a>.</p>


<h3>Povezani postovi:</h3><p>Nema povezanih postova.</p>]]></content:encoded>
			<wfw:commentRss>http://nikola.plejic.com/blog/file-upload-in-clojure-compojure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(G)Vim: postavljanje opcija u ovisnosti o direktoriju</title>
		<link>http://nikola.plejic.com/blog/gvim-postavljanje-opcija-u-ovisnosti-o-direktoriju/</link>
		<comments>http://nikola.plejic.com/blog/gvim-postavljanje-opcija-u-ovisnosti-o-direktoriju/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 20:58:17 +0000</pubDate>
		<dc:creator>Nikola Plejić</dc:creator>
				<category><![CDATA[(Web) Development]]></category>
		<category><![CDATA[GNU/Linux]]></category>

		<guid isPermaLink="false">http://nikola.plejic.com/blog/?p=274</guid>
		<description><![CDATA[Paralelni rad na nekoliko različitih projekata1 može biti zanimljiv, ali i frustrirajuć ukoliko ti projekti koriste različite konvencije za pisanje koda. Vim spašava stvar sa svojih nekoliko načina za korištenje paralelnih konfiguracija. Svako rješenje ima svojih prednosti, no najjednostavnijim se i najefikasnijim u mojem slučaju pokazalo dodavanje sljedeće linije u ~/.vimrc: au BufRead,BufNewFile /path/do/foldera/* setl [...]

<h3>Povezani postovi:</h3>
Nema povezanih postova.]]></description>
			<content:encoded><![CDATA[<p>Paralelni rad na nekoliko različitih projekata<sup>1</sup> može biti zanimljiv, ali i frustrirajuć ukoliko ti projekti koriste različite konvencije za pisanje koda. Vim spašava stvar sa svojih <a href="http://stackoverflow.com/questions/1889602/multiple-vim-configurations/1889707">nekoliko načina za korištenje paralelnih konfiguracija</a>.<span id="more-274"></span></p>
<p>Svako rješenje ima svojih prednosti, no najjednostavnijim se i najefikasnijim u mojem slučaju pokazalo dodavanje sljedeće linije u ~/.vimrc:</p>

<div class="wp_syntax"><div class="code"><pre class="vim" style="font-family:monospace;">au BufRead,BufNewFile <span style="color: #000000;">/</span>path<span style="color: #000000;">/</span>do<span style="color: #000000;">/</span>foldera<span style="color: #000000;">/*</span> setl noexpandtab</pre></div></div>

<p>Gornji primjer će za sve fileove koji se nalaze unutar foldera /path/do/foldera (i ispod njega) koristiti &#8220;prave&#8221; tabove umjesto spaceova koji su moja defaultna konfiguracija. Hvala, Vim.</p>
<p><sup>1</sup> <i>(&#8220;Paralelni rad na nekoliko različitih projekata&#8221; ujedno i vrlo dobro opisuje razloge radi kojih je ovaj blog mrtav više od pola godine.)</i></p>


<h3>Povezani postovi:</h3><p>Nema povezanih postova.</p>]]></content:encoded>
			<wfw:commentRss>http://nikola.plejic.com/blog/gvim-postavljanje-opcija-u-ovisnosti-o-direktoriju/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xmonad &#8211; recept za produktivno radno okruženje na GNU/Linuxu</title>
		<link>http://nikola.plejic.com/blog/xmonad-recept-za-produktivno-radno-okruzenje-na-gnulinuxu/</link>
		<comments>http://nikola.plejic.com/blog/xmonad-recept-za-produktivno-radno-okruzenje-na-gnulinuxu/#comments</comments>
		<pubDate>Fri, 19 Dec 2008 12:20:31 +0000</pubDate>
		<dc:creator>Nikola Plejić</dc:creator>
				<category><![CDATA[(Web) Development]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[window manager]]></category>
		<category><![CDATA[xmonad]]></category>

		<guid isPermaLink="false">http://nikola.plejic.com/blog/?p=83</guid>
		<description><![CDATA[GNOME, koji je uz KDE najpopularnije desktop okruženje za GNU/Linux, koristim gotovo od samih početaka ozbiljnijeg korištenja Linuxa. Nedavno sam još malo tweakao svoju konfiguraciju i složio vrlo ugodan desktop. Kako sam počeo pratiti Haskell, naletio sam na jedan zanimljiv window manager napisan upravo u njemu &#8211; Xmonad. Xmonad je tzv. &#8217;tiling&#8217; window manager, što [...]

<h3>Povezani postovi:</h3>
Nema povezanih postova.]]></description>
			<content:encoded><![CDATA[<p>GNOME, koji je uz KDE najpopularnije desktop okruženje za GNU/Linux, koristim gotovo od samih početaka ozbiljnijeg korištenja Linuxa. Nedavno sam još malo tweakao svoju konfiguraciju i složio vrlo ugodan desktop. <span id="more-83"></span></p>
<p>Kako sam počeo pratiti Haskell, naletio sam na jedan zanimljiv window manager napisan upravo u njemu &#8211; <a href="http://xmonad.org/">Xmonad</a>. Xmonad je tzv. &#8217;tiling&#8217; window manager, što bi značilo da on sam raspoređuje prozore na vašem desktopu prema konfigurabilnim algoritmima i parametrima.</p>
<p><a rel="lightbox" href="http://nikola.plejic.com/blog/wp-content/uploads/2008/12/xmonad-firefox.png"><img class="size-medium wp-image-98 alignleft" title="xmonad-firefox" src="http://nikola.plejic.com/blog/wp-content/uploads/2008/12/xmonad-firefox-300x187.png" alt="Dva prozora Firefoxa u Xmonadu" width="300" height="187" align="left" /></a> Tiling window manageri nisu ništa novo, no ovo je bio moj prvi susret s njima. Konceptualno mi je cijela stvar izgledala dosta interesantno, te sam ih odlučio i isprobati. Rezultat: krajnje oduševljenje i gotovo potpuna migracija na Xmonad za sve moje potrebe.</p>
<p>Instalacija na Ubuntuu je poprilično jednostavna: <code>sudo apt-get install xmonad</code> instalira najosnovnije potrebne pakete, a da bi povukli sve pakete koji su potrebni za konfiguraciju sličnu mojoj, instalirajte sljedeće: <code>xmonad</code>, <code>libghc6-xmonad-contrib-dev</code>, <code>libghc6-xmonad-dev</code> i <code>dzen2</code>.</p>
<p>Samo pokretanje se može izvršiti na više načina, a onaj kojeg ja koristim je jednostavni one-liner u .xsessionu (<code>echo xmonad &gt; .xsession</code>) i odabir &#8216;Run Xclient script&#8217; prilikom logiranja u GDM-u. Ostali načini su opisani u odličnoj <a href="http://xmonad.org/documentation.html">dokumentaciji</a>. Prije samog Xmonada, dodatno pokrenem i <code>gnome-settings-daemon</code> (treba dodati <code>gnome-settings-daemon &amp;</code> na početak .xsession datoteke), da bi mi GTK aplikacije izgledale prema mojim GNOME postavkama (jer inače izgledaju ružno :)).</p>
<p>Prvi susret nije najugodniji &#8211; dočeka vas apsolutno prazan ekran, a miš ne odgovara ni na što drugo osim micanja po ekranu. Kombinacija <code>ALT+Shift+Enter</code> otvara terminal, a ukoliko ste instalirali dzen2, <code>ALT+P</code> će vam otvoriti <code>dmenu</code>, vrlo jednostavan i minimalističan launcher. Tipkanjem prvih par znakova imena aplikacije (npr. &#8216;fire&#8217; za Firefox) i pritiskom na Enter nakon odabira pokrećete aplikaciju.</p>
<p><a rel="lightbox" href="http://nikola.plejic.com/blog/wp-content/uploads/2008/12/xmonad-pidgin.png"><img class="size-medium wp-image-104" style="margin-left: 5px;" title="xmonad-pidgin" src="http://nikola.plejic.com/blog/wp-content/uploads/2008/12/xmonad-pidgin-300x187.png" alt="Pidgin, IM klijent za GNU/Linux, na odvojenom virtualnom desktopu u Xmonadu" width="300" height="187" align="right" /></a> Kombinacijom <code>ALT+1</code> do <code>ALT+9</code> se prebacujete između devet virtualnih desktopa. Ukoliko otvorite više od jednog prozora na jednom virtualnom desktopu (npr. dva prozora Firefoxa), vidjet ćete stvarnu moć Xmonada&#8211;automatski dijeli prozore za maksimalnu iskoristivost desktopa. Između raznih tiling algoritama se prebacujete kombinacijom ALT+Space. Ostale kombinacije tipki za raznoraznu manipulaciju prozorima su opisane u kratkom i informativnom Xmonad <a href="http://xmonad.org/tour.html">tutorialu</a>.</p>
<p>Samo prilagođavanje Xmonada se vrši preko datoteke ~/.xmonad/xmonad.hs koja je obična Haskell source datoteka. Poznavanje Haskella za konfiguraciju nije potrebno, s obzirom da na službenim stranicama ima <a href="http://haskell.org/haskellwiki/Xmonad/Config_archive">nekoliko primjera</a> raznih konfiguracija koje nije teško prilagoditi vlastitim potrebama. Nakon editiranja xmonad.hs datoteke, dovoljno je pritisnuti ALT+q za reload konfiguracije bez resetiranja Xmonada.</p>
<p>S obzirom da Xmonad sam po sebi nema nikakvog status bara, nije moguće saznati na kojem ste  virtualnom desktopu i koji prozor gledate. Ovo posljednje je posebno neugodno, budući da po defaultu ne vidite tzv. ukrase za prozore (tj. title bar). U Xmonadu su uobičajena dva status bara: dzen2 (kojeg ste već vjerojatno instalirali radi dmenu launchera) i Xmobar. U trenutku konfiguracije, dzen2 mi je bio lagano prekompleksan za proučavanje, pa sam odabrao Xmobar koji mi služi sasvim dobro. U Ubuntu repozitorijima ga nema, pa ćete ga morati kompajlirati sami&#8211;potreban vam je Haskell kompajler (GHC je u repozitorijima) i Xmobar source kojeg, zajedno s uputama, možete naći na <a href="http://code.haskell.org/%7Earossato/xmobar/">službenim stranicama</a>.</p>
<p>Moja konfiguracija se nalazi <a href="http://nikola.plejic.com/dotfiles/xmonad.hs">ovdje</a>&#8211;ono što je drugačije od defaultne je:</p>
<ul>
<li>Remapiranje &#8216;modifier&#8217; tipke (po defaultu gore spominjani ALT) u Win tipku, da bi se izbjegli konflikti s drugim aplikacijama koje koriste slične shortcute.</li>
<li>Firefox, Gnome-Terminal, Pidgin, Rhythmbox, Liferea (RSS reader) i Nautilus se otvaraju na za to predviđenim virtualnim desktopima, koji su adekvatno preimenovani za tu svrhu.</li>
<li>Xmobar, vrlo jednostavan i konfigurabilan status bar, se pokreće zajedno s Xmonadom i uzima informacije o virtualnim desktopima, imenu trenutnog prozora i tiling algoritmu. Također, nevezano uz Xmonad, pokazuje trenutno zauzeće memorije, procesorskog vremena, stanje baterije i mreže te datum i vrijeme. Moja konfiguracijska datoteka se nalazi <a href="http://nikola.plejic.com/dotfiles/.xmobar">ovdje</a>.</li>
<li>Print screen tipka pokreće <a href="http://linuxbrit.co.uk/scrot/">scrot</a>, mali programčić za uzimanje screenshotova.</li>
<li>Win+CTRL+X otvara Xmonadov launcher koji je vizualno ugodniji od dzenovog.</li>
</ul>
<p><a rel="lightbox" href="http://nikola.plejic.com/blog/wp-content/uploads/2008/12/xmonad-gvim.png"><img class="size-medium wp-image-108" style="text-align: center;" title="xmonad-gvim" src="http://nikola.plejic.com/blog/wp-content/uploads/2008/12/xmonad-gvim-300x187.png" alt="GVim u Xmonadu s Gnome-Terminalom" width="300" height="187" align="left" /></a> Ukoliko vam nedostaje panel i popis prozora koje trenutno imate otvorene, možete koristiti Gnome-Panel ili instalirati neki alternativni. Pokretanje panela je analogno pokretanju gnome-settings-daemona, opisanog gore.</p>
<p>Vrijedi napomenuti da Xmonad odlično radi u kombinaciji s <a href="http://vimperator.org/trac/wiki/Vimperator">Vimperatorom</a>, pluginom koji Firefox pretvara u browser koji se ponaša i funkcionira kao i svima omiljeni editor Vim. Vimperator dodatno smanjuje potrebu za korištenjem miša, što ovisno o vašoj volji za navikavanjem, može ubrzati rad s browserom.</p>
<p>Xmonad, a i tiling window manageri općenito, definitivno nisu za svakoga&#8211;niti izgledaju pretjerano lijepo, niti imaju jednostavan learning curve&#8211;no Xmonad svoj posao radi odlično i nevjerojatno stabilno i brzo. Svakako isprobati.</p>


<h3>Povezani postovi:</h3><p>Nema povezanih postova.</p>]]></content:encoded>
			<wfw:commentRss>http://nikola.plejic.com/blog/xmonad-recept-za-produktivno-radno-okruzenje-na-gnulinuxu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Creative Commons knjige o informatici i programiranju</title>
		<link>http://nikola.plejic.com/blog/creative-commons-knjige-o-informatici-i-programiranju/</link>
		<comments>http://nikola.plejic.com/blog/creative-commons-knjige-o-informatici-i-programiranju/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 10:34:45 +0000</pubDate>
		<dc:creator>Nikola Plejić</dc:creator>
				<category><![CDATA[(Web) Development]]></category>
		<category><![CDATA[creative commons]]></category>
		<category><![CDATA[funkcionalno programiranje]]></category>
		<category><![CDATA[knjige]]></category>
		<category><![CDATA[programiranje]]></category>

		<guid isPermaLink="false">http://nikola.plejic.com/blog/?p=56</guid>
		<description><![CDATA[Na internetu je moguće pronaći mnoštvo tutoriala o širokom spektru tema iz informatike, no rijetko što može zamijeniti dobru knjigu. S druge strane, knjige mogu biti (pre)skupe i vrlo teško dostupne, pogotovo ako nemate luksuz posjedovanja kreditne kartice za online kupovinu. Zahvaljujući dobroj volji autora (i izdavača), neke su od knjiga koje se smatraju klasicima [...]

<h3>Povezani postovi:</h3>
Nema povezanih postova.]]></description>
			<content:encoded><![CDATA[<p>Na internetu je moguće pronaći mnoštvo tutoriala o širokom spektru tema iz informatike, no rijetko što može zamijeniti dobru knjigu. S druge strane, knjige mogu biti (pre)skupe i vrlo teško dostupne, pogotovo ako nemate luksuz posjedovanja kreditne kartice za online kupovinu.</p>
<p>Zahvaljujući dobroj volji autora (i izdavača), neke su od knjiga koje se smatraju klasicima literature iz područja informatike i programiranja dostupne besplatno, a ponekad i pod vrlo liberalnim licencama. Donosim tri takve: dvije <em>hardcore</em> programerske i jednu pravno-filozofsku.<span id="more-56"></span></p>
<h3><a href="http://mitpress.mit.edu/sicp/full-text/book/book.html">Abelson &amp; Sussman: Structure and Interpretation of Computer Programs</a></h3>
<p>Tzv. <em>wizard book</em> (po čarobnjaku na naslovnoj stranici) je definitivno jedan od <em>the</em> udžbenika iz programiranja po kojemu su uvodne kolegije iz programiranja učile generacije na <a href="http://www.mit.edu/">MIT</a>-ju. Koristeći Scheme (dijalekt Lispa), objašnjava temeljne koncepte iz računalnih znanosti, npr. apstrakciju i rekurziju.</p>
<p>U <a href="http://nikola.plejic.com/blog/linkdump-funkcionalno-programiranje-u-pythonu-uvod-u-haskell/">jednom</a> od prethodnih linkdumpova sam objavio i link na video zapise Abelsonovih i Sussmanovih predavanja koja, nažalost, slijede prvo izdanje knjige. Autori napominju da će predavanja biti korisna i vlasnicima drugog izdanja.</p>
<p>Knjiga je objavljena pod <a href="http://creativecommons.org/licenses/by-nc/3.0/">Creative Commons Attribution-Noncommercial 3.0</a> licencom, čime je dopušteno nesmetano modificiranje i distribuiranje rada za nekomercijalnu uporabu, uz navođenje izvornih autora.</p>
<h3><a href="http://thinking-forth.sourceforge.net/">Leo Brodie: Thinking Forth</a></h3>
<p>Još jedna knjiga koja se smatra klasikom—možda u manjoj mjeri od prethodne, što vjerojatno duguje opskurnijem jeziku za kojeg je napisana. No, principi koje objašnjava su univerzalni i neki od njih su nedavno ponovno otkriveni u tzv. eXtreme Programming paradigmi.</p>
<p>Podnaslov knjige je <em>A Language and Philosophy for Solving Problems</em>, i bavi se upravo time—dizajnom, analizom i implementacijom rješenja problema. Uz smiješne ilustracije i puno humora, vrlo detaljno opisuje razvoj programa, ali i neke stvari koje se u ovakvoj knjizi ne očekuju, npr. odnos s klijentima.</p>
<p>Knjiga je skenirana, OCR-ana, obrađena u LaTeXu i objavljena pod <a href="http://creativecommons.org/licenses/by-nc-sa/2.0/">Creative Commons Attribution-Noncommercial-Share Alike 2.0</a> licencom.</p>
<h3><a href="http://www.free-culture.cc/freecontent/">Lawrence Lessig: Free Culture</a></h3>
<p>Iako nije direktno povezana s programiranjem, s informatikom definitivno jest. Lawrence Lessig je jedan od osnivača <a href="http://creativecommons.org/">Creative Commonsa</a>, organizacije koja je &#8216;izmislila&#8217; licence pod kojima su gore navedene knjige izdane.</p>
<p>U ovoj se knjizi Lessig bavi copyrightom, intelektualnim vlasništvom i ostalim stvarima za koje nas &#8216;digitalno doba&#8217; tjera na razmišljanje i redefiniranje. Dostupna je pod <a href="http://creativecommons.org/licenses/by-nc/1.0/">Creative Commons Attribution-Noncommercial 1.0</a> licencom.</p>
<p>Ove tri knjige bi vas u svakom slučaju trebale držati zauzetim neko vrijeme. Ukoliko sam propustio neku vrijednu spomena, svakako mi javite u komentarima.</p>


<h3>Povezani postovi:</h3><p>Nema povezanih postova.</p>]]></content:encoded>
			<wfw:commentRss>http://nikola.plejic.com/blog/creative-commons-knjige-o-informatici-i-programiranju/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Zašto neki developeri misle da su pametniji od drugih</title>
		<link>http://nikola.plejic.com/blog/zasto-neki-developeri-misle-da-su-pametniji-od-drugih/</link>
		<comments>http://nikola.plejic.com/blog/zasto-neki-developeri-misle-da-su-pametniji-od-drugih/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 08:01:22 +0000</pubDate>
		<dc:creator>Nikola Plejić</dc:creator>
				<category><![CDATA[(Web) Development]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[edukacija]]></category>
		<category><![CDATA[programiranje]]></category>

		<guid isPermaLink="false">http://nikola.plejic.com/blog/?p=25</guid>
		<description><![CDATA[Relativno sam nedavno na Redditu pronašao interesantan dokument pod nazivom Programmer Competency Matrix. Par dana nakon toga sam se ponovno sjetio dotičnog i &#8211; zaboravivši link &#8211; krenuo u potragu na Googleu. Usput sam naletio na nekoliko članaka na blogovima koji komentiraju tablicu, od kojih mi je jedan posebno zapeo za oko. Autor, naime, opravdava [...]

<h3>Povezani postovi:</h3>
Nema povezanih postova.]]></description>
			<content:encoded><![CDATA[<p>Relativno sam nedavno na Redditu pronašao interesantan dokument pod nazivom <a href="http://www.indiangeek.net/wp-content/uploads/Programmer%20competency%20matrix.htm">Programmer Competency Matrix</a>. Par dana nakon toga sam se ponovno sjetio dotičnog i &#8211; zaboravivši link &#8211; krenuo u potragu na Googleu. Usput sam naletio na nekoliko članaka na blogovima koji komentiraju tablicu, od kojih mi je <a href="http://gadgetopia.com/post/6452">jedan</a> posebno zapeo za oko.<span id="more-25"></span></p>
<p>Autor, naime, opravdava svoj nezadovoljavajući uspjeh na &#8220;testu&#8221; činjenicom da je on web developer, dok je tablica dizajnirana za <em>čiste programere</em>. Ne ulazeći u semantiku pojma &#8220;čisti programer&#8221; (koja mi nikako nije jasna), stav članka me izrazito iznenadio. Imam osjećaj kao da autor smatra da je njegovo neznanje sasvim prirodno i opravdano samo zato jer se on bavi &#8211; webom.</p>
<p>Zadnji put kad sam ja provjeravao, svi smo mi pisali <strong>programe</strong>. I web i offline aplikacije ovise o gotovo identičnim resursima &#8211; obje koriste CPU vrijeme, memoriju i prostor na disku. I u web aplikacijama se podaci mogu provlačiti kroz kompleksne algoritme kod kojih je itekako bitna potrošnja tih resursa.</p>
<p>Svakako, neke od stvari navedenih u tablici nisu <em>neophodne</em> prosječnom web developeru. Čemu onda sve to? Dublje (teorijsko) poznavanje područja kojim se bavite nerijetko nagrađuje mnogim stvarima koje možete primijeniti u praksi i razumijevanjem stvari koje već primjenjujete. Uostalom, <a href="http://www.joelonsoftware.com/">Joel</a> je o potrebi poznavanja low-level stvari pisao već <a href="http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html">nekoliko</a> <a href="http://www.joelonsoftware.com/articles/fog0000000319.html">puta</a> i sve to objasnio puno bolje od mene.</p>
<p>U proteklih tjedan-dva sam pročitao nekoliko <a href="http://itmanagement.earthweb.com/entdev/article.php/11070_3761921_1">članaka</a> u kojima se na web development gleda s visoka, kao na manje vrijedan dio programiranja (link samo na jedan jer sam ostale zaboravio bookmarkirati &#8211; tko prati <a href="http://www.reddit.com/">Reddit</a> i <a href="http://www.dzone.com/">DZone</a> će se sigurno sjetiti još pokojeg). Stavovi slični onima u gore navedenom postu autorima tih članaka sigurno nisu odmogli u formiranju takvog mišljenja.</p>


<h3>Povezani postovi:</h3><p>Nema povezanih postova.</p>]]></content:encoded>
			<wfw:commentRss>http://nikola.plejic.com/blog/zasto-neki-developeri-misle-da-su-pametniji-od-drugih/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Programiranje i informatika &#8211; Je li fakultet potreban?</title>
		<link>http://nikola.plejic.com/blog/programiranje-i-informatika-je-li-fakultet-potreban/</link>
		<comments>http://nikola.plejic.com/blog/programiranje-i-informatika-je-li-fakultet-potreban/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 12:40:36 +0000</pubDate>
		<dc:creator>Nikola Plejić</dc:creator>
				<category><![CDATA[(Web) Development]]></category>
		<category><![CDATA[fakultet]]></category>
		<category><![CDATA[obrazovanje]]></category>
		<category><![CDATA[programiranje]]></category>

		<guid isPermaLink="false">http://nikola.plejic.com/blog/?p=6</guid>
		<description><![CDATA[U posljednje vrijeme po raznim forumima relativno često naletim na thread gdje mladi (budući) developeri razmišljaju o odabiru srednje škole ili fakulteta. S obzirom da nerijetko dobivam takva pitanja od svojih poznanika, a u sličnoj situaciji sam nedavno bio i sam, imao sam prilike dugo i intenzivno razmišljati o toj temi. Prosječan razgovor s dotičnom [...]

<h3>Povezani postovi:</h3>
Nema povezanih postova.]]></description>
			<content:encoded><![CDATA[<p>U posljednje vrijeme po raznim forumima relativno često naletim na thread gdje mladi (budući) developeri razmišljaju o odabiru srednje škole ili fakulteta. S obzirom da nerijetko dobivam takva pitanja od svojih poznanika, a u sličnoj situaciji sam nedavno bio i sam, imao sam prilike dugo i intenzivno razmišljati o toj temi. Prosječan razgovor s dotičnom žrtvom sada izgleda nekako ovako.<span id="more-6"></span></p>
<h3>Želite li programirati?</h3>
<p><img class="alignright size-medium wp-image-8" style="float: right;" title="sxc_progfaksevi02" src="http://nikola.plejic.com/blog/wp-content/uploads/2008/07/sxc_progfaksevi02.jpg" alt="" width="250" height="188" />Prvo što savjetujem svima je da dobro razmisle je li programiranje nešto s čime se žele baviti do kraja života. Programiranje može biti vrlo zabavno, no pojam zabave jednog četrnaestogodišnjaka i dvadesetpetogodišnjaka zasigurno nije identičan.</p>
<p>Naravno, očekivati od osnovnoškolca (pa čak i ponekog maturanta) da pokuša zamisliti bi li ga/ju dotični posao ispunjavao u srednjim godinama je nerealno, ali svatko s malo iskustva u ovom području mu/joj može dati okvirnu sliku nekakvog prosječnog posla u IT sektoru.</p>
<h3>Fakultet možda nije bitan, ali&#8230;</h3>
<p>Nadalje, naglasim da formalno obrazovanje u ovom području ljudske djelatnosti na kraju krajeva i nije toliko bitno. Profil ljudi koje sam imao prilike upoznati, a koji se profesionalno bave webom i programiranjem općenito je impresivno raznolik: tu ima sociologa, matematičara, fizičara, fitness trenera, filozofa, informatologa, elektrotehničara (visokog i srednjeg stupnja obrazovanja), ekonoma&#8230;</p>
<p>U biti, puno je lakše navesti struke koje nisam susreo tijekom proteklih nekoliko godina &#8211; veterinari mi prvi padaju napamet, ali sam siguran da ćete me ubrzo razuvjeriti.</p>
<p>Nakon početnog šoka &#8220;pa u biti taj fakultet ti baš i nije tol&#8217;ko bitan&#8221; stavom, ravnotežu u svemiru održi činjenica da je, bez obzira na faks, potrebno uložiti puno (ovo obično izrazito naglasim i popratim grotesknim gestama čime pokušavam naglasiti koliko je puno to &#8220;puno&#8221;) <em>ex privata diligentia</em> rada na vlastitom skupu vještina koji, naravno, ovisi u području u koje se predmet ove rasprave želi usmjeriti (web, desktop, znanost&#8230;).</p>
<h3>Hrvatski fakulteti za programere</h3>
<p>Oni koji prežive do ovog trenutka i ustraju u razgovoru, ovdje obično zahtijevaju neku konačnu preporuku srednje škole ili fakulteta, unatoč mom silnom trudu da konačni odgovor izbjegnem i &#8220;brigo moja prijeđi na drugoga&#8221; metodom taj savjet prepustim nekome drugom.</p>
<p>Što se srednje škole tiče, tu obično preporučim neku gimnaziju &#8211; ne nužno prirodoslovno-matematičku, iako ta jest najprirodnije usmjerenje u ovom slučaju. Gimnazija, koliko god nepraktična bila, ipak koliko-toliko drži ljude podalje od nekog fah-idiotizma i fah-elitizma, a nudi dovoljno prostora za manevriranje i ako se početno usmjerenje promaši.</p>
<p>Moj izbor fakulteta je sljedeći, i to ovim redoslijedom:</p>
<ol>
<li><a href="http://www.math.hr/Default.aspx?art=2011&amp;sec=297">Matematika i računarstvo</a> na <a href="http://www.math.hr/Default.aspx">Matematičkom odjelu</a> <a href="http://www.pmf.hr/">Prirodoslovno-matematičkog fakulteta</a> u Zagrebu</li>
<li><a href="http://www.fer.hr/diplomski_studij/rac">Računarstvo</a> na <a href="http://www.fer.hr/">Fakultetu elektrotehnike i računarstva</a> u Zagrebu (kroz neki od ponuđenih profila)</li>
<li><a href="http://www.foi.hr/studiji/ipi.html">Informacijsko i programsko inženjerstvo</a> na <a href="http://www.foi.hr/index.html">Fakultetu organizacije i informatike</a> u Varaždinu</li>
<li><a href="http://informatika.tvz.hr/">Informatika</a> na <a href="http://www.tvz.hr/">Tehničkom veleučilištu</a> u Zagrebu</li>
</ol>
<p>N.B. da su svi gornji studiji, izuzev zadnjeg, diplomski (onih +2 u 3+2 &#8220;bolonjskom&#8221; sustavu). Prijedlozi pod brojevima 2, 3 i 4 su poprilično očiti i vjerujem da ih ne treba dodatno pojašnjavati. To je ono što otprilike svatko tko dođe po savjet želi čuti, i ono što sam zna.</p>
<p>Na prvi navedeni prijedlog se većina zgnuša, ili ga šutke zanemari. No, nakon dvije godine na PMF-u (doduše, na <a href="http://www.phy.hr/">drugom odsjeku</a>) smatram da je to fakultet koji može oblikovati stvarno kvalitetnog developera.</p>
<p>Program na Matematičkom odsjeku mi se čini jako kvalitetnim, a stečeno znanje matematike je nešto što se nikako ne smije podcijeniti. Također, matematika je osnova svih informacijskih znanosti i poznavanje te (subjektivno, predivne) znanosti osobi koja se planira baviti programiranjem nikako neće biti na odmet.</p>
<h3>﻿<span style="font-size: small;">Koju srednju školu / fakultet odabrati?</span></h3>
<p><img class="alignleft alignnone size-medium wp-image-7" style="float: left;" title="sxc_progfaksevi01" src="http://nikola.plejic.com/blog/wp-content/uploads/2008/07/sxc_progfaksevi01.jpg" alt="" width="250" height="214" />Odabir dobre srednje škole i fakulteta je svakako nešto što budućem developeru može pomoći, no nikako nije presudno. U zadnje vrijeme sam svjedok sve većem broju ljudi koji su inače jako dobri u ovom području, a biraju srednje škole i fakultete koji nisu nužno vezani uz informatiku.</p>
<p>Razloga je mnogo &#8211; neki od njih stvarno žele graditi karijeru u nekom drugom području, neke izrazito zanima &#8220;taj drugi&#8221; fakultet i smatraju da i uz to mogu ostati konkurentni kao developeri, neki žele imati plan B u slučaju da im se ovaj posao zgadi, propadne i sl.</p>
<p>Iz moje perspektive, to nikako nije loša praksa. Činjenica je da, i uz fakultet vezan uz informacijske znanosti, treba mnogo raditi na vlastitom skillsetu; ja još čekam na obrazovnu ustanovu koja će osobu pripremiti na situacije s kojima se prosječan developer svakodnevno susreće u &#8220;stvarnom svijetu&#8221;.</p>
<h3>Iz komentara</h3>
<p>Komentatori su mi skrenuli pozornost na dva članka koja se bave sličnom problematikom. Jedan je članak <a href="http://www.softwave.info/">Berislava Lopca</a>, pod nazivom <a href="http://www.softwave.info/business/kodiranje-i-obrazovanje/">Kodiranje i obrazovanje</a>, a drugi <a href="http://snaxors.com/blog">Tonija Aničića</a> <a href="http://snaxors.com/blog/koji-fakultet-skolu-tecaj-da-zavrsim-ako-zelim-raditi-web-stranice/">Koji fakultet / školu / tečaj da završim ako želim raditi web stranice?</a>. Oba su popraćena interesantnim raspravama koje svakako vrijedi pročitati.</p>
<p>Ukoliko vas programiranje toliko ne zanima i više ste marketinški tip, Mario Frančešević donosi <a href="http://www.seekandhit.com/blog/opcenito/koja-znanja-treba-imati-internet-marketing-strucnjak/">pregled vještina</a> koje osoba koja se planira baviti internet marketingom. Mario je u komentarima također poslao link na interesantan članak iz Wall Street Journala pod nazivom <a href="http://online.wsj.com/article/SB121858688764535107.html?mod=rss_Today%27s_Most_Popular">For Most People, College Is a Waste of Time</a>.</p>
<p>Također, u <a href="http://nikola.plejic.com/blog/programiranje-i-informatika-je-li-fakultet-potreban/#comments">komentarima</a> možete pročitati i iskustva nekih ljudi koji su kroz fakultet (ili njegov nedostatak) već prošli, pa skoknite do tamo, pročitajte što kažu i pridružite se raspravi.</p>


<h3>Povezani postovi:</h3><p>Nema povezanih postova.</p>]]></content:encoded>
			<wfw:commentRss>http://nikola.plejic.com/blog/programiranje-i-informatika-je-li-fakultet-potreban/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
	</channel>
</rss>
