<?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>Verteksi &#187; vinkit</title>
	<atom:link href="http://verteksi.net/soks/aihe/vinkit/feed/" rel="self" type="application/rss+xml" />
	<link>http://verteksi.net</link>
	<description>Se on kiva sillo</description>
	<lastBuildDate>Sun, 05 Feb 2012 15:16:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Muutamia LaTeX-vinkkejä</title>
		<link>http://verteksi.net/soks/2009/06/14/muutamia-latex-vinkkeja/</link>
		<comments>http://verteksi.net/soks/2009/06/14/muutamia-latex-vinkkeja/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 12:02:32 +0000</pubDate>
		<dc:creator>Marko</dc:creator>
				<category><![CDATA[how-to]]></category>
		<category><![CDATA[latex]]></category>
		<category><![CDATA[vinkit]]></category>

		<guid isPermaLink="false">http://verteksi.net/?p=1856</guid>
		<description><![CDATA[<p>LaTeXilla kirjoittaminen ei ole kovinkaan yksinkertaista, jos tekstin lisäksi haluaa myös hieman erikoisempia rakenteita tai kuvia. Onneksi Internetistä löytyy paljon ohjeita ja yksi hyvä lähde on <a href="http://www.ctan.org/tex-archive/info/lshort/finnish/" class="liexternal">”Pitkänpuoleinen johdanto LaTeXinkäyttöön: Eli opi LATEX 2ε 133 minuutissa”</a> (<a href="http://www.ctan.org/tex-archive/info/lshort/finnish/lyhyt2e.pdf" class="lipdf">pdf</a>). </p>
<p>Helpointa LaTeXin lähestyminen on käyttämällä jotain valmista dokumenttipohjaa kuten <a href="/files/thesis-latex-template_lpr_en.zip" class="lizip">Tapio Leppälammen Thesis-pohjaa (zip, 23KB)</a> tai <a href="http://www.niksula.cs.hut.fi/~mthamala/thesis/template/" class="liexternal">Mikko Hämäläisen Thesis -pohjaa</a>.&#8230; <a href="http://verteksi.net/soks/2009/06/14/muutamia-latex-vinkkeja/" class="read_more">Jatka lukemista <span class=\\\"meta-nav\\\">&#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>LaTeXilla kirjoittaminen ei ole kovinkaan yksinkertaista, jos tekstin lisäksi haluaa myös hieman erikoisempia rakenteita tai kuvia. Onneksi Internetistä löytyy paljon ohjeita ja yksi hyvä lähde on <a href="http://www.ctan.org/tex-archive/info/lshort/finnish/" class="liexternal">”Pitkänpuoleinen johdanto LaTeXinkäyttöön: Eli opi LATEX 2ε 133 minuutissa”</a> (<a href="http://www.ctan.org/tex-archive/info/lshort/finnish/lyhyt2e.pdf" class="lipdf">pdf</a>). </p>
<p>Helpointa LaTeXin lähestyminen on käyttämällä jotain valmista dokumenttipohjaa kuten <a href="/files/thesis-latex-template_lpr_en.zip" class="lizip">Tapio Leppälammen Thesis-pohjaa (zip, 23KB)</a> tai <a href="http://www.niksula.cs.hut.fi/~mthamala/thesis/template/" class="liexternal">Mikko Hämäläisen Thesis -pohjaa</a>. Mallipohjista voi katsella eri menetelmiä toteuttaa asioita ja soveltaa omiin tarpeisiinsa. Etenkin Leppälammen mallipohjassa on hyvin käsitelty eri asioiden toimivuutta LaTeXissa, vaikkakin lähtökohta on matemaattispainotteiseen dokumenttiin.</p>
<p>Tässä muutamia vinkkejä, jotka ovat itsellä tulleet eteen. Lista täydentynee, kun ongelmakohtia ilmenee.</p>
<p><strong>Kuvien liittäminen dokumenttiin</strong><br />
<a href="http://en.wikibooks.org/wiki/LaTeX/Importing_Graphics" class="liexternal">Kuvien liittäminen LaTeX-dokumenttiin</a> ei ole niin yksinkertaista kuin mitä sen haluaisi olla. LaTeX osaa helposti käsitellä eps-formaatissa olevia kuvia, mutta kaikkia kuvia ei ole järkevää muuntaa eps-muotoon. </p>
<p>Kuvia voidaan liittää onneksi myös muissa formaateissa, kun dokumentti käännetään PDFLatexilla, joka syö tutumpia PNG, JPG ja PDF -tiedostoja. Tämä onnistuu määrittelemällä grafiikat <code>\usepackage[pdftex]{graphicx}</code> -pakettikomennolla. Tämän jälkeen ei tosin Latexilla kääntö enää onnistu, eli DVI ja PS -muotoiset dokumentit jäävät saamatta, mutta koska PDFLatex tuottaa lopputuloksena PDF:iä, ei muita formaatteja tarvitakaan.</p>
<p>Lyhyesti sanottuna, kuvan liittäminen dokumenttiin onnistuu <code>\includegraphics[scale=0.8]{kuvahakemisto/kuva}</code> -komennolla, jossa voi lisäksi määritellä esimerkiksi skaalauksen <em>scale</em>-parametrillä. Skaalausta voi myös tehdä sisällyttämällä kuvan <code>\scalebox{0.8}{}</code> -laatikkoon.</p>
<p>Kuvien sijoittuminen dokumentissa onkin sitten aivan toinen asia. Hyvänä sääntönä voi kuitenkin pitää, että kuva ei ainakaan tule siihen kohtaan, johon sen haluaisit. Asiaan on opastettu hyvin ”Pitkänpuoleinen johdanto LaTeXin käyttöön&#8221; -oppaassa.</p>
<p><strong>Taulukot</strong><br />
Taulukoidenkin kanssa joutuu hieman askartelemaan ja taiteilemaan, joten kannattaa lukaista ohje <a href="http://en.wikibooks.org/wiki/LaTeX/Tables" class="liexternal">Wikibooksin LaTeX-kirjasta</a>.</p>
<p><strong>Kaavioiden otsikot ja viittaukset</strong><br />
Taulukoiden, kaavioiden ja kuvien yhteydessä, on dokumentteihin hyvä lisätä myös otsikkoteksti ja viittauskenttä. Kaavio merkitään <code>\begin{figure}</code> -alueen sisälle ja lisätään otsikkoa varten <code>\caption{}</code> -merkintä ja viittaukseen <code>\label{}</code> -merkintä. Nyt haluttuun kaavioon voi viitata tekstissä <code>\ref{fig:kaavio}</code> -merkinnällä, joka lisää tekstiin kaavion numeron. (<a href="http://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions" class="liexternal">LaTeX/Floats, Figures and Captions</a>)</p>
<pre>
\begin{figure}[!h]
	\includegraphics{kuvahakemisto/kuva}
\caption{Kaavion otsikkoteksti}
\label{fig:kaavio}
\end{figure}
</pre>
<p><strong>Usean rivin kommentti:</strong><br />
Tekstin jättäminen kommentiksi dokumenttiin onnistuu lisäämällä rivin eteen % -merkki tai merkitsemällä teksti comment-alueeksi. Komento löytyy <code>\usepackage{verbatim}</code> -paketista.</p>
<pre>
\begin{comment}
Lorem ipsum
Dolor sit
\end{comment}
</pre>
<p><strong>Viitteet</strong><br />
Viittausten hallinta on LaTeXissa hoidettu kätevästi ja siitä kannattaa lukea <a href="http://en.wikibooks.org/wiki/LaTeX/Bibliography_Management" class="liexternal">Wikibooksin LaTeX-teoksen viite-osiosta</a>. Kaikki viitteet saa tulostumaan käyttämällä <code>\nocite{*}</code> -merkintää.</p>
<p><strong>UTF-8 -merkistöllä kirjoittamista</strong> varten määritellään tekstin enkoodaus seuraavasti:</p>
<pre>
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
</pre>
<p>Kuitenkin, jos aikoo kirjoittaa dokumenttia eri alustoilla, etenkin myös Windowsilla, kannattaa tyytyä suosiolla perinteiseen Latin1 (ISO 8859-1) -merkistöön.</p>
]]></content:encoded>
			<wfw:commentRss>http://verteksi.net/soks/2009/06/14/muutamia-latex-vinkkeja/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mac OS X:n Terminal -ohjelman asetukset kuntoon</title>
		<link>http://verteksi.net/soks/2009/03/04/mac-os-xn-terminal-ohjelman-asetukset-kuntoon/</link>
		<comments>http://verteksi.net/soks/2009/03/04/mac-os-xn-terminal-ohjelman-asetukset-kuntoon/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 19:06:39 +0000</pubDate>
		<dc:creator>Marko</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[ohjelmistot]]></category>
		<category><![CDATA[vinkit]]></category>

		<guid isPermaLink="false">http://verteksi.net/soks/?p=1446</guid>
		<description><![CDATA[<p>Kuvittelisi, että Mac OS X:ssä Terminaalin käyttäminen olisi yksinkertaista, mutta todellisuus on tarua ihmeellisempää. Terminaali vaatii hieman rakkautta, etenkin jos on tottunut tekemään asiat jossain muussa käyttöjärjestelmässä, kuten esimerkiksi Linuxissa. Tässä siis muutamia vinkkejä, joilla OS X:n Terminalin (suom. Pääte) asetuksia voi viritellä. Oletuksena on, että käytössä on OS X Leopard ja shellinä bash (oletus).</p>
<h3>Backspace ja delete</h3>
<p>Valitse Terminal-valikosta Preferences ja Settings-välilehden alta Keyboard-välilehti.&#8230; <a href="http://verteksi.net/soks/2009/03/04/mac-os-xn-terminal-ohjelman-asetukset-kuntoon/" class="read_more">Jatka lukemista <span class=\\\"meta-nav\\\">&#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>Kuvittelisi, että Mac OS X:ssä Terminaalin käyttäminen olisi yksinkertaista, mutta todellisuus on tarua ihmeellisempää. Terminaali vaatii hieman rakkautta, etenkin jos on tottunut tekemään asiat jossain muussa käyttöjärjestelmässä, kuten esimerkiksi Linuxissa. Tässä siis muutamia vinkkejä, joilla OS X:n Terminalin (suom. Pääte) asetuksia voi viritellä. Oletuksena on, että käytössä on OS X Leopard ja shellinä bash (oletus).</p>
<h3>Backspace ja delete</h3>
<p>Valitse Terminal-valikosta Preferences ja Settings-välilehden alta Keyboard-välilehti. Jos Key Mappingseissa ei kohdassa <em>del (forward delete)</em> ole arvoa <code>\033}3~</code> niin lisää kenttään tuo arvo (send string to shell).</p>
<p>Mene <em>&#8220;Advanced&#8221;</em> -välilehdelle ja ota rasti pois kohdasta <em>&#8220;Delete sends Ctrl-H&#8221;</em>.</p>
<p>Jos Backspace ei toimi Terminaalin kautta otettaessa yhteyttä Linux-koneeseen, lisää käyttäjän kotihakemistossa (~/) sijaitsevaan <em>~/.bashrc</em> -tiedostoon seuraava rivi: <code>export TERM=xterm</code>. Ota asetukset käyttöön komennoilla <code>source ~/.bash_profile</code>. Ongelma voi ilmetä etenkin screeniä käytettäessä ja screen vastaa vain &#8220;Wuff &#8212;- Wuff!!&#8221;.</p>
<h3>Page up &#038; down ja Home &#038; End toimimaan ilman Shiftiä</h3>
<p>Valitse Terminal-valikosta Preferences ja Settings-välilehden alta Keyboard-välilehti</p>
<ol>
<li>Key mappingista valitaan haluttu toiminto</li>
<li>Actioniksi <em>&#8220;send string to shell&#8221;</em></li>
<li>page down: string: <code>\033[6~</code></li>
<li>page up: <code>\033[5~</code></li>
<li>home: <code>\033[1~</code></li>
<li>end: <code>\033[4~</code></li>
</ol>
<p>Lisää käyttäjän kotihakemistossa (~/) sijaitsevaan <em>~/.inputrc</em> -tiedostoon seuraavat rivit. Jos tiedostoa ei ole, luo sellainen.</p>
<blockquote>
<pre>
# allow the use of the Home/End keys
"\e[1~": beginning-of-line
"\e[4~": end-of-line

# allow the use of the Delete/Insert keys
"\e[3~": delete-char
"\e[2~": quoted-insert

# mappings for "page up" and "page down" to step to the
# beginning/end of the history
"\e[5~": beginning-of-history
"\e[6~": end-of-history

# alternate mappings for "page up" and "page down"
# to search the history
# "\e[5~": history-search-backward
# "\e[6~": history-search-forward
</pre>
</blockquote>
<p>Käynnistä Terminaali uudelleen, tai ota asetukset käyttöön komennoilla <code>source ~/.bash_profile</code> ja <code>bind -f ~/.inputrc</code></p>
<h3>UTF-8 merkistö</h3>
<p>Valitse Terminal-valikosta Preferences ja Settings-välilehden alta Advanced-välilehti</p>
<ul>
<li>Rasti pois ruudusta <em>&#8220;Escape non-ASCII input&#8221;</em></li>
<li>Poimi Character encoding -kohdasta: Unicode (UTF-8)</li>
</ul>
<p>Lisää <em>~/.inputrc</em> -tiedostoon rivit:</p>
<blockquote>
<pre>
# Be 8 bit clean.
set input-meta on
set output-meta on
set convert-meta off
</pre>
</blockquote>
<p>Lisää <em>~/.bash_profile</em> -tiedostoon rivi <code>export LC_CTYPE=en_US.UTF-8</code></p>
<p>Ota muutokset käyttöön käynnistämällä Terminal uudelleen tai komennoilla <code>source ~/.bash_profile</code> ja <code>bind -f ~/.inputrc</code></p>
<h3>Irssi screenissä ja UTF-8</h3>
<p>Muokkaa screeniä ajavan koneen merkistöasetuksia <em>~/.inputrc</em> -tiedostoon edellä mainitulla tavalla.</p>
<p>Lisäksi lisää <em>~/.bashrc</em> -tiedostoon seuraavat rivit:</p>
<blockquote>
<pre>
export LANG="en_US.UTF-8"
export LC_CTYPE="fi_FI.UTF-8"
export LC_TIME="fi_FI.UTF-8"
export LESSCHARSET="utf-8"
</pre>
</blockquote>
<p>Aseta Irssissä (0.8.10 tai uudempi) terminaalin merkistöksi UTF-8 antamalla komento <code>/set term_charset UTF-8</code> ja aseta Recode-asetukset seuraavasti:</p>
<blockquote>
<pre>
/set recode ON
/set recode_autodetect_utf8 ON
/set recode_fallback iso-8859-15
/set recode_out_default_charset utf-8
/set recode_transliterate ON
</pre>
</blockquote>
<p>Jos kanavan nimessä on ISO-8859-1 ääkkösiä, pystyy esimerkiksi kanavalle <em>#ääöö</em> liittymään käyttämällä komentoa <code>/eval join #\xE4\xE4\xF6\xF6</code>. Siis ä -> \xE4 ja ö -> \xF6.</p>
<p>Valitettavasti <a href="http://bugs.irssi.org/index.php?do=details&#038;task_id=545&#038;project=5&#038;pagenum=2" class="liexternal">Irssi 0.8.12 rikkoi</a> tuon aikaisemmin hyvin toimineen kikan, mutta onneksi ominaisuus palautettiin ennalleen. Ennen Irssin seuraavaa versiota, ominaisuuden saa käyttöön asentamalla <a href="http://irssi.org/download#nightly" class="liexternal">Irssin Nightly buildin</a> tai <a href="http://svn.irssi.org/" class="liexternal">kääntämällä Irssi SVN:stä</a>.</p>
<h3>Irssi ja Page up &amp; down jouhevammin</h3>
<p>Applen kannettavista tietokoneista on karsittu turhat näppäimet pois ja niiden mukana muun muassa myös Page up &amp; down. Nyt Irssissä backlogia selatessa pitää aina naputella <em>Esc+ylös/alas</em>, joka on hieman työlästä, kun lisäksi Esciä joutuu painamaan joka kerta uudestaan. Asia on onneksi helppo korjata.</p>
<p>Sivutus-näppäimet voi asettaa toimimaan myös <em>fn+ylös/alas</em> -yhdistelmään komentamalla Irssissä seuraavasti:</p>
<blockquote>
<pre>
/bind meta-up scroll_backward
/bind meta-down scroll_forward
</pre>
</blockquote>
<h4>Viitteet</h4>
<p>Ohjeet kasattu <a href="http://laak.info/blog/os-x-terminal-ja-asetukset-kuntoon" class="liexternal">Elefanttipuheen kootuista ohjeista</a> ja <a href="http://matin.maapallo.org/site.pl/osx/" class="liexternal">Matti Hiljasen ohjeista</a>, joita on tähän kirjoitukseen täydennetty <a href="http://tech.inhelsinki.nl/gnu_developement_under_mac_os_x/" class="liexternal">GNU development under Mac OS X -ohjeilla</a> sekä ajantasaistettu tarvittavilta osin. </p>
]]></content:encoded>
			<wfw:commentRss>http://verteksi.net/soks/2009/03/04/mac-os-xn-terminal-ohjelman-asetukset-kuntoon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Outlook 2003 ja juhlapyhät kalenteriin</title>
		<link>http://verteksi.net/soks/2009/02/28/outlook-2003-ja-juhlapyhat-kalenteriin/</link>
		<comments>http://verteksi.net/soks/2009/02/28/outlook-2003-ja-juhlapyhat-kalenteriin/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 12:17:24 +0000</pubDate>
		<dc:creator>Marko</dc:creator>
				<category><![CDATA[ohjelmistot]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[vinkit]]></category>

		<guid isPermaLink="false">http://verteksi.net/soks/?p=1490</guid>
		<description><![CDATA[<p>Microsoftin Outlook on yllättävän pätevä sähköpostiohjelma ja tarjoaa kalenteritoimintonsa osalta muun muassa juhlapyhät kalenterimerkintöinä. Juhlapyhät pitäisivät näkyä ilmeisesti vakiona, mutta toiminnossa on selkeästi pieni bugi.</p>
<p>Juhlapyhien näkyminen pitää käydä aktivoimassa uudelleen navigoimalla <br /><em>&#8220;Tools Options Calendar options&#8221;</em> ja klikkaamalla <em>&#8220;Add holidays&#8221;</em> ensin pois päältä ja sitten takaisin päälle. </p>
<p>Tämän jälkeen juhlapyhät ilmestyvät kalenteriin. Vielä kun kalenteriin saisi myös merkkipäivät, liputuspäivät sekä nimipäivät.&#8230; <a href="http://verteksi.net/soks/2009/02/28/outlook-2003-ja-juhlapyhat-kalenteriin/" class="read_more">Jatka lukemista <span class=\\\"meta-nav\\\">&#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>Microsoftin Outlook on yllättävän pätevä sähköpostiohjelma ja tarjoaa kalenteritoimintonsa osalta muun muassa juhlapyhät kalenterimerkintöinä. Juhlapyhät pitäisivät näkyä ilmeisesti vakiona, mutta toiminnossa on selkeästi pieni bugi.</p>
<p>Juhlapyhien näkyminen pitää käydä aktivoimassa uudelleen navigoimalla <br /><em>&#8220;Tools > Options > Calendar options&#8221;</em> ja klikkaamalla <em>&#8220;Add holidays&#8221;</em> ensin pois päältä ja sitten takaisin päälle. </p>
<p>Tämän jälkeen juhlapyhät ilmestyvät kalenteriin. Vielä kun kalenteriin saisi myös merkkipäivät, liputuspäivät sekä nimipäivät.</p>
]]></content:encoded>
			<wfw:commentRss>http://verteksi.net/soks/2009/02/28/outlook-2003-ja-juhlapyhat-kalenteriin/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Versionhallinnan parhaat käytännöt koodaajalle</title>
		<link>http://verteksi.net/soks/2008/12/03/versionhallinnan-parhaat-kaytannot-koodaajalle/</link>
		<comments>http://verteksi.net/soks/2008/12/03/versionhallinnan-parhaat-kaytannot-koodaajalle/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 12:57:43 +0000</pubDate>
		<dc:creator>Marko</dc:creator>
				<category><![CDATA[koodaus]]></category>
		<category><![CDATA[scm]]></category>
		<category><![CDATA[vinkit]]></category>

		<guid isPermaLink="false">http://verteksi.net/soks/?p=890</guid>
		<description><![CDATA[<p>Versionhallinnasta ja siihen liittyvistä asioita on kirjoitettu paljon, mutta useissa kirjoituksissa on keskitytty lähinnä teknisiin asioihin ja eri versionhallintajärjestelmien mahdollistamiin asioihin. Harvat kirjoitukset keskittyvät käytännön asioihin ja niin sanottuihin parhaisiin käytäntöihin, joita soveltamalla versionhallinnan käytöstä saa paljon enemmän irti.</p>
<p>Muutamia käteväksi todettuja ja omasta mielestäni &#8220;parhaita käytäntöjä&#8221; koodaajan näkökulmasta ovat muun muassa:</p>
<ol>
<li><a href="#workflow" class="liinternal">Työn kulku</a></li>
<li><a href="#often-early" class="liinternal">Vie koodi versionhallintaan usein ja aikaisin</a></li>
<li><a href="#logical" class="liinternal">Vie yhtenäisiä kokonaisuuksia</a></li>
<li><a href="#messages" class="liinternal">Kirjoita järkeviä commit-viestejä</a></li>
<li><a href="#style" class="liinternal">Tee koodaustyylin muutokset erillään oikeista muutoksista</a></li>
<li><a href="#dynamic" class="liinternal">Älä vie tiedostoja, jotka muuttuvat dynaamisesti</a></li>
<li><a href="#compile" class="liinternal">Älä vie koodia, joka ei käänny</a></li>
</ol>
<p><a name="workflow"></a><br />
<strong>1.</strong>&#8230; <a href="http://verteksi.net/soks/2008/12/03/versionhallinnan-parhaat-kaytannot-koodaajalle/" class="read_more">Jatka lukemista <span class=\\\"meta-nav\\\">&#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>Versionhallinnasta ja siihen liittyvistä asioita on kirjoitettu paljon, mutta useissa kirjoituksissa on keskitytty lähinnä teknisiin asioihin ja eri versionhallintajärjestelmien mahdollistamiin asioihin. Harvat kirjoitukset keskittyvät käytännön asioihin ja niin sanottuihin parhaisiin käytäntöihin, joita soveltamalla versionhallinnan käytöstä saa paljon enemmän irti.</p>
<p>Muutamia käteväksi todettuja ja omasta mielestäni &#8220;parhaita käytäntöjä&#8221; koodaajan näkökulmasta ovat muun muassa:</p>
<ol>
<li><a href="#workflow" class="liinternal">Työn kulku</a></li>
<li><a href="#often-early" class="liinternal">Vie koodi versionhallintaan usein ja aikaisin</a></li>
<li><a href="#logical" class="liinternal">Vie yhtenäisiä kokonaisuuksia</a></li>
<li><a href="#messages" class="liinternal">Kirjoita järkeviä commit-viestejä</a></li>
<li><a href="#style" class="liinternal">Tee koodaustyylin muutokset erillään oikeista muutoksista</a></li>
<li><a href="#dynamic" class="liinternal">Älä vie tiedostoja, jotka muuttuvat dynaamisesti</a></li>
<li><a href="#compile" class="liinternal">Älä vie koodia, joka ei käänny</a></li>
</ol>
<p><a name="workflow"></a><br />
<strong>1. Työn kulku</strong><br />
<a href="http://svnbook.red-bean.com/" class="liexternal">&#8220;Version Control with Subversion&#8221; -kirja</a> selvittää <a href="http://svnbook.red-bean.com/en/1.5/svn.tour.cycle.html" class="liexternal">normaalin työn kulun</a>, joka on hyvä omaksua versionhallintaa käytettäessä (hieman sovellettuna):</p>
<ol>
<li>Hae koodista tuorein versio versionhallinnasta</li>
<li>Toteuta koodiin tehtävät muutokset</li>
<li>Hae tuorein versio ennen koodin vientiä versionhallintaan</li>
<li>Aja testit uudestaan ja varmista, että tekemäsi muutokset toimivat</li>
<li>Vie koodi versionhallintaan yhtenä kokonaisuutena</li>
<li>Selvitä konfliktit</li>
<li>Tarkista, että versio kääntyy myös build-palvelimella</li>
<li>Korjaa virheet tai palauta</li>
</ol>
<p><strong id="often-early">2. Vie koodi versionhallintaan usein ja aikaisin</strong><br />
On suositeltavaa toteuttaa <a href="http://www.codinghorror.com/blog/archives/001165.html" class="liexternal">Check In Early, Check In Often</a> -periaatetta. Tällöin muut näkevät mitä olet tekemässä ja koodi on muidenkin käytössä. </p>
<blockquote><p>&#8220;If the code isn&#8217;t checked into source control,<br /> it doesn&#8217;t exist.&#8221; &#8211; <a href="http://www.codinghorror.com/blog/archives/001165.html" class="liexternal">Coding Horror</a></p></blockquote>
<p>Lisäksi jos piilottelet koodia omalla koneellasi, etkä synkronoi sitä versionhallintaan pitkään aikaan, voi muutosten yhdistämisestä tulla erittäin työlästä. Pieniä kokonaisuuksia on helpompi verrata ja saadaan aikaan vähemmän konflikteja.</p>
<p>Vaikka idean järkevyys ja käytännöllisyys on helppo ymmärtää, on käytännön toteutus usein jotain muuta. Itse olen ainakin huomannut, että omaa koodia tulee helposti pantattua levyn nurkalla, kunnes kyseinen ominaisuus on &#8220;valmis&#8221; ja testattu.</p>
<blockquote><p>&#8220;Hiding your code until it&#8217;s &#8220;done&#8221; may feel safer, but it isn&#8217;t. Sharing your ongoing code with your coworkers is scary, much less the world &#8212; but it also results in feedback and communication that will improve your code and draw you closer to the project you&#8217;re working on.&#8221; &#8211; <a href="http://www.codinghorror.com/blog/archives/001134.html" class="liexternal">Coding Horror</a></p></blockquote>
<p><strong id="logical">3. Vie yhtenäisiä kokonaisuuksia</strong><br />
On suositeltavaa viedä versionhallintaan loogisesti yhtenäisiä kokonaisuuksia. Tämä tekee versiohistorian seuraamisesta huomattavasti hyödyllisempää, etenkin jos muutokset käsittelevät useita eri tiedostoja.</p>
<p>Eli, jos teet useita yhtäaikaisia muutoksia, jaa ne useampaan loogiseen kokonaisuuteen ja vie ne osissa. Näin yksittäisten muutosten historiaa on helpompi seurata ja nopeuttaa mahdollisten bugien metsästystä myöhemmin. Jos siis teet ominaisuutta A, B ja C sekä korjaat bugeja 1, 2 ja 3, pitäisi niistä muodostua vähintään kuusi committia. Vastaavasti, jos teet suuria muutoksia tai toteutat itsenäisiä muutoksia useisiin loogisiin moduleihin, vie muutokset erikseen, vaikka ne olisivatkin osa isompaa kokonaisuutta.</p>
<p>Käytännössä sitä kuitenkin usein huomaa koodaavansa hieman sieltä sun täältä sitä ja tätä, ja lopulta järkevän yhtenäisen kokonaisuuden vieminen versionhallintaan on käytännössä mahdotonta. </p>
<p>Tietenkin tätä periaatetta on helpompi noudattaa sovelluksen ylläpidossa kuin sovelluksen kehittämisessä, jossa puutteellisia ja koodausta kaipaavia asioita on paljon. Teoriassa järkevä &#8220;commit&#8221;-tapa on helppo omaksua, mutta käytännössä yhtenäisen kokonaisuuden siirtäminen versiohallintaan vaatii itsekuria ja koodauksen suunnittelua.</p>
<p><strong id="messages">4. Kirjoita järkeviä commit-viestejä</strong><br />
Kirjoita aina jokin kommentti viedessäsi koodia versionhallintaan. Kommentin tulisi olla lyhyt ja ytimekäs, ja kertoa mitä muutettiin ja miksi. Jos teit useita muutoksia, kirjoita ne omille riveilleen. </p>
<p>On myös kätevää lisätä kommentin eteen jokin tunniste kuten Fix tai Add, viitaten minkä tyyppisiä muutoksia teit. Tämä myös helpottaa sisällön filtteröintiä myöhemmin.</p>
<p>Korjatessa jotain tiettyä bugia tai pyydettyä ominaisuutta, on suositeltavaa lisätä bugin tai issuen numero commit-viestiin.</p>
<blockquote><p>&#8220;If the changes you made are not important enough to comment on, they probably are not worth committing either.&#8221; &#8211; <a href="http://blog.looplabel.net/2008/07/28/best-practices-for-version-control/" class="liexternal">loop label</a></p></blockquote>
<p><strong id="style">5. Tee koodaustyylin muutokset erillään oikeista muutoksista</strong><br />
Koodaustyyli voi kokea muutoksia ja kehitysvälineessä voidaan esimerkiksi ottaa käyttöön automaattiset koodimuotoilut. On erittäin suositeltavaa, että koodin muotoiluun vaikuttavat muutokset tehtäisiin erillään oikeista muutoksista.</p>
<p>Jos koodimuotoilut ja muutokset sekoitetaan keskenään, on muutosten jäljittäminen ja kohdistaminen käytännössä mahdotonta.</p>
<p><strong id="dynamic">6. Älä vie tiedostoja, jotka muuttuvat dynaamisesti</strong><br />
Versionhallinnassa olevien tiedostojen olisi hyvä olla sellaisia, joiden sisällöstä valta on käyttäjillä eikä esimerkiksi kehitysympäristöllä. Esimerkiksi ei kannata viedä Eclipsen asetuksia tai projekti-tiedostoa, jotka muuttuvat riippuen kehittäjän haluamista asetuksista. Kyseiset tiedostot eivät varsinaisesti liity projektin koodiin ja aiheuttavat vaan turhaa synkkaamista. Myös projektin binäärit ja Javadocit voidaan mieltää turhiksi versionhallinnan näkökulmasta.</p>
<p>(via <a href="http://www.perforce.com/perforce/bestpractices.html" class="liexternal">Perforce</a>)</p>
<p><strong id="compile">7. Älä vie koodia, joka ei käänny</strong><br />
Ei ole suositeltavaa viedä versionhallintaan koodia, joka ei käänny ja hajottaa projektin myös muille kehittäjille. Toisaalta, ideaalissa tilanteessa, ei pitäisi koskaan lähteä toimistolta viemättä koodia versionhallintaan.</p>
<p>Jos teet muutoksia, jotka vaikuttavat muihin, harkitse koodin branchaamista muutoksen toteuttamiseksi ja yhdistä koodi, kun olet valmis. Toisaalta, <a href="http://www.codinghorror.com/blog/archives/001134.html" class="liexternal">toimimaton koodi ei ole syy olla viemättä sitä versionhallintaan</a>.</p>
<blockquote><p>&#8220;It’s better to have a broken build in your working repository than a working build on your broken hard drive.&#8221; &#8211; <a href="http://blog.looplabel.net/2008/07/28/best-practices-for-version-control/" class="liexternal">loop label</a></p></blockquote>
<p><strong>Yhteenveto</strong><br />
Versionhallinnan käyttö on omaksuttu osaksi sovelluskehitystä ja toivottavasti edes osa yllä olevista periaatteista on jo useimpien kehittäjien käytössä. Ellei käytössä olevia työvälineitä hyödynnetä kunnolla, jää paljon etuja saavuttamatta. Edes muutaman yllä olevan käytännön omaksuminen kuten &#8220;loogiset kokonaisuudet&#8221; ja &#8220;commit-viestit&#8221;, helpottaa jo kummasti.</p>
<p>Versionhallinta on käsitteenä laaja ja sen käyttöön liittyy paljon muitakin asioita, joista voidaan määritellä niin sanotut parhaat käytännöt. Tälläisiä ovat muun muassa koodin hallintaan liittyvät asiat, versionhallinnan soveltaminen ja toimintojen laajentaminen, mutta ei niistä sen enempää. </p>
]]></content:encoded>
			<wfw:commentRss>http://verteksi.net/soks/2008/12/03/versionhallinnan-parhaat-kaytannot-koodaajalle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IE 6 ja Web-sivujen testaus Windowsissa</title>
		<link>http://verteksi.net/soks/2008/11/12/ie-6-ja-web-sivujen-testaus-windowsissa/</link>
		<comments>http://verteksi.net/soks/2008/11/12/ie-6-ja-web-sivujen-testaus-windowsissa/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 14:08:08 +0000</pubDate>
		<dc:creator>Marko</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[selaimet]]></category>
		<category><![CDATA[vinkit]]></category>

		<guid isPermaLink="false">http://verteksi.net/soks/?p=1183</guid>
		<description><![CDATA[<p>Kuvittelin, että jo tässä vaiheessa Windows XP:n Service Pack 2:n ja 3:n jälkeen, olisi oikeasti päästy jo eroon Internet Explorer 6:sta, mutta olin väärässä. Jostain piti siis löytää keino, jolla web-sivustoa voisi testata tuolla Microsoftin tekeleellä.</p>
<p>Hieman asiaa selvitettyäni, löysin <a href="http://tredosoft.com/Multiple_IE" class="liexternal">Tredosoftin kirjoituksen</a>, jossa käsiteltiin eri Internet Explorerin versioiden asentamista Windows XP:hen. Käytännössä tämä onnistuu hyödyntämällä DLL-uudelleenohjausta.&#8230; <a href="http://verteksi.net/soks/2008/11/12/ie-6-ja-web-sivujen-testaus-windowsissa/" class="read_more">Jatka lukemista <span class=\\\"meta-nav\\\">&#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>Kuvittelin, että jo tässä vaiheessa Windows XP:n Service Pack 2:n ja 3:n jälkeen, olisi oikeasti päästy jo eroon Internet Explorer 6:sta, mutta olin väärässä. Jostain piti siis löytää keino, jolla web-sivustoa voisi testata tuolla Microsoftin tekeleellä.</p>
<p>Hieman asiaa selvitettyäni, löysin <a href="http://tredosoft.com/Multiple_IE" class="liexternal">Tredosoftin kirjoituksen</a>, jossa käsiteltiin eri Internet Explorerin versioiden asentamista Windows XP:hen. Käytännössä tämä onnistuu hyödyntämällä DLL-uudelleenohjausta. Jutussa viitataan <a href="http://browsers.evolt.org/?ie/32bit/standalone" class="liexternal">Evoltin Internet Explorer -arkistoon</a>, josta löytyy kätevästi Zip-paketoituna &#8220;standalone&#8221;-versiot muun muassa IE 5:sta, IE 5.5:sta ja IE 6:sta. Tredosoftin kirjotuksesta löytyy asennuohjelma kaikkien eri versioiden asentamiseen, mutta kannaa käyttää selaimista standalone-versioita, sillä <a href="http://www.456bereastreet.com/archive/200605/testing_in_both_ie_6_and_ie_7/#comment61" class="liexternal">asennusohjelman kanssa voi tulla ongelmia</a>, jos haluaa lisäksi asentaa Safarin.</p>
<p>Standalone-versio IE 6:sta riitti täyttämään testauksessa olleen aukon, vaikkakin vain rimaa hipoen. Ainakin vaikutti siltä, että keksit eivät toimisi ja lisäksi selain toimi erittäin epävakaasti. Loppupeleissä olisi melkein helpointa ja kätevintä asentaa virtuaalikoneeseen Linux ja käyttää vanhoja selaimia Winen kautta.</p>
<p>No, jospa vaikka ensi vuonna voisi jo unohtaa IE 6:n ja siirtyä (suunnittelussa) edes hieman lähemmäs nykyaikaa.</p>
]]></content:encoded>
			<wfw:commentRss>http://verteksi.net/soks/2008/11/12/ie-6-ja-web-sivujen-testaus-windowsissa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenOffice.org Calc ja kaavio kahdella datasarjalla</title>
		<link>http://verteksi.net/soks/2008/08/26/openofficeorg-calc-ja-kaavio-kahdella-datasarjalla/</link>
		<comments>http://verteksi.net/soks/2008/08/26/openofficeorg-calc-ja-kaavio-kahdella-datasarjalla/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 17:53:56 +0000</pubDate>
		<dc:creator>Marko</dc:creator>
				<category><![CDATA[ohjelmistot]]></category>
		<category><![CDATA[vinkit]]></category>

		<guid isPermaLink="false">http://verteksi.net/soks/?p=845</guid>
		<description><![CDATA[<p>OpenOffice.org on kätevä toimisto-ohjelmistopaketti, mutta välillä siihen kuuluvien ohjelmistojen käyttäminen ei ole niin yksinkertaista. Yleensä kuitenkin pienen säätämisen ja pähkäilyn jälkeen saadaan aikaan haluttu lopputulos.</p>
<p>Olen pitänyt pienimuotoista harjoituspäiväkirjaa OpenOffice.org Calc -ohjelman avulla ja tilastoidusta datasta saa muodostettua kätevästi erilaisia kaavioita. Kahden eri suuruusluokan datasarjan yhdistäminen samaan kaavioon ei kuitenkaan ollut niin yksinkertaista kuin olin kuvitellut.&#8230; <a href="http://verteksi.net/soks/2008/08/26/openofficeorg-calc-ja-kaavio-kahdella-datasarjalla/" class="read_more">Jatka lukemista <span class=\\\"meta-nav\\\">&#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>OpenOffice.org on kätevä toimisto-ohjelmistopaketti, mutta välillä siihen kuuluvien ohjelmistojen käyttäminen ei ole niin yksinkertaista. Yleensä kuitenkin pienen säätämisen ja pähkäilyn jälkeen saadaan aikaan haluttu lopputulos.</p>
<p>Olen pitänyt pienimuotoista harjoituspäiväkirjaa OpenOffice.org Calc -ohjelman avulla ja tilastoidusta datasta saa muodostettua kätevästi erilaisia kaavioita. Kahden eri suuruusluokan datasarjan yhdistäminen samaan kaavioon ei kuitenkaan ollut niin yksinkertaista kuin olin kuvitellut. Toinen sarja valtasi koko kaavion ja toisesta sarjasta näkyi vain suoraa viivaa.</p>
<p>Muutaman yritys-erehdys -kerran jälkeen keksin, että kaavion datasarjat on kuin onkin mahdollista asettaa eri Y-akselille. Tämä on erittäin kätevää, jos toisen sarjan arvot ovat suuria ja toisen pieniä. Pari kuvaa kertokoon enemmän.</p>
<div class="img-center">
<a href="/files/2008/software/ooo_calc_kaaviot_1a.png" class="thickbox" rel="ooo" title="Valitaan kaaviosta yksi objekti eli viiva ja oikealla hiiren napilla sen ominaisuudet"><img class="colorbox-845"  src="/files/2008/software/ooo_calc_kaaviot_1a_thb.png" alt="kuva 1" /></a> <a href="/files/2008/software/ooo_calc_kaaviot_2a.png" class="thickbox" rel="ooo" title="Ominaisuuksista voidaan valita toinen Y-akseli"><img class="colorbox-845"  src="/files/2008/software/ooo_calc_kaaviot_2a_thb.png" alt="kuva 2" /></a>
</div>
<p>Eli valitaan kaaviosta yksi objekti, eli viiva, ja oikealla hiiren napilla sen ominaisuudet. Objektin ominaisuuksista voidaan <em>&#8220;Options&#8221;</em>-välilehdeltä valita <em>&#8220;Tietolähteiden tasaus&#8221;</em> -kohdasta <em>&#8220;Toinen Y-akseli&#8221;</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://verteksi.net/soks/2008/08/26/openofficeorg-calc-ja-kaavio-kahdella-datasarjalla/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Server 2003:n sammuttaminen ja varmistusikkuna</title>
		<link>http://verteksi.net/soks/2008/03/19/windows-server-2003n-sammuttaminen-ja-varmistusikkuna/</link>
		<comments>http://verteksi.net/soks/2008/03/19/windows-server-2003n-sammuttaminen-ja-varmistusikkuna/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 18:07:09 +0000</pubDate>
		<dc:creator>Marko</dc:creator>
				<category><![CDATA[windows]]></category>
		<category><![CDATA[vinkit]]></category>

		<guid isPermaLink="false">http://verteksi.net/soks/2008/03/19/windows-server-2003n-sammuttaminen-ja-varmistusikkuna/</guid>
		<description><![CDATA[<p>Windows Server 2003:ssa on kaikenlaisia palvelimen pitämiseen liittyviä ominaisuuksia, kuten sammuttamisen tai uudelleen käynnistämisen yhteydessä oleva varmistusikkuna, johon voi kirjoittaa sammuttamisen syyn. Varmasti ihan kätevä ominaisuus palvelimissa huoltokatkojen seuraamiseen, mutta peruskäyttäjälle turha hidaste. Onneksi kyseisen <em>&#8220;Shutdown Event Tracker&#8221;</em> -ominaisuuden voi myös kytkeä pois päältä.</p>
<p><em>&#8220;Shutdown Event Tracker&#8221;</em> -ominaisuuden poistaminen onnistuu muokkaamalla Group Policyjä eli kirjoittamalla Windowsin <em>&#8220;run&#8221;</em>-komentoikkunaan <em>&#8220;gpedit.msc&#8221;</em> ja <a href="http://www.windowsnetworking.com/articles_tutorials/Disable-Shutdown-Event-Tracker-Windows-2003.html" class="liexternal">WindowsNetworking.com -sivuston vinkillä</a> klikkailemalla oikeaan kohtaan ja kytkemällä palvelun pois päältä.&#8230; <a href="http://verteksi.net/soks/2008/03/19/windows-server-2003n-sammuttaminen-ja-varmistusikkuna/" class="read_more">Jatka lukemista <span class=\\\"meta-nav\\\">&#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>Windows Server 2003:ssa on kaikenlaisia palvelimen pitämiseen liittyviä ominaisuuksia, kuten sammuttamisen tai uudelleen käynnistämisen yhteydessä oleva varmistusikkuna, johon voi kirjoittaa sammuttamisen syyn. Varmasti ihan kätevä ominaisuus palvelimissa huoltokatkojen seuraamiseen, mutta peruskäyttäjälle turha hidaste. Onneksi kyseisen <em>&#8220;Shutdown Event Tracker&#8221;</em> -ominaisuuden voi myös kytkeä pois päältä.</p>
<p><em>&#8220;Shutdown Event Tracker&#8221;</em> -ominaisuuden poistaminen onnistuu muokkaamalla Group Policyjä eli kirjoittamalla Windowsin <em>&#8220;run&#8221;</em>-komentoikkunaan <em>&#8220;gpedit.msc&#8221;</em> ja <a href="http://www.windowsnetworking.com/articles_tutorials/Disable-Shutdown-Event-Tracker-Windows-2003.html" class="liexternal">WindowsNetworking.com -sivuston vinkillä</a> klikkailemalla oikeaan kohtaan ja kytkemällä palvelun pois päältä. Sama palvelu löytyy myös Windows XP:stä, mutta on vakiona pois päältä.</p>
<div class="img-center">
<a href="/files/2008/software/win-server-2003_gpedit-set_3b.png" class="thickbox" rel="win-server-2003-set"><img class="colorbox-580"  src="/files/2008/software/win-server-2003_gpedit-set_3b_thb.png" alt="Shutdown event tracker" /></a> <a href="/files/2008/software/win-server-2003_gpedit-set_1b.png" class="thickbox" rel="win-server-2003-set"><img class="colorbox-580"  src="/files/2008/software/win-server-2003_gpedit-set_1b_thb.png" alt="Shutdown event tracker" /></a> <a href="/files/2008/software/win-server-2003_gpedit-set_2b.png" class="thickbox" rel="win-server-2003-set"><img class="colorbox-580"  src="/files/2008/software/win-server-2003_gpedit-set_2b_thb.png" alt="Shutdown event tracker" /></a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://verteksi.net/soks/2008/03/19/windows-server-2003n-sammuttaminen-ja-varmistusikkuna/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ota pikakomennot ja näppäimistö haltuun AutoHotkeyn avulla</title>
		<link>http://verteksi.net/soks/2007/12/26/ota-pikakomennot-ja-nappaimisto-haltuun-autohotkeyn-avulla/</link>
		<comments>http://verteksi.net/soks/2007/12/26/ota-pikakomennot-ja-nappaimisto-haltuun-autohotkeyn-avulla/#comments</comments>
		<pubDate>Wed, 26 Dec 2007 14:04:14 +0000</pubDate>
		<dc:creator>Marko</dc:creator>
				<category><![CDATA[windows]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[ohjelmistot]]></category>
		<category><![CDATA[vinkit]]></category>

		<guid isPermaLink="false">http://verteksi.net/soks/2007/12/26/ota-pikakomennot-ja-nappaimisto-haltuun-autohotkeyn-avulla/</guid>
		<description><![CDATA[<p>Windowsissa asiat voidaan tehdä joko helposti tai vaikeasti ja valitettavan usein turhankin vaikeasti. Windows itsessään ei tarjoa mahdollisuuksia pikakomentojen määrittämiseen käyttäjän haluamalla tavalla, vaan tätä varten tarvitaan kolmannen osapuolen ohjelmistoja. Yksi pikakomentoja ja näppäimistön hallintaa toteuttava ohjelmisto on avoimen lähdekoodin <a href="http://www.autohotkey.com/" class="liexternal">AutoHotkey</a>, joka tarjoaa monipuoliset ominaisuudet erilaisten komentojen toteuttamiseksi.</p>
<p>Windows XP:ssä on vakiona tarjolla lukuisia käteviä pikakomentoja, mutta yksi jää uupumaan: ikkunan pienentäminen alapalkkiin.&#8230; <a href="http://verteksi.net/soks/2007/12/26/ota-pikakomennot-ja-nappaimisto-haltuun-autohotkeyn-avulla/" class="read_more">Jatka lukemista <span class=\\\"meta-nav\\\">&#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>Windowsissa asiat voidaan tehdä joko helposti tai vaikeasti ja valitettavan usein turhankin vaikeasti. Windows itsessään ei tarjoa mahdollisuuksia pikakomentojen määrittämiseen käyttäjän haluamalla tavalla, vaan tätä varten tarvitaan kolmannen osapuolen ohjelmistoja. Yksi pikakomentoja ja näppäimistön hallintaa toteuttava ohjelmisto on avoimen lähdekoodin <a href="http://www.autohotkey.com/" class="liexternal">AutoHotkey</a>, joka tarjoaa monipuoliset ominaisuudet erilaisten komentojen toteuttamiseksi.</p>
<p>Windows XP:ssä on vakiona tarjolla lukuisia käteviä pikakomentoja, mutta yksi jää uupumaan: ikkunan pienentäminen alapalkkiin. Se toki onnistuu <em><a href="http://verteksi.net/soks/2007/05/30/pikanappain-ikkunan-pienentamiseen-windowsissa/" class="liinternal">Alt+välilyönti+n</a></em> -yhdistelmällä, mutta on hieman liian monimutkaista. Tähän pieneen ongelmaa tarvitaan ratkaisuksi siis ohjelmaa, joka antaa käyttäjän määrittää omat pikakomentonsa.</p>
<p>AutoHotkey on käteväntuntuinen ohjelma, mutta valitettavasti sen käyttäminen ei ole &#8220;klikkaa ja valitse&#8221; -tyylistä komentojen määrittämistä, vaan toiminnot määritellään erilliseen skripti-tiedostoon. Ohjelman käyttöön on kuitenkin saatavilla hyvät <a href="http://www.autohotkey.com/docs/" class="liexternal">ohjeet</a> ja malliskriptit, joten haluamansa pikakomennon määrittäminen onnistuu kohtalaisen helposti. Hieman hankalampaa kuin maksullisten ohjelmistojen kanssa, mutta ilmainen on aina ilmainen.</p>
<p>Yksinkertaiset skriptit ovat kohtalaisen helppoja määritellä ja esimerkiksi aktiivisen ikkunan pienentäminen alapalkkiin Win+h -yhdistelmällä onnistuu määrittelemällä seuraava komento ohjelman skripti-tiedostoon:</p>
<div class="code">
<code>#h::WinMinimize,A</code>
</div>
<p>Saatavilla on myös <a href="http://www.autohotkey.com/docs/scripts/MinimizeToTrayMenu.htm" class="liexternal">skripti, jolla ikkunan voi pienentää tehtäväpalkkiin</a>, ja kätevä <a href="http://www.autohotkey.com/docs/scripts/VolumeOSD.htm" class="liexternal">skripti äänenvoimakkuuden säätöön OSD:n kera</a>.</p>
<p>AutoHotkey tarjoaa monipuoliset ominaisuudet erilaisten komentosarjojen määrittelyyn, mutta ohjelman käytettävyys jättää hieman toivomisen varaa. Kätevä ohjelma kuitenkin, kunhan löytää oikeat komennot ja kasaa niistä haluamansa toiminnot tai etsii valmiit skriptit. Ehkä hieman liioittelua käyttää erillistä ohjelmaa vain ikkunoiden pienentämiseen, mutta eiköhän listalle löydy muitakin tarpeellisia komentosarjoja.</p>
]]></content:encoded>
			<wfw:commentRss>http://verteksi.net/soks/2007/12/26/ota-pikakomennot-ja-nappaimisto-haltuun-autohotkeyn-avulla/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ohjelmointi kuin urheiluharrastus, harjoittelulla parempiin tuloksiin</title>
		<link>http://verteksi.net/soks/2007/12/23/ohjelmointi-kuin-urheiluharrastus-harjoittelulla-parempiin-tuloksiin/</link>
		<comments>http://verteksi.net/soks/2007/12/23/ohjelmointi-kuin-urheiluharrastus-harjoittelulla-parempiin-tuloksiin/#comments</comments>
		<pubDate>Sun, 23 Dec 2007 20:03:24 +0000</pubDate>
		<dc:creator>Marko</dc:creator>
				<category><![CDATA[koodaus]]></category>
		<category><![CDATA[vinkit]]></category>

		<guid isPermaLink="false">http://verteksi.net/soks/2007/12/23/ohjelmointi-kuin-urheiluharrastus-harjoittelulla-parempiin-tuloksiin/</guid>
		<description><![CDATA[<p>Joulun kiireiden keskellä on hyvä pysähtyä ja irtautua arkielämän hössötyksistä ja syventyä hyvän kirjallisuuden ääreen tai tietoteknisten harrastusten pariin. Vaihtoehtoja ajanvietteeksi on monia ja <a href="http://codeulate.com/?p=4" class="liexternal">Codeulate-blogi tarjoaa vaihtoehdoksi harjoittelua</a>: ohjelmoinnin harjoittelua. Vaikka ohjelmointitaidot olisivatkin jo hallussa valitsemallasi ohjelmointikielellä, on hyvä silti panostaa harjoitteluun. Ohjelmointia voi käsitellä kuin mitä tahansa urheilu- tai musiikkiharrastusta; paremmaksi kehitytään vain harjoittelemalla.&#8230; <a href="http://verteksi.net/soks/2007/12/23/ohjelmointi-kuin-urheiluharrastus-harjoittelulla-parempiin-tuloksiin/" class="read_more">Jatka lukemista <span class=\\\"meta-nav\\\">&#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>Joulun kiireiden keskellä on hyvä pysähtyä ja irtautua arkielämän hössötyksistä ja syventyä hyvän kirjallisuuden ääreen tai tietoteknisten harrastusten pariin. Vaihtoehtoja ajanvietteeksi on monia ja <a href="http://codeulate.com/?p=4" class="liexternal">Codeulate-blogi tarjoaa vaihtoehdoksi harjoittelua</a>: ohjelmoinnin harjoittelua. Vaikka ohjelmointitaidot olisivatkin jo hallussa valitsemallasi ohjelmointikielellä, on hyvä silti panostaa harjoitteluun. Ohjelmointia voi käsitellä kuin mitä tahansa urheilu- tai musiikkiharrastusta; paremmaksi kehitytään vain harjoittelemalla.</p>
<p>Ohjelmointia voi harjoitella erilaisilla tavoilla ja Internetissä on tarjolla erilaisia sivustoja, jotka tarjoavat älynystöreille harjoitteita. <a href="http://projecteuler.net/" class="liexternal">Project Euler</a> lähestyy aihetta matemaattisten ongelmien kautta ja ratkaisut eivät vaadi tutkintoa matematiikasta. <a href="http://www.pythonchallenge.com/" class="liexternal">Python Challenge</a> vastaa tarjoamalla 33-tasoisen haasteen. Molemmilla sivustoilla on ongelmien lisäksi tarjolla ratkaisut ja keskustelufoorumi muiden ohjelmoijien ratkaisujen tutkimiseen. Vastaavasti <a href="https://prof.ti.bfh.ch/hew1/informatik3/prolog/p-99/" class="liexternal">99&nbsp;Prolog&nbsp;-ongelmaa</a> keskittyy loogiseen ongelmanratkontaa ja tarjoaa ratkaisut Prologilla toteuttuna. Ongelmia voi tietenkin ratkoa haluamallaan ohjelmointikielellä.</p>
<p>Ohjelmoinnin harjoittelemisessa ei kuitenkaan ole kiire ja teokset, jotka mainostavat &#8220;Opi ohjelmointikieli X 21 päivässä&#8221; -otsikolla pitäisikin itseasiassa otsikoida <a href="http://norvig.com/21-days.html" class="liexternal">&#8220;Opettele ohjelmoimaan 10 vuodessa&#8221;</a>. 3 päivässä, viikossa tai kuukaudessa saa vain pintapuolisen käsityksen jostakin ohjelmointikielestä ja todellinen hallitseminen ja käsittäminen tapahtuu pidemmällä aikajänteellä. Tutkimusten mukaan jonkin tietyn aiheen oppiminen ja hallitseminen vie 10 vuotta, oli se sitten shakin peluu, musisointi, maalaaminen, tennis tai ohjelmointi.</p>
<p>Oikotietä parempiin suorituksiin ei ole ja kuten monissa muissakin harrasteissa ja taidoissa, myös <a href="http://verteksi.net/soks/2007/02/17/paremmaksi-ohjelmoijaksi/" class="liinternal">ohjelmoinnissa kehitytään paremmaksi</a> vain harjoittelemalla ja mahdollisesti harjoittelemalla laaja-alaisesti. Yhtäläisyyksiä löytyy myös siinä, että toiset vain ovat parempia kuin toiset ja vain lahjattomat treenaavat.</p>
]]></content:encoded>
			<wfw:commentRss>http://verteksi.net/soks/2007/12/23/ohjelmointi-kuin-urheiluharrastus-harjoittelulla-parempiin-tuloksiin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gimpin käyttöliittymään luvassa parannusta</title>
		<link>http://verteksi.net/soks/2007/10/31/gimpin-kayttoliittymaan-luvassa-parannusta/</link>
		<comments>http://verteksi.net/soks/2007/10/31/gimpin-kayttoliittymaan-luvassa-parannusta/#comments</comments>
		<pubDate>Wed, 31 Oct 2007 19:39:46 +0000</pubDate>
		<dc:creator>Marko</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[ohjelmistot]]></category>
		<category><![CDATA[vinkit]]></category>

		<guid isPermaLink="false">http://verteksi.net/soks/2007/10/31/gimpin-kayttoliittymaan-luvassa-parannusta/</guid>
		<description><![CDATA[<p>Gimp on kelvollinen ellei jopa mainio avoimen lähdekoodin kuvankäsittelyohjelma, mutta käyttöliittymässä on hieman parantamisen varaa. <a href="http://www.gimp.org/release-notes/gimp-2.4.html" class="liexternal">Viime viikolla julkaistu Gimp 2.4</a> ei tuo vielä suuria uudistuksia, vaan pieniä parannuksia työkalujen toimintaan, nopeuteen, valikkorakenteeseen ja ulkoasuun uusien ikonien kera. <a href="http://www.redhatmagazine.com/2007/10/23/gimp-24-preview/" class="liexternal">Red Hat Magazine esittelee uudet ominaisuudet</a> ja muun muassa valinta-, rajaus-, teksti- ja väripoimintatyökalut ovat saaneet parempaa käytettävyyttä. Myös Gimpin www-sivut ovat saaneet modernimman ulkoasun.&#8230; <a href="http://verteksi.net/soks/2007/10/31/gimpin-kayttoliittymaan-luvassa-parannusta/" class="read_more">Jatka lukemista <span class=\\\"meta-nav\\\">&#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>Gimp on kelvollinen ellei jopa mainio avoimen lähdekoodin kuvankäsittelyohjelma, mutta käyttöliittymässä on hieman parantamisen varaa. <a href="http://www.gimp.org/release-notes/gimp-2.4.html" class="liexternal">Viime viikolla julkaistu Gimp 2.4</a> ei tuo vielä suuria uudistuksia, vaan pieniä parannuksia työkalujen toimintaan, nopeuteen, valikkorakenteeseen ja ulkoasuun uusien ikonien kera. <a href="http://www.redhatmagazine.com/2007/10/23/gimp-24-preview/" class="liexternal">Red Hat Magazine esittelee uudet ominaisuudet</a> ja muun muassa valinta-, rajaus-, teksti- ja väripoimintatyökalut ovat saaneet parempaa käytettävyyttä. Myös Gimpin www-sivut ovat saaneet modernimman ulkoasun.</p>
<p>Luvassa on kuitenkin isompiakin uudistuksia, sillä Gimpin seuraavaa versiota varten on meneillään <a href="http://gimp-brainstorm.blogspot.com/" class="liexternal">aivoriihi Gimpin käyttöliittymästä</a>. Aivoriihen ideana on kerätä ideoita käyttäjien lähettämistä hahmotelmista, joita <a href="http://gui.gimp.org/index.php/GIMP_UI_Redesign" class="liexternal">GIMPin käyttöliittymän kehittämisestä</a> vastaava tiimi blogimuotoisesti listaa ja arvioi. Vuorovaikutus- ja käytettävyys asiantuntijoista koostuva tiimi suunnitteli Gimp 2.4:een esimerkiksi parannellut valinta- ja rajaustyökalut.</p>
<p>Parempaa kuvankäsittelyohjelmaa odottaessa, voi Gimpin toimintaa hienosäätää Linuxissa KDE-työpöydän asetuksista. <a href="http://www.linux.com/feature/119214" class="liexternal">Linux.com -sivusto ohjeistaa kesyttämään Gimpin</a> muun muassa asettamalla sille ikkunakohtaisia määrityksiä ja määrittämällä valikoiden käyttäytymistä. Muutokset Gimpin toimintaan eivät ole suuret, mutta hieman parempaan päin.</p>
<p>Gimp ei ole Photoshop eikä koskaan tule olemaankaan, vaikka moni sitä toivoisikin. Gimp on kuitenkin ilmainen, useilla alustoilla toimiva ja useimmille riittävät ominaisuudet omaava kuvankäsittelyohjelma. Jos uuden opettelu on vaikeaa, on Photoshopin käyttöön tottuneille saatavilla <a href="http://www.gimpshop.com/" class="liexternal">Gimpshop</a>, jossa valikot on järjestetty kuten Photoshopissa.</p>
]]></content:encoded>
			<wfw:commentRss>http://verteksi.net/soks/2007/10/31/gimpin-kayttoliittymaan-luvassa-parannusta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

