<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>FOK! updates</title>
	<atom:link href="http://foknl.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://foknl.wordpress.com</link>
	<description>informatie over fok.nl</description>
	<lastBuildDate>Fri, 11 Feb 2011 22:14:39 +0000</lastBuildDate>
	<language>nl</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='foknl.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>FOK! updates</title>
		<link>http://foknl.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://foknl.wordpress.com/osd.xml" title="FOK! updates" />
	<atom:link rel='hub' href='http://foknl.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Updates: forum, fotoboek en onderwerpen</title>
		<link>http://foknl.wordpress.com/2010/07/10/updates-forum-fotoboek-en-onderwerpen/</link>
		<comments>http://foknl.wordpress.com/2010/07/10/updates-forum-fotoboek-en-onderwerpen/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 19:35:53 +0000</pubDate>
		<dc:creator>Peter Breuls</dc:creator>
				<category><![CDATA[ontwikkeling]]></category>

		<guid isPermaLink="false">http://foknl.wordpress.com/?p=84</guid>
		<description><![CDATA[Actieve users hebben het allang gemerkt, maar het is toch leuk het even te benadrukken: we staan momenteel niet stil bij FOK! qua development, en het is merkbaar! Als je het Feedback forum een beetje volgt heb je ongetwijfeld de topics gezien waarin Danny het nieuwe uiterlijk van het forum heeft gepreviewed. Er worden ook [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=foknl.wordpress.com&amp;blog=2050700&amp;post=84&amp;subd=foknl&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Actieve users hebben het allang gemerkt, maar het is toch leuk het even te benadrukken: we staan momenteel niet stil bij FOK! qua development, en het is merkbaar!</p>
<p>Als je het Feedback forum een beetje volgt heb je ongetwijfeld de <a href="http://forum.fok.nl/topic/1492211">topics</a> gezien waarin Danny het nieuwe <a href="http://www.fok.nl/danny/forumpreview.swf">uiterlijk</a> van het forum heeft gepreviewed. Er worden ook af en toe voorproefjes gegeven, en dat alles terwijl een team crewleden al actief met de nieuwe layout werkt en alle foutjes en kleine dingetjes bij Danny meldt om te verhelpen. Al met al schiet het behoorlijk op en komt het moment waarop het forum voor iedereen een nieuw jasje heeft snel dichterbij.</p>
<p>Naast Danny is ook GlowMouse bezig met het forum. Onlangs is al een &#8216;volg topic&#8217; knop ingevoerd, waarmee de lang gekoesterde wens om van de &#8216;terugvindposts&#8217; af te komen, in vervulling ging. Je kunt nu ieder topic, of je er nu in post of niet, in je My Active Topics zetten, of er juist uithalen als je er nadat je erin hebt gepost, geen interesse meer in hebt. Sinds deze week is er ook een reeksenfunctie. Wanneer een topic gesloten is, kun je met een druk op de knop een nieuw topic met dezelfde titel openen en snel verder gaan waar je gebleven was.</p>
<p>Dat zijn slechts twee vernieuwingen, maar reken maar dat er meer aan komt. En niet alleen op het forum. Op het fotoboek verscheen onlangs een nieuw profielveld &#8216;Favo onderwerpen&#8217;. Zoals aan onze kant van de schermen al een beetje werd verwacht, was niet direct duidelijk wat je ermee kon doen en al snel hadden actieve fotoboek-users het veld alweer verwijderd. En het is inmiddels ook alweer uit het systeem gehaald, omdat we een betere optie hebben bedacht. Maar voordat ik dat toelicht is het wellicht handig bij het begin te beginnen.</p>
<p><a href="http://foknl.wordpress.com/2010/01/01/een-nieuwe-site-een-nieuw-begin/">Begin dit jaar</a> hebben we de Frontpage, Sport en Games een update gegeven. Alledrie de sites kwamen op dezelfde software te draaien en werden gecombineerd tot één driedelige site. Een nog onderbelicht onderdeel van die software was de &#8216;Onderwerpen&#8217;-sectie. Geïntroduceerd als de voortzetting van de games-database hebben we dit onderdeel tot nu toe gebruikt om onder andere films, tv-series en sporters in toe te voegen. Maar wat moeten we ermee? Dit is wat ik in januari schreef:</p>
<p><em>&#8220;Op moment van lanceren is dat een bijzonder eenvoudig systeem, waarbij je voornamelijk informatie over een onderwerp kunt vinden en naar andere berichten kunt doorklikken, alsmede onderwerpen van een score kunt voorzien. Uiteindelijk gaan we dit uitbouwen naar een systeem waarbij je je eigen voorkeuren in lijstjes kunt bijhouden, ranglijsten kunt raadplegen en andere features die het navigeren door de sites een rijkere ervaring moeten maken.&#8221;</em></p>
<p>En daar gaan we heel langzaam naartoe werken. Het &#8216;Favo onderwerpen&#8217; veld in het fotoboek was een eerste voorzetje. Bij een film, tv-serie of voetbalclub kun je aanvinken dat het je favoriet is. Als je dat bij al je films zou doen, hebben wij in principe in de database een lijstje van jouw favoriete films. Het doel was altijd al dat je die kon tonen in je fotoboek, en dat is waar de &#8216;Favo onderwerpen&#8217; voor dienden.</p>
<p>Inmiddels is dat veld vervangen door iets waarvan we denken dat het veel handiger is: meerdere velden. In je profieleditor ziet dat er zo uit:</p>
<p><img class="aligncenter" title="Profieleditor" src="http://i.fokzine.net/upload/100708_725_Schermafbeelding%202010-07-08%20om%2020.42.25.png" alt="" width="470" height="235" /></p>
<p>Je kunt aangeven van welke soorten onderwerpen je je favorieten wil tonen in je profiel. En hoeveel. Als je dat instelt gaat het er zo uitzien:</p>
<p><img class="aligncenter" title="Fotoboekprofiel" src="http://i.fokzine.net/upload/100708_725_Schermafbeelding%202010-07-08%20om%2020.42.54.png" alt="" width="470" height="198" /></p>
<p>Op zich best leuk! Je kunt zo in je profiel nog meer van jezelf tonen, zonder alles in het grote tekstvak te moeten stoppen. Zouden wij denken. Maar ik hoor je al denken: &#8216;waar vind ik dan de onderwerpen die ik als favoriet zou willen aanvinken?&#8217;. Het antwoord is simpel: overal op de site.</p>
<p>Nouja, dat is wat overdreven, maar je ziet onder film- en gamereviews al de films en games in een apart blokje staan. Van daaruit kun je altijd doorklikken naar de eigen pagina van die film of game. Wat je er ook in ziet zijn de vinkjes waarmee je, onder andere, kunt aangeven dat het je favoriet is en welk cijfer je eraan wil geven. Als je zo&#8217;n blokje onder een review of nieuwsbericht tegenkomt kun je die altijd meteen gebruiken. De seconde dat je een vinkje zet, kan die film, game of welk onderwerp dan ook te zien zijn in je profiel; mits je natuurlijk die velden hebt aanstaan.</p>
<p>En het houdt niet op bij de &#8220;blokjes onder de reviews&#8221;. Als je cijfers (of sterren) kunt geven aan bijvoorbeeld films, waarom doen we daar dan niks mee? Het antwoord daarop is simpel: omdat met heel weinig stemmen op diverse films een ranglijst van films niet representatief is. Daarom hebben we het even een tijdje laten liggen, een beetje kijken hoe het bevalt, of het gebruikt wordt. Tot nu. Niet dat er inmiddels <em>massaal</em> gestemd is op films, games en tv-series, maar je moet ergens beginnen. Daarom is er vanaf nu een <a href="http://frontpage.fok.nl/film/chart">filmchart</a>, of een <a href="http://games.fok.nl/game/chart">gamechart</a>. Ze zijn nog niet zo heel relevant, vergelijk de filmchart maar eens met de jaarlijkse <a href="http://forum.fok.nl/topic/1323703">Film Top 100</a>, maar alle kleine beetjes helpen.</p>
<p>Zo&#8217;n chart is echter maar 100 items lang. Niet alle films, of games, of tv-series, of whatever, zul je daarin vinden. Daarom is er, al sinds januari, de <a href="http://frontpage.fok.nl/zoek">zoekfunctie</a>. Hier kun je je favoriete films of games in opzoeken en je scores, voorkeuren en dergelijke in aanvinken. En als je gewoon wil bladeren kan dat ook, bijvoorbeeld in de lijst van alle <a href="http://frontpage.fok.nl/film/list">films</a>, alle <a href="http://games.fok.nl/games/list">games</a> of alle <a href="http://frontpage.fok.nl/tvshow/list">tv-series</a>. Het zijn geen complete lijsten; niet *alles* staat erin, maar we breiden de database dagelijks uit en als je echt iets mist, horen we dat natuurlijk graag.</p>
<p>Naast de cijfers en favorieten zijn er nog meer opties die je kunt aangeven in een onderwerp. Ze verschillen per type: bij films kun je aangeven dat je &#8216;m hebt gezien, wil zien, of dat je &#8216;m in huis hebt. Bij games zijn de opties vergelijkbaar, en zo geldt dat voor de andere onderwerpen ook. De optie &#8216;wil ik (zien)&#8217; geeft een voorkeur aan; je hebt een spel nog niet gespeeld, maar dat wil je wel. Of je wilt &#8216;m hebben. Idem voor films. Wat gebeurt er als je dat aanvinkt? Een film verschijnt op de <a href="http://frontpage.fok.nl/film/wishlist">wishlist</a> voor films. Een game op die voor <a href="http://games.fok.nl/game/wishlist">games</a>. Zo kun je makkelijk een lijstje aanleggen van films die je nog wil zien of games die je nog wil spelen. We hebben nog geen uitgebreide boekendatabase, maar als die een beetje groeit, kun je er een leeslijst mee aanleggen.</p>
<p>Voor de overige vinkjes gaan we ook nog lijstjes, opties en uitbreidingen maken. Dat komt allemaal op z&#8217;n tijd. Voor nu ben ik vooral benieuwd wat je ervan denkt. We kunnen achter de schermen altijd wel dingetjes bedenken, maar de praktijk leert dat de user voor wie we deze gedachtenkronkels in het leven roepen het altijd beter weet en vaak nieuwe creatieve aanvullingen weet te bedenken. En daar is dit hele verhaal voor bedoeld; wat vind je ervan en wat moeten we doen om dit hele simpele systeem beter te maken?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/foknl.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/foknl.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/foknl.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/foknl.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/foknl.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/foknl.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/foknl.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/foknl.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/foknl.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/foknl.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/foknl.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/foknl.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/foknl.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/foknl.wordpress.com/84/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=foknl.wordpress.com&amp;blog=2050700&amp;post=84&amp;subd=foknl&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://foknl.wordpress.com/2010/07/10/updates-forum-fotoboek-en-onderwerpen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/857906919245f9428afd84b34bb2a90d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Breuls</media:title>
		</media:content>

		<media:content url="http://i.fokzine.net/upload/100708_725_Schermafbeelding%202010-07-08%20om%2020.42.25.png" medium="image">
			<media:title type="html">Profieleditor</media:title>
		</media:content>

		<media:content url="http://i.fokzine.net/upload/100708_725_Schermafbeelding%202010-07-08%20om%2020.42.54.png" medium="image">
			<media:title type="html">Fotoboekprofiel</media:title>
		</media:content>
	</item>
		<item>
		<title>Een nieuwe site, een nieuw begin</title>
		<link>http://foknl.wordpress.com/2010/01/01/een-nieuwe-site-een-nieuw-begin/</link>
		<comments>http://foknl.wordpress.com/2010/01/01/een-nieuwe-site-een-nieuw-begin/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 19:03:21 +0000</pubDate>
		<dc:creator>Peter Breuls</dc:creator>
				<category><![CDATA[ontwikkeling]]></category>
		<category><![CDATA[upgrades]]></category>

		<guid isPermaLink="false">http://foknl.wordpress.com/?p=79</guid>
		<description><![CDATA[Vandaag is voor de sites Frontpage, Sport en Games een grote update doorgevoerd. Als je niet goed kijkt merk je daar op de FP helemaal niks van, maar Sport en Games hebben een ware metamorfose doorgaan. Ik wil even in vogevlucht met je doornemen wat er zoal nieuw en anders is. Centraal CMS Om te [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=foknl.wordpress.com&amp;blog=2050700&amp;post=79&amp;subd=foknl&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Vandaag is voor de sites Frontpage, Sport en Games een grote update doorgevoerd. Als je niet goed kijkt merk je daar op de FP helemaal niks van, maar Sport en Games hebben een ware metamorfose doorgaan. Ik wil even in vogevlucht met je doornemen wat er zoal nieuw en anders is.</p>
<p><strong>Centraal CMS</strong><br />
Om te beginnen is voor dit project, dat zo ongeveer het hele jaar heeft geduurd, de software van de frontpage helemaal opengebroken en opnieuw in elkaar gezet. Doel hiervan was de database en de bijbehorende software-componenten te vervangen door een systeem dat in staat was de content voor meerdere sites te beheren. Redacteurs kunnen nu items op meerdere sites tegelijk plaatsen, geautomatiseerd naar elkaars content linken en items die op de ene site gepubliceerd zijn, op een andere site in de tracker vermelden.</p>
<p>Dit alles is mogelijk doordat we de data uit de frontpage, sport en games-databases hebben geïmporteerd in een nieuwe centrale database, waarbij de locatie van een bericht slechts een eigenschap van het bericht is, in plaats van dat dat wordt bepaald door in welke database het bericht staat. Redacteurs kunnen door deze ontwikkeling allen gebruik maken van hetzelfde CMS dat qua gebruiksvriendelijkheid sterk is verbeterd ten opzichte van de oude CMS&#8217;en.</p>
<p>Je kunt berichten vanaf nu tegen gaan komen, niet alleen op meerdere sites, maar daarbinnen ook in meerdere categorieën. Dit maakt de keuze voor een categorie een minder zware keuze en zorgt ervoor dat de verschillende categorieën accurater gevuld worden met de juiste berichten.</p>
<p><strong>Uiterlijk</strong><br />
Maar dat alles is slechts de basis, de kern van het systeem. Wat je als gebruiker voornamelijk zult merken is dat alledrie de sites, hoewel ze over een eigen versie van de vormgeving beschikken, gelijk aan elkaar werken. Er zijn geen verschillende wijzen meer waarop reageren werkt, hoe je in het archief bladert of hoe je je voorkeuren voor de update trackers aan de zijkant van de pagina instelt. We hopen dat we door het wegnemen van de verschillende werkwijzen en layouts een meer consistente FOK!ervaring kunnen leveren. Ook zullen ontwikkelingen, zoals bugfixes en nieuwe features, vanaf nu tegelijk op al deze sites worden toegepast, wat voor ons een meer efficiente manier van onderhouden is. Dat zou moeten gaan bijdragen aan een minder grote onderhoudsachterstand.</p>
<p><strong>Onderwerpen</strong><br />
Als je bekend bent met de gang van zaken op FOK!games, weet je dat een nieuwsbericht vaak gekoppeld is aan een game. Je kunt dan doorklikken en meer informatie opzoeken over dat specifieke spel. Deze feature hebben we ook uitgebreid. Er is een nieuw systeem gebouwd dat niet alleen games, maar ook films, boeken, F1-coureurs of voetbalteams als &#8216;onderwerp&#8217; aan een bericht kan koppelen, zodat je daarop verder kunt gaan zoeken. Op moment van lanceren is dat een bijzonder eenvoudig systeem, waarbij je voornamelijk informatie over een onderwerp kunt vinden en naar andere berichten kunt doorklikken, alsmede onderwerpen van een score kunt voorzien. Uiteindelijk gaan we dit uitbouwen naar een systeem waarbij je je eigen voorkeuren in lijstjes kunt bijhouden, ranglijsten kunt raadplegen en andere features die het navigeren door de sites een rijkere ervaring moeten maken.</p>
<p><strong>Optimalisatie</strong><br />
We hebben natuurlijk ook gezorgd voor weer een paar nieuwe verbeteringen op gebied van performance. Niet alleen is er meer gedaan met query-optimalisatie en caching (door middel van Memcached, wat we in de oude Frontpage ook al deden), ook de output van de site zelf is verbeterd. De HTML is hier en daar schoongemaakt en verkleind, en we zijn teruggegaan naar de adviezen van <a href="http://developer.yahoo.com/yslow/">YSlow</a> om te zien of we nog wel genoeg tips toepasten. Daarnaast is het vermelden van de titel van een bericht in de URL (die je misschien kent van een structuur a la &#8220;nieuws/12345/dit-is-een-titel.html&#8221;) vanuit de buitenste (template)laag van de software naar binnen getrokken, wat ervoor moet zorgen dat de gekozen URL&#8217;s consistent zijn op alle plaatsen waar ze vermeld staan. Berichten die onder meerdere URL&#8217;s bereikbaar zijn geven aan Google een instructie mee om te voorkomen dat pagina&#8217;s dubbel geïndexeerd worden, wat moet zorgen voor een accurater zoekresultaat.</p>
<p>Daarnaast hebben we natuurlijk drie systemen gereduceerd tot slechts een. De verbouwing die daarvoor nodig was heeft bovendien niet meer de nukken die bij de oude sites voor frustraties bij de ontwikkelaars zorgden. Bovendien hebben we nu twee systemen minder te onderhouden, wat efficienter werkt. De codebase is daardoor een andere profiteur van grote optimalisatie. Dat is echter alleen relevant voor onszelf, dus laat ik je daar verder niet mee lastig vallen.</p>
<p><strong>Mobiele site</strong><br />
Tot nu toe bevatte de mobiele site alleen nieuwsheadlines van de frontpage. Met het centraliseren van het systeem is het simpeler geworden om ook Sport en Games hieraan toe te voegen, en dat hebben we gedaan. Ook is de site wat prettiger opgebouwd voor telefoons die met vingerbediening werken. Verdere doorontwikkeling aan FOK!mobile zal gaan zorgen voor meer toegang tot content en een rijkere mobiele ervaring door bijvoorbeeld te kunnen reageren op berichten via je telefoon.</p>
<p><strong>De toekomst</strong><br />
Dit nieuwe systeem, officieel versie 4.1 van ons Digital Publishing System, gaat ons in de toekomst nog veel brengen, sprak hij profetisch. Maar het is wel waar. De gedachte achter het nieuwe CMS en het combineren van de subsites is dat onderhoud en uitbreiding eenvoudiger wordt, dat we nieuwe features sitebreed kunnen blijven implementeren en dat we eenvoudiger een grotere uitbreiding aan FOK! kunnen doen.</p>
<p>De afgelopen jaren is er al diverse malen gevraagd om meer focus op bijvoorbeeld films of muziek. Met de oude systemen was dat een flinke klus: een nieuwe site zou gebouwd moeten worden, of op z&#8217;n minst moeten worden afgeleid van bestaande code. We zouden daarmee nog een te-onderhouden codebase krijgen en nog meer verstrooiing van technieken krijgen. Met het huidige systeem zit bijna al het voorbereidende werk op het non-technische vlak. Het wordt voor ons makkelijker om FOK! te verbreden op deze vlakken, en onze intentie is om dat ook te gaan doen.</p>
<p>Daarnaast gaat er met de onderwerpen (de films, de games, de voetbalteams) veel mogelijk worden. Momenteel kun je slechts een cijfer geven en je voorkeuren aanvinken, maar dit moet uiteindelijk leiden tot een stuk gereedschap waarmee je je persoonlijke FOK!profiel kunt uitbreiden, statistieken over uservoorkeuren kunt raadplegen en voor jou interessante content kunt vinden.</p>
<p>Ik heb in deze tekst nog niet alle nieuwigheden van de nieuwe sites benoemd. Ik nodig je uit zelf te gaan struinen en te vinden wat er anders werkt dan je gewend bent, wat er nieuw is en wat je niet bevalt. Voor dat laatste kun je terecht in Feedback of het BUG forum.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/foknl.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/foknl.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/foknl.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/foknl.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/foknl.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/foknl.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/foknl.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/foknl.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/foknl.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/foknl.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/foknl.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/foknl.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/foknl.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/foknl.wordpress.com/79/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=foknl.wordpress.com&amp;blog=2050700&amp;post=79&amp;subd=foknl&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://foknl.wordpress.com/2010/01/01/een-nieuwe-site-een-nieuw-begin/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/857906919245f9428afd84b34bb2a90d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Breuls</media:title>
		</media:content>
	</item>
		<item>
		<title>Ongezouten toegang</title>
		<link>http://foknl.wordpress.com/2009/08/24/ongezouten-toegang/</link>
		<comments>http://foknl.wordpress.com/2009/08/24/ongezouten-toegang/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 22:02:36 +0000</pubDate>
		<dc:creator>Peter Breuls</dc:creator>
				<category><![CDATA[ontwikkeling]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[hacks]]></category>

		<guid isPermaLink="false">http://foknl.wordpress.com/?p=74</guid>
		<description><![CDATA[Hoewel we bij FOK! regelmatig grote delen van de codebase onder handen nemen en vaak (onzichtbaar aan de buitenkant) sterk wijzigen, blijven er altijd zaken drijven waar we niet zomaar wijzigingen in aanbrengen. In ontwikkeltermen heet dat legacy-code of -methoden, en gezien de leeftijd van FOK! (deze zomer alweer tien jaar) is die legacy nogal [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=foknl.wordpress.com&amp;blog=2050700&amp;post=74&amp;subd=foknl&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hoewel we bij FOK! regelmatig grote delen van de codebase onder handen nemen en vaak (onzichtbaar aan de buitenkant) sterk wijzigen, blijven er altijd zaken drijven waar we niet zomaar wijzigingen in aanbrengen. In ontwikkeltermen heet dat legacy-code of -methoden, en gezien de leeftijd van FOK! (deze zomer alweer tien jaar) is die legacy nogal oud.</p>
<p>Daardoor <a href="http://frontpage.fok.nl/nieuws/116339/">heeft het ook kunnen gebeuren</a> dat een verouderde wijze van passwords hashen nog steeds actief was op FOK!. De manier waarop we dat deden, zonder &#8216;salt&#8217; zoals dat heet, is geïntroduceerd voordat ikzelf actief was als ontwikkelaar en hoewel ik ergens een lijstje heb liggen met daarop dit precieze issue als aandachtspunt hebben we er tot noch toe niet naar gekeken.</p>
<p>Stom, zo blijkt nu. Een beetje SQL-injection links en rechts zorgde voor het blootstellen van onze &#8216;unsalted hashes&#8217; en poef, grote kans dat je wachtwoord achterhaalbaar is. Grote kans, vraag je? Jazeker. Ik ga je niet vermoeien met de werking van het kraken (om een simpele term te gebruiken) van een passwordhash, maar het is mogelijk dat met de hash van jouw password als resultaat een ander password wordt gevonden. Hiermee zou je kunnen inloggen op FOK!, maar niet noodzakelijkerwijs ook op andere sites waar je hetzelfde wachtwoord gebruikt.</p>
<p>Het risico is er echter wel, en om dit in de toekomst volledig onmogelijk te maken hebben we gewerkt aan een aanpassing in het hashen van de gebruikerswachtwoorden op FOK!. Alle hashes zoals ze er tot en met dit weekend stonden zijn eruit, en <a href="http://frontpage.fok.nl/nieuws/116420/">we hebben alle users een nieuw wachtwoord</a>, met nieuwe hash en nieuwe hashingmethode, gegeven.</p>
<p>Met salt? Goeie vraag: jazeker! Het hashingalgoritme MD5 is vervangen door de 512-bits variant van SHA2 en er zit een leuke korrel zout in de hele berekenmethode. Hiermee is het verdomde lastig om jouw wachtwoord, indien men over de hash beschikt, te achterhalen. Zo lastig, dat geen hacker zich eraan gaat wagen; de moeite die het zal kosten om een wachtwoord te achterhalen is de opbrengst niet waard.</p>
<p>Wat nu nog rest? Een advies: gebruik niet op meerdere sites hetzelfde wachtwoord, en als je dat risico wel wil nemen, maak dan wel een onderscheid tussen belangrijke persoonlijke toegangswachtwoorden (zoals die van je e-mail) en de minder belangrijke (zoals die van internetfora en -sites). Denk goed na over het risico; wij hebben nu onze verouderde opslag de deur uit gedaan, maar er kunnen andere sites zijn die nog steeds slecht hashen of dat simpelweg helemaal niet doen.</p>
<p>Oh, en bedankt voor je begrip. We voelen ons al lullig genoeg. <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/foknl.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/foknl.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/foknl.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/foknl.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/foknl.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/foknl.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/foknl.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/foknl.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/foknl.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/foknl.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/foknl.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/foknl.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/foknl.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/foknl.wordpress.com/74/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=foknl.wordpress.com&amp;blog=2050700&amp;post=74&amp;subd=foknl&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://foknl.wordpress.com/2009/08/24/ongezouten-toegang/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/857906919245f9428afd84b34bb2a90d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Breuls</media:title>
		</media:content>
	</item>
		<item>
		<title>Over de downtime van  13/14 juni 2009</title>
		<link>http://foknl.wordpress.com/2009/06/23/over-de-downtime-van-1314-juni-2009/</link>
		<comments>http://foknl.wordpress.com/2009/06/23/over-de-downtime-van-1314-juni-2009/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 13:39:32 +0000</pubDate>
		<dc:creator>glowmouse</dc:creator>
				<category><![CDATA[servers]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[onderhoud]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://foknl.wordpress.com/?p=65</guid>
		<description><![CDATA[Vorig weekend was FOK! ruim een dag down. Helaas kwamen er wat klachten over de communicatie vóór en tijdens de downtime, dus daar gaan we in het vervolg opener mee om. Om gelijk goed te beginnen, staat hieronder een samenvatting van wat er allemaal is gebeurd bij dat onderhoud, waarom het zolang duurde, en wat [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=foknl.wordpress.com&amp;blog=2050700&amp;post=65&amp;subd=foknl&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Vorig weekend was FOK! ruim een dag down. Helaas kwamen er wat <a href="http://forum.fok.nl/topic/1304673">klachten</a> over de communicatie vóór en tijdens de downtime, dus daar gaan we in het vervolg opener mee om. Om gelijk goed te beginnen, staat hieronder een samenvatting van wat er allemaal is gebeurd bij dat onderhoud, waarom het zolang duurde, en wat we nog gaan doen om FOK! nog sneller te maken.</p>
<p>De schijven waarop de database bewaard wordt, moesten vervangen worden omdat ze voor 98% volzaten <sub>ergens anders stond 97%, maar dit was eigenlijk 98%</sub>. De drie oude schijven waren 73 GB per stuk, de nieuwe (weer drie) 146 GB. De database moest meeverhuizen, en dat kun je op twee manieren doen: de bestandjes kopiëren of de inhoud uit de bestandjes halen en de bestandjes later opnieuw opbouwen. Wij besloten dat tweede te doen, want ondanks dat het iets meer tijd kost, bood het een aantal voordelen zoals defragmentatie (binnen de bestanden zelf) en het snel aanpassen van veel indices, waarover later meer<sup>1</sup>.<br />
Helaas ging het kopiëren van de inhoud van de bestanden al mis na 3GB: &#8216;segmentation fault&#8217; wat zoiets betekent als &#8216;als de software geen bug bevat dan is je hardware kapot&#8217;. Andere machine geprobeerd, zelfde verhaal. Toen de software maar eens geüpdatet, en toen ging het gelukkig wel goed. Zelfs sneller dan verwacht: binnen een uurtje klaar.</p>
<p>Dan de disks verwisselen. Daarvoor moest wat geschroefd worden. &#8220;Oh&#8221;, zei ik, &#8220;nu moet ik geen schroefje laten vallen want dan verdwijnt hij in dat rooster&#8221;. &#8220;Is niet erg&#8221;, zei Iteejer, &#8220;dat rooster kan open&#8221;. Nog geen minuut later mocht Iteejer het rooster openmaken <img src="http://i.fok.nl/s/puh2.gif" alt="" width="15" height="15" /> Nieuwe schijven erin, netjes de RAID(5)-array aanmaken, partitioneren en formatteren, wat mapjes aanmaken, rechten op de mapjes goedzetten, en de backup kon worden teruggezet. Een mooi taakje om &#8216;s nachts te laten lopen en zelf te gaan slapen. Iteejer zou vroeg opstaan om FOK! weer aan te zwengelen.</p>
<p>Helaas voor mij kwam Iteejer er &#8216;s ochtends (vroeg!) achter dat er &#8216;s nachts toch iets was misgegaan, en stelde mij daarvan op de hoogte zodat er van uitslapen niets terechtkwam. Sommige cruciale tabellen waren nog leeg. De backup zou toch wel volledig zijn aangemaakt? Totaal zonder enig idee van de oorzaak zijn we weer naar Amsterdam vertrokken.</p>
<p>De oorzaak werd al snel duidelijk: het backupprogramma maakt lekker grote pakketjes aan, wat gunstig is voor de snelheid bij het terugzetten. Helaas was één zo&#8217;n pakketje net te groot geworden, waardoor het terugzetten was gestopt. Kwestie van het configuratiebestand openen, max_allowed_packet vergroten, en nog een keer proberen met de gegevens die nog niet waren teruggezet. Dat ging prima, en &#8216;s middags kon de site weer online komen.</p>
<p>Het viel direct op dat de site wel erg traag was. Dat heb je normaalgesproken de eerste minuut altijd omdat hij dan zijn geheugen (16GB) nog moet vullen en tot die tijd de harddisks veel te vaak moet raadplegen, maar dit keer bleef het traag. Uit de errorlog bleek al snel de oorzaak: er was iets misgegaan met InnoDB-logfiles. En daarvoor moest de site weer offline. Alle InnoDB-tabellen (waaronder de enorme tabel met alle forumposts) moesten door een programma worden nagelopen, wat tot in de avonduren duurde en waarvan geen duidelijke voortgangsmeter beschikbaar was. Pas nadat de forumposts-tabel was nagekeken had ik een idee van hoelang het nog ging duren; minutenwerk. En inderdaad: niet lang daarna kon FOK! weer online en werkte het weer prima <img src="http://i.fok.nl/s/smile.gif" alt="" width="15" height="15" /></p>
<p><sup>1</sup>Zoals beloofd nog iets over indices. Daar valt veel snelheidswinst mee te halen als ze nog niet of niet goed ingesteld zijn. Indices zijn gesorteerde lijsten, en als je iets zoekt (zoals een naam in een telefoonboek) of iets nodig hebt dat gesorteerd is (zoals de forumposts in een topic die je op tijd wilt sorteren) dan ben je blij dat je zo&#8217;n al gesorteerde lijst kunt gebruiken. <sub>Overigens, voordat Replique (deels ten onrechte) de schuld krijgt van traagheid, de indices voor de forumposts waren prima, de winst is behaald op de andere subsites.</sub> Voor elke tabel moet je apart die indices instellen, en het is niet op voorhand duidelijk welke indices het beste zijn. Er zijn in totaal honderden tabellen, en bij elke tabel is het aantal mogelijke indices enorm. En ze allemaal instellen is geen optie: die lijsten moeten worden bijgehouden en nemen ruimte in, dus als je ze niet nodig hebt dan wil je ze ook absoluut niet hebben.<br />
Een voorbeeld waar indices groot verschil hebben gemaakt, is de userhistory op de frontpage. Het bleek dat het opvragen hiervan bij sommige users wel een minuut duurde. Toen dit duidelijk werd, is die functie enige tijd <a href="http://forum.fok.nl/topic/1300285" target="_blank">uitgeschakeld geweest</a>. Nu met de juiste index duurt het nog maar milliseconden. Zo groot kan het verschil dus zijn, maar vaak is het verschil kleiner. De afgelopen maand zijn er ruim 50 wijzigingen doorgevoerd, waarvan ongeveer de belangrijkste helft tijdens de downtime, een klein deel overdag en de rest &#8216;s nachts (zie oa. <a href="http://forum.fok.nl/topic/1299097/" target="_blank">hier</a> en <a href="http://forum.fok.nl/topic/1304971" target="_blank">hier</a>).</p>
<p>Maar vaak is het niet zo eenvoudig om een index toe te voegen en direct resultaat te zien. Soms moet ook de software aangepast worden of moeten de gegevens net iets anders worden opgeslagen. Dat is oa. gebeurd bij het fotoboek en de eerdergenoemde frontpageuserhistory. Het effect is gelukkig merkbaar: was FOK! tot een maand geleden nog wel eens langzaam, sindsdien ben ik dat niet meer tegengekomen. Ook wat getallen die de database zelf bijhoudt, geven aan dat hij het rustiger heeft.</p>
<p>Momenteel is Breuls bezig met nieuwe software voor de frontpage, FOK!sport en FOK!games. Dat is de volgende stap met verbeteringen op databasegebied. Het is te hopen dat we daarmee alle traagheid voorgoed achter ons laten.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/foknl.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/foknl.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/foknl.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/foknl.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/foknl.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/foknl.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/foknl.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/foknl.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/foknl.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/foknl.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/foknl.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/foknl.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/foknl.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/foknl.wordpress.com/65/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=foknl.wordpress.com&amp;blog=2050700&amp;post=65&amp;subd=foknl&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://foknl.wordpress.com/2009/06/23/over-de-downtime-van-1314-juni-2009/feed/</wfw:commentRss>
		<slash:comments>148</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0a5ecb7ec99cdacf992de3af00cd5a80?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">glowmouse</media:title>
		</media:content>

		<media:content url="http://i.fok.nl/s/puh2.gif" medium="image" />

		<media:content url="http://i.fok.nl/s/smile.gif" medium="image" />
	</item>
		<item>
		<title>FOK! traag; even down</title>
		<link>http://foknl.wordpress.com/2009/02/08/fok-traag-even-down/</link>
		<comments>http://foknl.wordpress.com/2009/02/08/fok-traag-even-down/#comments</comments>
		<pubDate>Sun, 08 Feb 2009 10:50:38 +0000</pubDate>
		<dc:creator>Peter Breuls</dc:creator>
				<category><![CDATA[servers]]></category>

		<guid isPermaLink="false">http://foknl.wordpress.com/?p=60</guid>
		<description><![CDATA[FOK! is sinds gisteren een stuk trager dan-ie moet zijn, vermoedelijk vanwege een proces in de databaseserver dat, hoewel al vriendelijk verzocht te stoppen (lees: het proces is al gekilled) nog steeds aanwezig is en veel resources vreet. Tot dit moment was het idee om gewoon te wachten tot het proces zichzelf beëindigd had, in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=foknl.wordpress.com&amp;blog=2050700&amp;post=60&amp;subd=foknl&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>FOK! is sinds gisteren een stuk trager dan-ie moet zijn, vermoedelijk vanwege een proces in de databaseserver dat, hoewel al vriendelijk verzocht te stoppen (lees: het proces is al gekilled) nog steeds aanwezig is en veel resources vreet.</p>
<p>Tot dit moment was het idee om gewoon te wachten tot het proces zichzelf beëindigd had, in de verwachting dat dat niet zo lang meer zou duren. Maar aangezien het al de volgende ochtend is en we nog geen verbetering hebben, gaan we er even wat hardere acties tegenaan gooien.</p>
<p>De sites gaan zo even plat zodat we de ruimte hebben voor MySQL om te stoppen en te starten. Da&#8217;s in principe een taak van minder dan een minuut, maar we nemen het zeker voor het onzekere.</p>
<p>FOK! gaat, kortom, zo even down zodat we de boel weer sneller kunnen maken.</p>
<p>Update: na het afsluiten van processen, een reboot en een rondje crash recovery zijn we er weer. Uurtje downtime; langer dan gewenst maar we kunnen er weer tegenaan!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/foknl.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/foknl.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/foknl.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/foknl.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/foknl.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/foknl.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/foknl.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/foknl.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/foknl.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/foknl.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/foknl.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/foknl.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/foknl.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/foknl.wordpress.com/60/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=foknl.wordpress.com&amp;blog=2050700&amp;post=60&amp;subd=foknl&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://foknl.wordpress.com/2009/02/08/fok-traag-even-down/feed/</wfw:commentRss>
		<slash:comments>143</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/857906919245f9428afd84b34bb2a90d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Breuls</media:title>
		</media:content>
	</item>
		<item>
		<title>Database downtime</title>
		<link>http://foknl.wordpress.com/2009/01/24/database-downtime-2/</link>
		<comments>http://foknl.wordpress.com/2009/01/24/database-downtime-2/#comments</comments>
		<pubDate>Sat, 24 Jan 2009 11:38:19 +0000</pubDate>
		<dc:creator>Peter Breuls</dc:creator>
				<category><![CDATA[servers]]></category>

		<guid isPermaLink="false">http://foknl.wordpress.com/?p=57</guid>
		<description><![CDATA[Omdat ik mezelf vandaag tot &#8216;ziek&#8217; reken maar je niet in het duister wil laten tasten, even een kort bericht. De MySQL server heeft vanmorgen wat problemen ondervonden (welke zijn mij nog niet duidelijk, maar dat zoeken we absoluut uit) waardoor een schone herstart niet mogelijk is. Er is daarom nu een reparatieproces aan de [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=foknl.wordpress.com&amp;blog=2050700&amp;post=57&amp;subd=foknl&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Omdat ik mezelf vandaag tot &#8216;ziek&#8217; reken maar je niet in het duister wil laten tasten, even een kort bericht.</p>
<p>De MySQL server heeft vanmorgen wat problemen ondervonden (welke zijn mij nog niet duidelijk, maar dat zoeken we absoluut uit) waardoor een schone herstart niet mogelijk is. Er is daarom nu een reparatieproces aan de gang, waarna we net als gisteren de backupronde gaan herhalen.</p>
<p>Zet dus gerust even een DVD&#8217;tje op.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/foknl.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/foknl.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/foknl.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/foknl.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/foknl.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/foknl.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/foknl.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/foknl.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/foknl.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/foknl.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/foknl.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/foknl.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/foknl.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/foknl.wordpress.com/57/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=foknl.wordpress.com&amp;blog=2050700&amp;post=57&amp;subd=foknl&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://foknl.wordpress.com/2009/01/24/database-downtime-2/feed/</wfw:commentRss>
		<slash:comments>734</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/857906919245f9428afd84b34bb2a90d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Breuls</media:title>
		</media:content>
	</item>
		<item>
		<title>Down voor noodzakelijk onderhoud</title>
		<link>http://foknl.wordpress.com/2009/01/23/down-voor-noodzakelijk-onderhoud/</link>
		<comments>http://foknl.wordpress.com/2009/01/23/down-voor-noodzakelijk-onderhoud/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 09:18:51 +0000</pubDate>
		<dc:creator>Peter Breuls</dc:creator>
				<category><![CDATA[servers]]></category>

		<guid isPermaLink="false">http://foknl.wordpress.com/?p=52</guid>
		<description><![CDATA[De huidige downtime is een gevolg van een storing in de database die vannacht optrad en de site onbereikbaar maakte. Nadat we ons over het probleem hebben gebogen en verholpen (een weinig boeiende overbelasting van de DB), bleek uit een controle dat de storing ervoor zorgde dat het backup-proces vannacht niet goed heeft gelopen. Omdat [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=foknl.wordpress.com&amp;blog=2050700&amp;post=52&amp;subd=foknl&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>De huidige downtime is een gevolg van een storing in de database die vannacht optrad en de site onbereikbaar maakte. Nadat we ons over het probleem hebben gebogen en verholpen (een weinig boeiende overbelasting van de DB), bleek uit een controle dat de storing ervoor zorgde dat het backup-proces vannacht niet goed heeft gelopen.</p>
<p>Omdat we onszelf later niet voor het hoofd willen slaan worden daarom eerst de backups opnieuw gemaakt, voordat we de site weer online gooien en vrolijk verder FOK!ken. En daar is momenteel het wachten op.</p>
<p>We zijn inmiddels klaar, dus je kunt weer FOK!ken.</p>
<p>Om nog een openstaande vraag te beantwoorden: waarom doen we de backups niet terwijl we de site online gooien? Gewoon, uit veiligheid. We willen eerst het backup-proces de ruimte geven onze data veilig te stellen, voordat we diezelfde data openstellen voor usergebruik. Doen we normaal gesproken niet, maar vandaag nemen we het zekere voor het onzekere.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/foknl.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/foknl.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/foknl.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/foknl.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/foknl.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/foknl.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/foknl.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/foknl.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/foknl.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/foknl.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/foknl.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/foknl.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/foknl.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/foknl.wordpress.com/52/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=foknl.wordpress.com&amp;blog=2050700&amp;post=52&amp;subd=foknl&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://foknl.wordpress.com/2009/01/23/down-voor-noodzakelijk-onderhoud/feed/</wfw:commentRss>
		<slash:comments>81</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/857906919245f9428afd84b34bb2a90d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Breuls</media:title>
		</media:content>
	</item>
		<item>
		<title>Database downtime</title>
		<link>http://foknl.wordpress.com/2009/01/02/database-downtime/</link>
		<comments>http://foknl.wordpress.com/2009/01/02/database-downtime/#comments</comments>
		<pubDate>Fri, 02 Jan 2009 11:55:59 +0000</pubDate>
		<dc:creator>Peter Breuls</dc:creator>
				<category><![CDATA[servers]]></category>
		<category><![CDATA[downtime]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://foknl.wordpress.com/?p=49</guid>
		<description><![CDATA[Zoals je hebt gemerkt is FOK! down en melden de sites dat er zaken mis zijn in de database. Dat is inderdaad wat er speelt. Om het iets verder toe te lichten: we hadden last van een aantal performanceproblemen door een aantal specifieke processen in de MySQL server. Het correct verhelpen van deze server bleek [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=foknl.wordpress.com&amp;blog=2050700&amp;post=49&amp;subd=foknl&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Zoals je hebt gemerkt is FOK! down en melden de sites dat er zaken mis zijn in de database. Dat is inderdaad wat er speelt.</p>
<p>Om het iets verder toe te lichten: we hadden last van een aantal performanceproblemen door een aantal specifieke processen in de MySQL server. Het correct verhelpen van deze server bleek uiteindelijk alleen te kunnen door de boel heel even plat te gooien, met als risico dat bij de herstart MySQL wat herstelwerkzaamheden moest uitvoeren. Het risico hieraan is overigens downtime, geen dataverlies.</p>
<p>Dat laatste is nu bezig: MySQL draait, maar accepteert even geen normaal verkeer. Als je nog even kunt wachten kun je straks weer normaal FOK!ken.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/foknl.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/foknl.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/foknl.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/foknl.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/foknl.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/foknl.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/foknl.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/foknl.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/foknl.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/foknl.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/foknl.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/foknl.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/foknl.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/foknl.wordpress.com/49/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=foknl.wordpress.com&amp;blog=2050700&amp;post=49&amp;subd=foknl&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://foknl.wordpress.com/2009/01/02/database-downtime/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/857906919245f9428afd84b34bb2a90d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Breuls</media:title>
		</media:content>
	</item>
		<item>
		<title>Hee we zijn down</title>
		<link>http://foknl.wordpress.com/2008/11/15/hee-we-zijn-down/</link>
		<comments>http://foknl.wordpress.com/2008/11/15/hee-we-zijn-down/#comments</comments>
		<pubDate>Sat, 15 Nov 2008 20:47:58 +0000</pubDate>
		<dc:creator>Peter Breuls</dc:creator>
				<category><![CDATA[servers]]></category>
		<category><![CDATA[down]]></category>

		<guid isPermaLink="false">http://foknl.wordpress.com/?p=27</guid>
		<description><![CDATA[Verdomd, nu je het zegt! Voor zover wij kunnen zien is de situatie als volgt: er is een server plat. Stop. We zijn er mee bezig. Stop. We houden je op de hoogte. Stop. In de tussentijd, hier is een lolcat: En sinds even voor middernacht doen we het weer. Yay! Happy FOK!king!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=foknl.wordpress.com&amp;blog=2050700&amp;post=27&amp;subd=foknl&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Verdomd, nu je het zegt! Voor zover wij kunnen zien is de situatie als volgt: er is een server plat. Stop. We zijn er mee bezig. Stop. We houden je op de hoogte. Stop.</p>
<p>In de tussentijd, hier is een lolcat:</p>
<p style="text-align:center;"><img class="aligncenter" src="http://media.tumblr.com/yHWA4oxH8eogt6fxLbl5HCDPo1_400.jpg" alt="" width="400" height="300" /></p>
<p style="text-align:left;">En sinds even voor middernacht doen we het weer. Yay! Happy FOK!king!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/foknl.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/foknl.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/foknl.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/foknl.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/foknl.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/foknl.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/foknl.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/foknl.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/foknl.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/foknl.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/foknl.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/foknl.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/foknl.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/foknl.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=foknl.wordpress.com&amp;blog=2050700&amp;post=27&amp;subd=foknl&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://foknl.wordpress.com/2008/11/15/hee-we-zijn-down/feed/</wfw:commentRss>
		<slash:comments>155</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/857906919245f9428afd84b34bb2a90d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Breuls</media:title>
		</media:content>

		<media:content url="http://media.tumblr.com/yHWA4oxH8eogt6fxLbl5HCDPo1_400.jpg" medium="image" />
	</item>
		<item>
		<title>De Formule 1 punten: wat was er aan de hand?</title>
		<link>http://foknl.wordpress.com/2008/07/04/de-formule-1-punten-wat-was-er-aan-de-hand/</link>
		<comments>http://foknl.wordpress.com/2008/07/04/de-formule-1-punten-wat-was-er-aan-de-hand/#comments</comments>
		<pubDate>Fri, 04 Jul 2008 09:09:08 +0000</pubDate>
		<dc:creator>Peter Breuls</dc:creator>
				<category><![CDATA[ontwikkeling]]></category>
		<category><![CDATA[f1]]></category>
		<category><![CDATA[sport]]></category>

		<guid isPermaLink="false">http://foknl.wordpress.com/?p=25</guid>
		<description><![CDATA[De afgelopen weken hebben we een, voor ons doen, redelijk ingrijpend besluit genomen: we hebben een lopende sportmanager tijdelijk stopgezet omdat we niet konden garanderen dat het zonder technische ingreep verder correct kon verlopen. De reden hiervoor was dat vanaf ronde 4 van dit F1-seizoen er fouten optraden in de puntentelling van team-onderdelen en daardoor [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=foknl.wordpress.com&amp;blog=2050700&amp;post=25&amp;subd=foknl&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>De afgelopen weken hebben we een, voor ons doen, redelijk ingrijpend besluit genomen: we hebben een lopende sportmanager tijdelijk stopgezet omdat we niet konden garanderen dat het zonder technische ingreep verder correct kon verlopen.</p>
<p>De reden hiervoor was dat vanaf ronde 4 van dit F1-seizoen er fouten optraden in de puntentelling van team-onderdelen en daardoor in de stand van de meespelende gebruikers. Reparatie-acties door de redactie maakten dit erger, omdat het systeem er niet (correct) op rekende dat een niet-ontwikkelaar correcties zou uitvoeren. Chaos alom, en bij gebrek aan ontwikkelaar (Light heeft na jaren hard werk en steun en toeverlaat te zijn geweest enige tijd terug zijn taak als sporttechneut neergelegd) een lastige situatie om te verhelpen.</p>
<p>Dus ik ben erin gedoken. Ik speel zelf niet mee, en ken het spelsysteem dus ook niet. Het is gebouwd voordat ik me met sport of IT binnen FOK! bemoeide en ik ben nooit betrokken geweest bij de ontwerp- of bouwfase (de functie IT-admin bestond nog niet, ontwikkelaars deden alles uit zichzelf zonder toezicht). Documentatie was er nauwelijks, dus het werd een rondje bladeren door code en database-schema&#8217;s. Een ongetwijfeld bekend scenario, maar bijzonder ongewenst.</p>
<p>Omdat niet goed te achterhalen was hoe een &#8216;reset&#8217; of &#8216;reverse&#8217; van een ronde kon worden uitgevoerd, en omdat ik er geen vertrouwen in had (heb? mwah, had) dat de nog te komen speelrondes foutloos verlopen, wilde ik de situatie rigoureuzer verhelpen: het systeem miste een algehele hercontrole en -berekening, dus, zo besloot ik in mijn, ahum, wijsheid, dat die er dan maar moest gaan komen.</p>
<p>Een algehele hercontrole en -berekening is, in mijn ogen, een procedure die je moet kunnen uitvoeren op de huidige status van de database om de fouten die daarin zijn opgeslagen eruit te halen. Wat het in de basis doet is opnieuw beginnen: de punten gaan op nul, de budgetten gaan terug naar het startbedrag en alle gedane handelingen worden vervolgens herhaald totdat we zijn waar we moeten zijn: bij een correcte stand. Let wel: helemaal naar nul is dat niet. Immers: van enkele rondes zijn al uitslagen bekend en alle users hebben al een team samengesteld, hierin gewisseld, er punten voor gekregen, etcetera. Het is dus belangrijk om niet alleen de punten te herberekenen, maar ook om het budgetverloop (inclusief aankopen, verkopen, wisseltarief en het gewonnen budget door het aantal punten) correct te laten verlopen. Het einddoel is ervoor zorgen dat iedereen het aantal punten heeft dat hij of zij heeft verdiend, inclusief het bijbehorende budget, zodat het spel de rest van het seizoen weer correct verder kan worden gespeeld.</p>
<p>Om dat te bereiken heb ik me verdiept in code en database en ben ik gaan testen. Wat voor data krijg ik uit deze query? Wat gebeurt er als ik dat vergelijk met dit? Klopt het dat ik een correct puntenaantal voor deze motor krijg als ik dit en dat tegen elkaar houd? Dit alles is een proces van code analyseren, stukjes code schrijven en combineren met de bestaande codebase en de resultaten aan de sportredactie voorleggen ter controle. &#8220;Nee, dat budget is veel te hoog.&#8221; Oh, back to the drawing board dan maar.</p>
<p>Een lang proces, zoals je zult begrijpen. Code moet geschreven, getest en na controle herschreven worden en voorkomen moet worden dat er fouten optreden. En dat is waarom het allemaal zo lang duurde. Niet alleen omdat dit een lang proces is, maar ook omdat ikzelf qua takenpakket niet beperkt ben tot sport-ontwikkeling. Je zult begrijpen dat dit een situatie is die wordt veroorzaakt door een gebrek aan ontwikkelaars. Bovenstaand verhaal verklaart crystal clear waarom we dedicated ontwikkelaars nodig hebben. Die komen er ook. Zelfs deze week is het team uitgebreid met twee ontwikkelaars voor sport, en na een periode van code lezen kunnen zij ervoor zorgen dat sportliefhebbers ongestoord hun managerspellen kunnen spelen.</p>
<p>En die oude F1-managercode? Dit is de laatste keer dat we die gebruiken. Er zitten goede concepten in, en deze zullen in een nieuw functioneel ontwerp worden gegoten zodat we met een schone lei kunnen beginnen. Nieuwe managers, met minder bugs, betere controle van processen en uiteindelijk (het einddoel) meer spelpezier, dat is waar we op uit zijn.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/foknl.wordpress.com/25/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/foknl.wordpress.com/25/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/foknl.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/foknl.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/foknl.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/foknl.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/foknl.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/foknl.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/foknl.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/foknl.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/foknl.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/foknl.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/foknl.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/foknl.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/foknl.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/foknl.wordpress.com/25/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=foknl.wordpress.com&amp;blog=2050700&amp;post=25&amp;subd=foknl&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://foknl.wordpress.com/2008/07/04/de-formule-1-punten-wat-was-er-aan-de-hand/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/857906919245f9428afd84b34bb2a90d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Breuls</media:title>
		</media:content>
	</item>
	</channel>
</rss>
