<?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>Erfaringer og tanker...</title>
	<atom:link href="http://www.unneland.com/blog/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.unneland.com/blog</link>
	<description>...fra Arne, en smidig prosjektleder og teknolog. I små biter...</description>
	<lastBuildDate>Sat, 28 Aug 2010 13:29:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Lampestyring II</title>
		<link>http://www.unneland.com/blog/index.php/2009/03/lampestyring-ii/</link>
		<comments>http://www.unneland.com/blog/index.php/2009/03/lampestyring-ii/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 18:30:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Fag]]></category>
		<category><![CDATA[automatisering]]></category>
		<category><![CDATA[byggeserver]]></category>
		<category><![CDATA[kvalitet]]></category>
		<category><![CDATA[lampestyring]]></category>

		<guid isPermaLink="false">http://www.unneland.com/blog/?p=242</guid>
		<description><![CDATA[Vi har kjøpt inn et par eminente Delcom USB lamper i generasjon 2. Se forøvrig forrige blogginnlegg om Lampestyring (generasjon 1). Det følger med eksempelkode for å styre lampen, men ikke ferdig kompilert kommandolinjeverktøy &#8211; så vi brukte det medfølgende eksempelet, la på noen parametere og kompilerte det. c:\usblamp\usblamp.exe Delcom USB Lampekontroll - Logistikk Utviklingsteam [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_254" class="wp-caption alignright" style="width: 160px"><a href="http://www.unneland.com/blog/wp-content/uploads/2009/03/lampe.jpg"><img class="size-full wp-image-254" title="lampe" src="http://www.unneland.com/blog/wp-content/uploads/2009/03/lampe.jpg" alt="En Delcom Engineering lampe" width="150" height="140" /></a><p class="wp-caption-text">En Delcom Engineering lampe</p></div>
<p>Vi har kjøpt inn et par eminente <a href="http://www.delcom-eng.com/products_USBLMP.asp" target="_blank">Delcom USB lamper i generasjon 2</a>. Se forøvrig <a href="http://www.unneland.com/blog/index.php/2008/12/lampestyring/">forrige blogginnlegg om Lampestyring</a> (generasjon 1).</p>
<p>Det følger med eksempelkode for å styre lampen, men ikke ferdig kompilert kommandolinjeverktøy &#8211; så vi brukte det medfølgende eksempelet, la på noen parametere og kompilerte det.</p>
<pre>c:\usblamp\usblamp.exe
<code>Delcom USB Lampekontroll - Logistikk Utviklingsteam
Bruk:
usblamp FARGE MODUS FREQLOW FREQHIGH INTENSITY
 - FARGE: 0=Gronn, 1=Rod, 2=Gul
 - MODUS: 0=Av, 1=På, 2=Blink
 - FREQLOW: Hvor lenge den skal lyse (f.eks: 5)
 - FREQHIGH: Hvor lenge den skal være av (f.eks.: 20)
 - INTENSITY: Lysstyrke</code>

Eksempel:
Grønn lampe på: usblamp 0 1 0 0 10
Blinkende gul lampe: usblamp 2 2 1 100 4</pre>
<p><a href="http://www.unneland.com/blog/wp-content/uploads/2009/03/usblamp_kompilert.zip">Last ned her</a> (zip)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unneland.com/blog/index.php/2009/03/lampestyring-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fraktprismodul for Zen Cart og osCommerce</title>
		<link>http://www.unneland.com/blog/index.php/2009/03/fraktprismodul-for-zen-cart-og-oscommerce/</link>
		<comments>http://www.unneland.com/blog/index.php/2009/03/fraktprismodul-for-zen-cart-og-oscommerce/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 22:18:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Fag]]></category>
		<category><![CDATA[frakt]]></category>
		<category><![CDATA[fraktguide]]></category>
		<category><![CDATA[modul]]></category>
		<category><![CDATA[nettbutikk]]></category>
		<category><![CDATA[oscommerce]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[pris]]></category>
		<category><![CDATA[shipping]]></category>
		<category><![CDATA[zencart]]></category>

		<guid isPermaLink="false">http://www.unneland.com/blog/?p=202</guid>
		<description><![CDATA[I de to siste helgene har jeg kost meg med å lage fraktmoduler til Zen Cart og osCommerce. Dette er populære open source nettbutikkløsninger som er basert på PHP har en felles historie (og nesten prikk lik teknologi for å lage fraktmoduler.) Fraktmodulene benytter Bring Fraktguide som gir priser, dekningsområde, transporttider og produkttekster. Merk! Disse [...]]]></description>
			<content:encoded><![CDATA[<p>I de to siste helgene har jeg kost meg med å lage fraktmoduler til Zen Cart og osCommerce. Dette er populære open source nettbutikkløsninger som er basert på PHP har en felles historie (og nesten prikk lik teknologi for å lage fraktmoduler.)</p>
<p>Fraktmodulene benytter <a href="http://fraktguide.bring.no" target="_self">Bring Fraktguide</a> som gir priser, dekningsområde, transporttider og produkttekster.</p>
<div id="attachment_230" class="wp-caption aligncenter" style="width: 433px"><img class="size-full wp-image-230" title="Fraktalternativer i Zen Cart" src="http://www.unneland.com/blog/wp-content/uploads/2009/03/fraktalternativerizencart.png" alt="Fraktalternativer i Zen Cart" width="423" height="176" /><p class="wp-caption-text">Eksempel på hvordan fraktalternativer ser ut i Zen Cart. I dette tilfellet er A-Post borte da innholdet i handlekurven er for tungt. Dersom man sender varene til et postnummer utenfor dekningsområdet for På Døren vil også dette alternativet automatisk tas bort</p></div>
<p><strong>Merk! </strong><em>Disse modulene er et privat initiativ og &#8220;kick&#8221; fra min side. Det er på ingen måte et Bring eller Posten produkt. Modulene brukes helt og holdent på eget ansvar. Finner du feil &#8211; meld tilbake til forumene som er nevnt under, eller aller helst involver deg (jeg kan gi deg tilgang til <a href="http://code.google.com/p/fraktpriserzencart/" target="_blank">prosjektet på Google Code</a>) slik at modulene blir bedre!</em></p>
<p><strong>Merk2!</strong> <em>Du er velkommen til å bidra på modulene. De blir best av samarbeid!</em></p>
<ul>
<li>Fraktmodul for osCommerce:
<ul>
<li><a href="http://code.google.com/p/fraktpriserzencart/downloads/list" target="_blank">Direkte download</a></li>
<li><a href="http://www.oscommerce.no/forum/frakt-ny-modul-a-post-padoren-bpakke-servicepakke-t213.html" target="_blank">Forum på www.oscommerce.no<br />
</a></li>
</ul>
</li>
<li>Fraktmodul for Zen Cart:
<ul>
<li><a href="http://code.google.com/p/fraktpriserzencart/downloads/list" target="_blank">Direkte download</a></li>
<li><a href="http://www.zen-cart.no/component/option,com_kunena/Itemid,49/func,showcat/catid,12/" target="_blank">Forum på www.zen-cart.no<br />
</a></li>
</ul>
</li>
</ul>
<h3>Om integrasjonen med Bring Fraktguide</h3>
<p>Fraktmodulene benytter <a href="http://fraktguide.bring.no/fraktguide/xmlOverHttp.do" target="_blank">Bring Fraktguide XML API</a> som er et åpent <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer" target="_blank">RESTful</a> grensesnitt som er svært lett å ta i bruk. Modulene benytter seg av prisberegning og produkttekster.</p>
<p>Koden under sender HTTP request til Fraktguiden og returnerer et SimpleXMLElement eller en feiltekst. Dette må man teste for i koden utenfor. Dette er et utdrag av en felles includefil som ligger både i modulene for Zen Cart og osCommerce. <a href="http://code.google.com/p/fraktpriserzencart/source/browse/trunk/zencart/pakkepriser/includes/modules/shipping/bring_fraktguide_common/bring_fraktguide_common.php" target="_blank">Lenke til hele filen i Google Code</a>.</p>
<pre>function getXmlForProducts($productCode, $from, $to, $weightInGrams) {
    $http = new httpClient();
    $http-&gt;timeout = 2;

    $request = join('&amp;', array('from=' . $from,
                               'to=' . $to,
                               'weightInGrams=' . $weightInGrams));
    if ($http-&gt;Connect('fraktguide.bring.no', 80)) {
        $http-&gt;addHeader('Host', 'fraktguide.bring.no');
        $http-&gt;addHeader('User-Agent', 'Zen Cart');
        $http-&gt;addHeader('Connection', 'close');

        if ($http-&gt;Get('/fraktguide/products/' . $productCode . '/all.xml?' . $request)) {
            $body = $http-&gt;getBody();
            if ($http-&gt;reply == 200) {
                $result['xml'] = new SimpleXMLElement($body);
            } else {
                if (strpos($body, "FG_INPUT_021")) {
                    $result['error'] = "Oppgitt postnummer er ikke gyldig";
                } elseif (strpos($body, "FG_INPUT_021")) {
                    $result['error'] = "Vekt eller volum ikke oppgitt";
                } elseif (strpos($body, "FG_INPUT_002")) {
                    $result['error'] = "Feil format på oppgitt postnummer";
                } else {
                    $result['error'] = "Ikke tilgjengelig til oppgitt postnummer";
                }
            }
        }
        $http-&gt;Disconnect();
    }
    return $result;
}</pre>
<p><em>httpClient er en klasse som følger med butikkløsningene. Bør raskt kunne byttes ut med alternativ klasse dersom du trenger koden til annet bruk</em></p>
<h3>Tips til forbedringer av modulene</h3>
<ul>
<li>Bedre håndtering av volumberegnet vekt. Prisen på en pakke er mye avhengig av det fysiske volumet av pakken og ikke bare hvor mange fysiske kilo pakken er. Det fysiske volumet blir regnet om til <a href="http://www.bring.no/324.cms" target="_blank">volumvekt</a>. Det høyeste av fysisk vekt og volumvekt blir benyttet som vekt når man slår opp prisen. Det er viktig at de som driver nettbutikker er oppmerksomme på dette
<ul>
<li>Alternativ 1 (quickfix): Benytt volumvekt og ikke fysisk vekt på varer som har stort volum. Noen issues her med dagens implementering av modulen da den kan tro at du kommer over 35 kilo. Grensen for å sende pakker 35 kilo fysisk vekt, men du kan selvfølgelig sende en pakke på 20 kilo fysisk vekt og 40 kilo volumvekt.</li>
<li>Alternativ 2 (best): Legg inn lengde, bredde og høyde på alle varene dine og modifiser fraktmodulen til å kalkulere pakkestørrelse og sende dette til Fraktuiden.</li>
</ul>
</li>
<li>Benytte transporttider til noe fornuftig i Zen Cart og osCommerce. F.eks. vise det, oppgi forventet leveringsdato i leveringsbekreftelse e.l.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.unneland.com/blog/index.php/2009/03/fraktprismodul-for-zen-cart-og-oscommerce/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hyppige leveranser i prosjekt</title>
		<link>http://www.unneland.com/blog/index.php/2009/02/hyppige-leveranser-i-prosjekt/</link>
		<comments>http://www.unneland.com/blog/index.php/2009/02/hyppige-leveranser-i-prosjekt/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 18:22:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Fag]]></category>
		<category><![CDATA[byggeserver]]></category>
		<category><![CDATA[kvalitet]]></category>
		<category><![CDATA[lampestyring]]></category>
		<category><![CDATA[leveranser]]></category>
		<category><![CDATA[smidig]]></category>

		<guid isPermaLink="false">http://www.unneland.com/blog/?p=174</guid>
		<description><![CDATA[Jeg jobber som prosjektleder på Bring Fraktguide for å tilgjengeliggjøre produktinformasjon, priser, fremsendingstider mm. på en enkel måte til nettbutikker og EDI leverandører. Vi ønsker å levere funksjonalitet hyppig og har nå kommet inn i en god rytme med produksjonssetting 1-2 ganger i måneden. Teamet kjører etter smidige metoder som for det meste er inspirert [...]]]></description>
			<content:encoded><![CDATA[<p>Jeg jobber som prosjektleder på <a href="http://fraktguide.bring.no" target="_blank">Bring Fraktguide</a> for å tilgjengeliggjøre produktinformasjon, priser, fremsendingstider mm. på en enkel måte til nettbutikker og EDI leverandører.</p>
<div id="attachment_210" class="wp-caption aligncenter" style="width: 410px"><img class="size-full wp-image-210" title="Bring Fraktguide" src="http://www.unneland.com/blog/wp-content/uploads/2009/02/bringfraktguide.png" alt="Bring Fraktguide" width="400" height="180" /><p class="wp-caption-text">Bring Fraktguide - http://fraktguide.bring.no/</p></div>
<p>Vi ønsker å levere funksjonalitet hyppig og har nå kommet inn i en god rytme med produksjonssetting <a href="http://fraktguide.bring.no/fraktguide/historikk.do" target="_blank">1-2 ganger i måneden</a>.</p>
<p>Teamet kjører etter smidige metoder som for det meste er inspirert av Scrum og XP, men aller mest; er smidig. Dvs. vi har den metodikken vi trenger for å gjennomføre våre oppgaver. Hverken mer eller mindre&#8230; Dette har også den konsekvensen at måten vi jobber på kontinuerlig revideres.</p>
<h3>Faste rammer i hver iterasjon</h3>
<ul>
<li>Klart fokus for iterasjonen slik at vi jobber for et felles mål</li>
<li>Iterasjonsworkshop og daglige 5-minutters stå-oppmøter ved tavlen</li>
<li>Fast 15 minutters iterasjonsdemo som avslutning</li>
<li>Raske, men effektive refleksjonsworkshop etter demo. Prioritere tre forbedringer for kommende iterasjon og følger disse opp i neste refleksjonsworkshop</li>
<li>Resultatet fra iterasjonen leveres til produksjonssetting første eller andre dag i begynnelsen av påfølgende iterasjon.</li>
<li>Gå opp trappen etter lunsj (ca. 75 høydemeter&#8230;)</li>
</ul>
<h3>Tekniske fokusområder</h3>
<ul>
<li>Automatisert bygging og deploy av applikasjonen (Hudson)</li>
<li>Lampestyring for å reagere raskt på introdusering og reintrodusering av feil</li>
<li>Slideshow på monitor over funksjonalitet for å synliggjøre applikasjonen internt og visuelt reagere på feil i grensesnittet</li>
<li>Testdrevet utvikling. Kravtester i Fitnesse og utviklers enhetstester i JUnit. 90% dekningsgrad.</li>
<li>Knallhardt fokus på kvalitet i kjernen</li>
<li>Strebe etter å ikke påta oss teknisk gjeld. Aktiv refactoring</li>
</ul>
<h3>Vi ønsker alltid å bli bedre &#8211; på listen over forbedringspunkter</h3>
<ul>
<li>Automatiserte web tester</li>
<li>Automatiserte web services tester (fokus på bakoverkompabilitet)</li>
<li>Automaisterte ytelesetester</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.unneland.com/blog/index.php/2009/02/hyppige-leveranser-i-prosjekt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utnytter du Excel og Access lisensene dine?</title>
		<link>http://www.unneland.com/blog/index.php/2009/01/utnytter-du-excel-og-access-lisensene-dine/</link>
		<comments>http://www.unneland.com/blog/index.php/2009/01/utnytter-du-excel-og-access-lisensene-dine/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 21:50:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Fag]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[effektivisering]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[inhouse]]></category>
		<category><![CDATA[lisenser]]></category>
		<category><![CDATA[rasjonalisering]]></category>
		<category><![CDATA[smidig]]></category>

		<guid isPermaLink="false">http://www.unneland.com/blog/?p=173</guid>
		<description><![CDATA[For noen år siden så var jeg med på ryddejobben etter at en større norsk organisasjon hadde byttet driftsplattform fra Windows NT til Windows 2000. Alle maskiner som fortsatt kjørte på NT måtte enten slås av eller oppgraderes til Windows 2000. De fleste applikasjoner hadde ingen eller manglende eiere. Mange av applikasjonene slo vi rett [...]]]></description>
			<content:encoded><![CDATA[<p><strong><em>For noen år siden så var jeg med på ryddejobben etter at en større norsk organisasjon hadde byttet driftsplattform fra Windows NT til Windows 2000. Alle maskiner som fortsatt kjørte på NT måtte enten slås av eller oppgraderes til Windows 2000.</em></strong></p>
<p>De fleste applikasjoner hadde ingen eller manglende eiere. Mange av applikasjonene slo vi rett og slett av etter å ha sjekket om vi kunne finne noen som var interessert i det som kjørte&#8230;</p>
<p>I ett tilfelle hadde det vært en <a href="http://en.wikipedia.org/wiki/DataEase">DataEase</a> applikasjon som hadde gått ut på dato i den <span style="text-decoration: underline;">forrige</span> oppgraderingen. Dette var en enkel database med innhold som måtte beholdes av historiske grunner. Dvs. det var read only. I forrige oppgradering hadde det blitt laget et Java-webgrensesnitt på en kommersiell databasemotor. De som brukte dataene visste ikke om denne Java-applikasjonen (dvs. ingen hadde noensinne brukt den&#8230;). Heldigvis hadde de ikke trengt dataene siden DataEase applikasjonen ble skrudd av. Teoretisk sett kunne de trenge de og da var det viktig. Vi eksporterte dataene til en strukturert samling Excel filer og slo av applikasjonen&#8230;</p>
<h3>For gode intensjoner om gjenbruk</h3>
<p>En applikasjon for bugtracking var først benyttet til det store BEHOVET (bug tracking). Deretter hadde man intensjoner om å gjenbruke applikasjonen (som var ganske rigid&#8230;) til marginale behov som tenderte til å ligne på en bug tracking database. Egentlig var dette prioritering av krav og en enkel database med rapporteringsmuligheter. Det var også mye annet man hadde brukt applikasjonen til, men alt dette var nå ikke lenger i bruk.</p>
<p>Bug tracking var forlengst flyttet til en mer moderne plattform. De applikasjonene med mindre fokus var ikke det. Systemet rullet og gikk og kostet et betydelig antall tusen i året. Systemet var selvfølgelig så gammelt at &#8220;supporten&#8221; var gått ut. Dvs. man kunne velge mellom en oppgradering til et sekssifret beløp og fortsatt driftskostnader, eller&#8230;</p>
<ul>
<li>Prioritering av krav ble flyttet til Microsoft Access database (men kunne nok enda lettere vært håndtert i Excel)</li>
<li>Den enkle databasen med rapporteringsmuligheter ble flyttet til Microsoft Access med spesialtilpasning av rapporter. Selve databasen ble liggende på et nettverksshare og tåler fint de 15-20 som teoretisk kan endre den samtidig.</li>
</ul>
<p>Kostnader ble et ukesverk for etablere databasen og 0 i driftskostnader.</p>
<p><strong>Moral: Tenk enkelt!<br />
</strong></p>
<p><span style="text-decoration: underline;">Det at det høres ut som et system, har vært et system og &#8220;burde&#8221; vært et system så betyr ikke det at det trenger å være et system&#8230;</span></p>
<p>Er det en enkel database som noen brukere skal dele? <strong><br />
-&gt; Bruk Excel!</strong><br />
Må du ha rapportering og mer avansert funksjonalitet?<br />
-&gt; <strong>Bruk Access!</strong></p>
<h3>God bruk av Excel og Access faller mellom to stoler</h3>
<p>Systemutviklere (som meg) tenker ofte på de større løsningene og applikasjonene som er viktig i en organisasjon. Det er disse som har prioritet. Her handler det om Java, Applikasjonsservere, .NET osv&#8230;</p>
<p>Driftsressurser og organisasjoner har en tendens mot å formalisere og outsource supporten fra forretningsbehovet. Man sitter ved siden av i n-linjer med support og svarer på henvendelser og endringsordrer. Man får lite kontakt med forretningsutviklingen i organisasjonen.</p>
<p>Forretningssiden sitter igjen med sine standardverktøy som er begynt å bli veldig kraftige saker&#8230; Dog sitter de fleste av de ikke med tilgang til kompetansen for å utnytte f.eks. Microsoft Excel og Access.</p>
<h3>Konkret forslag til bedre utnyttelse av lisenser</h3>
<ul>
<li> Identifiser 3-4 forretningsområder som trenger bistand til bedre bruk av standardverktøyer</li>
<li>Etabler en <strong>task force</strong> med minst 2 utviklere med kjennskap til Access og Excel</li>
<li>Jobb i iterasjoner av to ukers varighet.
<ul>
<li>Samlokaliser <strong>task force</strong> med forretningsområdet</li>
<li>Planlegg oppgavene i begynnelsen av iterasjonen</li>
<li>Sikre at <strong>task force</strong> holder tett kontakt med forretningsressurser underveis</li>
<li>Lever fungerende software (database, regneark) i slutten av iterasjonen.</li>
<li>Neste iterasjon? Nye utfordringer i nytt forretningsområde, eller fortsett der man slapp. Lever uansett fungerende software etter hver iterasjon.</li>
</ul>
</li>
</ul>
<p>La <strong>task forcen</strong> få 2-3 iterasjoner på å komme i gang. Når du vurderer at de har oppnådd det som er å oppnå i din organisasjon så avslutt og sett utviklerene på andre prosjekter.</p>
<p><em>(Excel og Access er brukt som konkrete eksempler her, det samme prinsippet gjelder uavhengig av hvilken software du har kjøpt &#8211; pass på utnytt din investering)</em></p>
<p><strong><span style="text-decoration: underline;">Jeg er overbevist om at denne tilnærmingen kan gi en positiv og selvforsterkende utnyttelse av allerede innkjøpt software!</span></strong></p>
<p><strong><span style="text-decoration: underline;"><br />
</span></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.unneland.com/blog/index.php/2009/01/utnytter-du-excel-og-access-lisensene-dine/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lampestyring</title>
		<link>http://www.unneland.com/blog/index.php/2008/12/lampestyring/</link>
		<comments>http://www.unneland.com/blog/index.php/2008/12/lampestyring/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 18:30:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Fag]]></category>
		<category><![CDATA[automatisering]]></category>
		<category><![CDATA[byggeserver]]></category>
		<category><![CDATA[kvalitet]]></category>
		<category><![CDATA[lampestyring]]></category>

		<guid isPermaLink="false">http://www.unneland.com/blog/?p=79</guid>
		<description><![CDATA[Utviklere i dag har gjerne et automatisert byggemiljø. Koden bygges, testes og deployes automatisk&#8230; For å få ut effekten av dette er det viktig at utvikler får feedback når noe feiler. Til dette er det greit med en lampe. Det har jo også en gadget faktor&#8230; Delcom Engineering sine USB lamper anbefales på det sterkeste. [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_17" class="wp-caption alignright" style="width: 139px"><a href="http://www.delcom-eng.com/products_USBLMP.asp"><img class="size-medium wp-image-17" title="Delcom Engineering sin USB lampe" src="http://www.unneland.com/blog/wp-content/uploads/2008/12/beaconsredc-268x300.jpg" alt="Delcom Engineering sin USB lampe" width="129" height="144" /></a><p class="wp-caption-text">Delcom Engineering sin USB lampe</p></div>
<p>Utviklere i dag har gjerne et automatisert byggemiljø. Koden bygges, testes og deployes automatisk&#8230; For å få ut effekten av dette er det viktig at utvikler får feedback når noe feiler. Til dette er det greit med en lampe. Det har jo også en gadget faktor&#8230; <img src='http://www.unneland.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><a href="http://www.delcom-eng.com/products_USBLMP.asp" target="_blank">Delcom Engineering sine USB lamper</a> anbefales på det sterkeste. De får strøm og signaler via en USB kabel og finnes i flere varianter.</p>
<p>Bestill en på nettsidene deres ASAP (det tok en stund&#8230;). Det følger med CD med drivere og eksempelprogramvare. Vi har modifisert BAT-filene slik som f.eks. dette.</p>
<blockquote><p><em>BothOff.bat</em><br />
USBDOSAP 10 12 0 7</p>
<p><em>RedOn.bat</em><br />
USBDOSAP 10 12 0 7<br />
USBDOSAP 10 12 2 0</p>
<p><em>GreenOn.bat</em><br />
USBDOSAP 10 12 0 7<br />
USBDOSAP 10 12 1 0</p>
<p><em>YellowOn.bat</em><br />
USBDOSAP 10 12 0 7<br />
USBDOSAP 10 12 4 0</p></blockquote>
<p>Videre må du få byggeserveren til å trigge lampen når det bygges&#8230;</p>
<ul>
<li>Det enkleste er å la den stå direkte på byggeserveren og la den kalle BAT scriptene når du ønsker å trigge lysene.</li>
<li>Vi hadde lampen på en utvikler PC og hadde en Java listener som sjekket RSS filen med status over siste bygg på byggeserveren (<a href="https://hudson.dev.java.net/">Hudson</a>) og styrte lampen via BAT scriptene over.</li>
<li>Tidligere har jeg også praktisert HTTP kall fra byggeserver til utvikler-PC der man har et enkelt PHP script som kaller BAT-filene for å trigge lysene.</li>
</ul>
<p><strong>Vi bruker følgende farger:</strong><br />
<span style="color: #ffcc00;"><strong>Gul lampe</strong></span>: Bygging pågår<br />
<strong><span style="color: #339966;">Grønn lampe</span></strong>: Siste bygg var vellykket. Ingen feil på enhetstester eller kravtester samt løsningen er deployet til utviklingsserver<br />
<strong><span style="color: #ff0000;">Rød lampe</span></strong>: Siste bygg var ikke vellykket. Enten kompileringsfeil, feil på en eller flere enhetstester/kravtester eller feil med deploy</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unneland.com/blog/index.php/2008/12/lampestyring/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

