<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4994136334132088984</id><updated>2012-02-16T19:28:15.070+01:00</updated><category term='CVA'/><category term='PHP'/><category term='Computernetwerken'/><category term='Spel'/><category term='myCMS'/><category term='EPOC'/><category term='BCI'/><category term='Smarty'/><category term='Cognitive'/><category term='UDP'/><category term='Framework'/><category term='IRC'/><category term='CMS'/><category term='Qt'/><category term='Project'/><category term='Pegs'/><category term='MS'/><category term='Emotiv'/><category term='Bachelorproef'/><category term='School'/><title type='text'>Jens Vandenreyt blogt</title><subtitle type='html'>Student Information Technology</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jensvandenreyt.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jensvandenreyt.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jens Vandenreyt</name><uri>http://www.blogger.com/profile/10108496095271110803</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/-RxudAs9f_jQ/TW1PNd6P6PI/AAAAAAAAABY/P1Muc5W6VgQ/s220/f.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4994136334132088984.post-2260744187678243239</id><published>2011-04-28T16:29:00.000+02:00</published><updated>2011-04-28T16:29:21.810+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='School'/><category scheme='http://www.blogger.com/atom/ns#' term='Project'/><category scheme='http://www.blogger.com/atom/ns#' term='EPOC'/><category scheme='http://www.blogger.com/atom/ns#' term='BCI'/><category scheme='http://www.blogger.com/atom/ns#' term='Bachelorproef'/><category scheme='http://www.blogger.com/atom/ns#' term='Cognitive'/><category scheme='http://www.blogger.com/atom/ns#' term='Emotiv'/><title type='text'>Meer bestuursmogelijkheden</title><content type='html'>&lt;div style="text-align: justify;"&gt;Omdat het onder de knie krijgen van het werken met mijn bachelorproef lang kan duren, heb ik een alternatief ingebouwd dat toelaat om makkelijker gebruik te kunnen maken van de EPOC headset.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Voorheen was er enkel de mogelijkheid om de Cognitiv Suite van Emotiv te gebruiken. Dit zorgde ervoor dat ik steeds véél moest oefenen of trainen met de applicatie en de EPOC op het hoofd vooraleer ik nog maar kon beginnen echt te testen. Dit leidde natuurlijk af en toe tot grote frustratie en werd na een tijdje erg vervelend en herhalend. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-exbXkt0oq6I/TblzGNtbQfI/AAAAAAAAAB8/b2QrTq9VjeM/s1600/expressiv.png" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-exbXkt0oq6I/TblzGNtbQfI/AAAAAAAAAB8/b2QrTq9VjeM/s320/expressiv.png" width="241" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Onderaan kan er worden gekozen&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;div style="text-align: justify;"&gt;In overleg met de begeleider heb ik dan deze week de mogelijkheid ingebouwd waardoor er kan gekozen worden tussen twee verschillende suites. Enerzijds blijft de Cognitiv Suite gewoon klaar voor gebruik. Hierbij worden dus enkel de hersenen gebruikt en moet je je dus concentreren op bepaalde gedachten. Anderzijds heb ik nu ook de Expressiv Suite ingebouwd. Door deze suite te gebruiken moet men niet steeds het moeilijke en verveelde trainingsproces doorlopen. De Expressiv Suite detecteert de (verandering in) gezichtsuitdrukkingen. Dit maakt het dus mogelijk door via simpele bewegingen in het gezicht (links of rechts 'lachen' met de mond en het opheffen of fronsen van de wenkbrauwen) de applicatie aan te sturen.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Of dit goed werkt blijft afwachten tot morgen. Dan ga ik op het EDM nog eens testen met de headset op het hoofd. Wanneer dit goed meevalt kan er ook eens rond gekeken worden voor andere testpersonen (hint C7 ;-) ) die dan de applicatie eens komen testen.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Voor de rest heb ik in het begin van de week ook de code voor het ontvangen van de UDP-pakketten doorgestuurd die momenteel in de revalidatie-applicatie wordt geïmplementeerd. Wanneer dit klaar is kan ik mijn applicatie eens gaan testen in samenwerking met de revalidatie-applicatie.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4994136334132088984-2260744187678243239?l=jensvandenreyt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jensvandenreyt.blogspot.com/feeds/2260744187678243239/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://jensvandenreyt.blogspot.com/2011/04/meer-bestuursmogelijkheden.html#comment-form' title='2 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/2260744187678243239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/2260744187678243239'/><link rel='alternate' type='text/html' href='http://jensvandenreyt.blogspot.com/2011/04/meer-bestuursmogelijkheden.html' title='Meer bestuursmogelijkheden'/><author><name>Jens Vandenreyt</name><uri>http://www.blogger.com/profile/10108496095271110803</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/-RxudAs9f_jQ/TW1PNd6P6PI/AAAAAAAAABY/P1Muc5W6VgQ/s220/f.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-exbXkt0oq6I/TblzGNtbQfI/AAAAAAAAAB8/b2QrTq9VjeM/s72-c/expressiv.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4994136334132088984.post-5560080915135290819</id><published>2011-04-03T23:51:00.001+02:00</published><updated>2011-04-05T16:54:31.515+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pegs'/><category scheme='http://www.blogger.com/atom/ns#' term='Project'/><category scheme='http://www.blogger.com/atom/ns#' term='Spel'/><category scheme='http://www.blogger.com/atom/ns#' term='Qt'/><title type='text'>Pegs - het vervolg</title><content type='html'>&lt;div style="text-align: justify;"&gt;Op de vraag of &lt;a href="http://jensvandenreyt.blogspot.com/2011/03/pegs-het-meest-simpele-spel.html"&gt;Pegs&lt;/a&gt; nog een vervolg zou krijgen is het antwoord dus duidelijk ja geworden. Ik heb me vorige week eens bezig gehouden met het implementeren van meerdere levels in het spelletje. De nieuwe versie van&amp;nbsp;spelletje, inclusief de 13 levels, kan &lt;a href="http://www.vandenreyt.be/pegs/Pegs_v1.0.zip"&gt;hier&lt;/a&gt; gedownload worden. Ik zou het echter meer&amp;nbsp;appreciëren&amp;nbsp;als je Pegs download via onderstaande knop. Gewoon de zip uitpakken en Pegs.exe openen.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Het hele systeem achter de levels is echter nog niet zo geweldig gemaakt. In deze versie zijn de levels compleet hard-coded in het spel, wat het natuurlijk niet bepaald uitbreidbaar maakt. Wat ik misschien later - wederom als ik nog eens zin heb - kan doen is een file-handler maken die effectief levels kan inlezen, zodat ik niet de enige ben die effectief levels kan maken voor het spel.&lt;/div&gt;&lt;br /&gt;
&lt;iframe src="http://betaalsociaal.nl/button/place?id=ca41181cfefee634ff7deb1e9a352709" name="socialpay_tweet_button" style="width:200px;height:24px;overflow:hidden;" scrolling="no" frameborder="no"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4994136334132088984-5560080915135290819?l=jensvandenreyt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jensvandenreyt.blogspot.com/feeds/5560080915135290819/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://jensvandenreyt.blogspot.com/2011/04/pegs-het-vervolg.html#comment-form' title='1 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/5560080915135290819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/5560080915135290819'/><link rel='alternate' type='text/html' href='http://jensvandenreyt.blogspot.com/2011/04/pegs-het-vervolg.html' title='Pegs - het vervolg'/><author><name>Jens Vandenreyt</name><uri>http://www.blogger.com/profile/10108496095271110803</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/-RxudAs9f_jQ/TW1PNd6P6PI/AAAAAAAAABY/P1Muc5W6VgQ/s220/f.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4994136334132088984.post-6648495762323512392</id><published>2011-04-03T23:35:00.000+02:00</published><updated>2011-04-03T23:35:19.181+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pegs'/><category scheme='http://www.blogger.com/atom/ns#' term='Project'/><category scheme='http://www.blogger.com/atom/ns#' term='EPOC'/><category scheme='http://www.blogger.com/atom/ns#' term='Computernetwerken'/><category scheme='http://www.blogger.com/atom/ns#' term='BCI'/><category scheme='http://www.blogger.com/atom/ns#' term='UDP'/><category scheme='http://www.blogger.com/atom/ns#' term='Bachelorproef'/><category scheme='http://www.blogger.com/atom/ns#' term='Cognitive'/><category scheme='http://www.blogger.com/atom/ns#' term='Emotiv'/><title type='text'>Véél testen</title><content type='html'>&lt;div style="text-align: justify;"&gt;Nadat het toch weer voor een tijdje stil heeft gelegen, heb ik vrijdag nog eens even tijd tussen alle andere practica door&amp;nbsp;gevonden&amp;nbsp;om op het EDM te gaan werken aan mijn bachelorproef. Daar is het echter niet veel anders geworden dan testen, debuggen en tweaken. Een grote update zal je dus ook niet krijgen in deze post.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ten eerste heb ik de code die ik heb geschreven om met threads te werken wat verbeterd en geoptimaliseerd. Het afsluiten van de thread heb ik bijvoorbeeld wat verschoond, zodat er nu niet op willekeurige momenten een crash kan optreden als ik mijn headset-listener of programma afsluit - wat overigens tot zéér vervelend dataverlies en het onvermijdelijke gevolg van opnieuw te moeten trainen leidt.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Verder heb ik het mogelijk gemaakt om nog een extra acties, neutraal denken (voor zover dat een acties kan worden genoemd), te trainen. De Emotiv engine vereist dat deze neutrale staat is getraind zodat hij ook kan bepalen wanneer je effectief niet de interface wilt aansturen.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ten derde heb ik mijn cognitieve vaardigheden wat verder getraind en mijn profiel in de applicatie verder uitgebreid. Ik heb nu ook een kleine documentatie aan mezelf aangelegd zodat ik de volgende keer als ik ga trainen en testen rechtstreeks verder kan gaan met de acties die ik reeds had getraind.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Nadat ik het cognitieve denken terug een beetje onder de knie had ben ik begonnen met het effectief testen, hetgeen waarvoor ik in de eerste plaats ben gekomen. Zoals in een van mijn vorige posts ik al had gezegd heb ik in de applicatie Pegs (dat simpele spelletje...) een UDP-listener ingebouwd die kan luisteren naar iedereen en alles die iets heeft te zeggen, maar toch vooral naar mijn EmotivHandler. Door beide applicaties op te starten en de headset-listener te activeren, kon ik controleren of mijn project nu ook effectief al een praktisch nut begon te krijgen. Wat blijkt: het werkte! En goed zelfs! Nooit verwacht eigenlijk, wel op gehoopt. Het enige probleem was dat ik soms - redelijk veel nog - dacht: "Ga naar rechts!", wat hij dan natuurlijk niet deed... Dit lag gelukkig niet aan mijn code, want in de logs kan je perfect zien wat je ook effectief denkt. Het lag dus eerder aan mijn kunde. Conclusie: Ik heb dus nog veel trainingswerk voor de boeg.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Het trainen op 4 verschillende acties plus een neutrale staat is overigens absoluut niet simpel.&amp;nbsp;Na wat research weet je ook waarom...&amp;nbsp;Een actie plus het neutrale (welke ik nu niet meer steeds opnieuw ga vermelden) is een simpele opdracht. De engine kan dan makkelijk het verschil merken tussen "ik denk niks of toch niks specifiek" en "ik denk aan iets of ik doe alleszins moeite om niet aan niks te denken". Wanneer je er dan een tweede actie bijneemt, ga je merken dat je gedachten al minder goed worden gehoorzaamd en opgevolgd door een actie. Je kan je ondertussen waarschijnlijk wel al inbeelden wat voor effect dit heeft als je opgezadeld zit met vier acties.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Het grote probleem hierbij is dat&amp;nbsp;de engine het moeilijker heeft om je gedachten te onderscheiden van elkaar omdat een groot deel van de gedachten elkaar overlappen. Als dit zo is heeft dat meestal één grote reden: je doet het niet goed...&amp;nbsp;Dit komt meestal omdat je in de eerste plaats - als nieuweling dus - vanzelfsprekend het volgende denkt: "een cognitieve gedachte kan ik het makkelijkst oproepen door me een beeld voor de geest te halen." Dit is echter niet waar. Het tegendeel zelfs. Denken aan beelden heeft helemaal geen effect. Wat voor mij min of meer werkt is het proberen te verleggen van je bewustzijn. Om naar beneden te gaan kan je bijvoorbeeld proberen heel aandachtig je bewustzijn in je tenen te stoppen. Het zelfs zo doen dat je echt de minste aanraking of bewegen of weet ik veel wat waarneemt. De instructies waar ik het juist over had zijn voor mij de volgende:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="border: 1px solid #000000; margin-left: 25px; padding: 0 10px 0 10px;"&gt;&lt;pre&gt;Links:  denk aan en concentreer op linkerhand
Rechts: denk aan en concentreer op rechterhand 
        (over textuur van tafel wrijven)
Omlaag: denk aan en concentreer HARD op de tenen
Omhoog: denk aan omhoog en aan de neus
&lt;/pre&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
Het leuke aan vrijdag was dus dat ik effectief een spelletje - dat ik dan ook nog eens zelf had gemaakt, wat het nog leuker maakt - met mijn hersenen heb bediend, zonder dat ik aan mijn toetsenbord of muis moest komen. Ik zal proberen de volgende keer een filmpje ervan te maken en dat erbij te posten.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4994136334132088984-6648495762323512392?l=jensvandenreyt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jensvandenreyt.blogspot.com/feeds/6648495762323512392/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://jensvandenreyt.blogspot.com/2011/04/veel-testen.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/6648495762323512392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/6648495762323512392'/><link rel='alternate' type='text/html' href='http://jensvandenreyt.blogspot.com/2011/04/veel-testen.html' title='Véél testen'/><author><name>Jens Vandenreyt</name><uri>http://www.blogger.com/profile/10108496095271110803</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/-RxudAs9f_jQ/TW1PNd6P6PI/AAAAAAAAABY/P1Muc5W6VgQ/s220/f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4994136334132088984.post-7936261328362912826</id><published>2011-03-20T22:44:00.000+01:00</published><updated>2011-03-20T22:44:06.383+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EPOC'/><category scheme='http://www.blogger.com/atom/ns#' term='UDP'/><category scheme='http://www.blogger.com/atom/ns#' term='Bachelorproef'/><category scheme='http://www.blogger.com/atom/ns#' term='Emotiv'/><title type='text'>Milestone 2</title><content type='html'>Als methode om met de externe (EDM-)applicatie te communiceren had ik tot aan mijn vorige post nog niet beslist - en volledig onderzocht - wat ik ging gebruiken. Zoals gezegd heb ik wat opgezocht en gelezen en dit is het resultaat:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;Berichten naar het venster met focus&lt;/b&gt;&lt;br /&gt;
Een van de manieren om de ene applicatie iets te laten weten vanuit een andere applicatie is gebruik maken van de ingebouwde functies van Windows om berichten te sturen. Deze&amp;nbsp;berichten&amp;nbsp;zijn meestal venster-gerelateerde acties - zoals minimaliseren of sluiten - maar kunnen ook acties zijn zoals het zenden van een toetsaanslag (keystrokes). Hoewel de msdn van Microsoft altijd wel uitgebreid is, is de documentatie over dit deel van de functies zeer beperkt. Artikels over het topic zijn maar zeer schaars en als je dan ook nog eens moet gaan snoeien in de resultaten omdat de meeste artikels voor C# of .NET zijn, schiet er bijna niets meer over. Het gebruik van de *Message-functie is daarbij ook nog eens tegen&amp;nbsp;intuïtief.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Berichten via een socket&lt;/b&gt;&lt;br /&gt;
Het andere alternatief is het gebruiken van een socket om berichten van de ene applicatie (poort eigenlijk) naar de andere te krijgen. Hiervoor opteer ik om een UDP-socket te gebruiken. De keuze voor UDP valt te verantwoorden door het feit dat de communicatie snel moet gaan. Dit kan het beste met UDP waarbij er niet zoveel tijd verloren gaat aan het garanderen van de betrouwbaarheid. Dat laatste is overigens niet nodig aangezien er op de lijn tussen IP 127.0.0.1 en 127.0.0.1 nu niet zo veel kan gebeuren ;-).&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;Na wat testen wat het makkelijkste was voor mij en een mailtje te sturen met de vraag welk van de twee alternatieven ze het liefst op het EDM zullen implementeren is de knoop doorgehakt en is het het UPD alternatief geworden. Met een half uurtje programmeren en wat testen is dit uiteindelijk klaar geraakt.&lt;br /&gt;
&lt;br /&gt;
Het testen van de besturing van een applicatie via de socket heb ik gedaan met het spelletje Pegs waarover ik het in mijn vorige post had. Door daarin met een QUdpSocket te werken was het zelfs niet nodig om een extra listener-thread aan te maken. Via de simpele signal-slot-constructie van Qt heb ik een slot gemaakt dat de informatie die werd verstuurd over de socket ontvangt en analyseert en daarna de juiste toetsaanslag simuleert. Hierdoor was het zeer simpel om de socket te koppelen aan de uiteindelijke acties van het spel.&lt;br /&gt;
&lt;br /&gt;
Door beide applicaties op te starten en de Emotiv Handler te verbinden met de EmoComposer kon ik de hersenactiviteit simuleren en op die manier zien dat het - tot nu toe - allemaal feiloos werkt. :-) Eens kijken hoe dit gaat wanneer ik nog eens ga testen met de EPOC headset op mijn hoofd.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4994136334132088984-7936261328362912826?l=jensvandenreyt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jensvandenreyt.blogspot.com/feeds/7936261328362912826/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://jensvandenreyt.blogspot.com/2011/03/milestone-2.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/7936261328362912826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/7936261328362912826'/><link rel='alternate' type='text/html' href='http://jensvandenreyt.blogspot.com/2011/03/milestone-2.html' title='Milestone 2'/><author><name>Jens Vandenreyt</name><uri>http://www.blogger.com/profile/10108496095271110803</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/-RxudAs9f_jQ/TW1PNd6P6PI/AAAAAAAAABY/P1Muc5W6VgQ/s220/f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4994136334132088984.post-6499314744540055353</id><published>2011-03-17T22:22:00.001+01:00</published><updated>2011-04-03T23:42:31.052+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pegs'/><category scheme='http://www.blogger.com/atom/ns#' term='Project'/><category scheme='http://www.blogger.com/atom/ns#' term='Spel'/><category scheme='http://www.blogger.com/atom/ns#' term='Qt'/><title type='text'>Pegs - het meest simpele spel</title><content type='html'>&lt;div style="text-align: justify;"&gt;Tijdens het studeren voor een fysica examen wat waarschijnlijk toch niet zo goed gaat geweest zijn, is de nodige ontspanning zeker niet te vergeten. En wat gaat er (tijdens het werken met een grafisch rekentoestel) boven het spelen van spelletjes op dat rekentoestel? Niets... (anti-climax eh?;-))&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Zo is het dan ook gekomen dat ik een spelletje (Pegs) dat ik 5 jaar geleden - jawel, in het 5de middelbaar - op mijn rekentoestel had gezet nu terug heb gevonden en opnieuw heb uitgespeeld. Ik vond het zelfs zo leuk dat ik dacht: "hoe moeilijk kan het zijn om dit spel zelf te maken?" Ik met mijn idiote ideeën altijd ben dus de dag voor het examen, 's avond in de zetel, begonnen met het programmeren aan een kleine Qt-applicatie.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-8YM1-jToj2A/TYZrM0kGNUI/AAAAAAAAAB4/maiJ1TbXBqA/s1600/pegs.png" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto; text-align: justify;"&gt;&lt;img border="0" height="170" src="https://lh4.googleusercontent.com/-8YM1-jToj2A/TYZrM0kGNUI/AAAAAAAAAB4/maiJ1TbXBqA/s200/pegs.png" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Test scene&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;div style="text-align: justify;"&gt;Na een paar regels code en wat prullen in Qt-creator kwam de basis interface er al uit en een uurtje later was het spelletje een feit. De bedoeling van het spel is dat je alle beweegbare blokken (buiten de 'cursor') wegwerkt. Dit kan door blokken van hetzelfde type tegen elkaar te duwen zodat ze verdwijnen of transformeren tot een vaste onbeweegbare blok. De transformatie regels zijn als volgt:&amp;nbsp;&lt;/div&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li style="text-align: justify;"&gt;Driehoek + driehoek = vaste blok,&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Cirkel + cirkel = verdwijnen,&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Wit vierkant + wit vierkant = verdwijnen,&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Plus + plus geeft een nieuwe blok waarvan je het type kan kiezen,&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Zwart vierkant + wit vierkant = verdwijnen,&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Zwart vierkant + eender welk ander type = zwart vierkant&lt;/li&gt;
&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;De bijgevoegde afbeelding is een test scene waarbij ik alle soorten blokken heb geplaatst in de scene. Omdat ik geen zin meer had heb ik echter nooit de moeite gedaan om echte scene's voor het spel te maken waardoor dit project eigenlijk niet meer is dan een hoopje mogelijkheden om jezelf en de verschillende blokken door de scene te verplaatsen en te transformeren. Misschien dat het project nog een vervolg krijgt, wie weet krijg ik daar wel nog eens zin in. Dat blijft echter de grote vraag nu...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4994136334132088984-6499314744540055353?l=jensvandenreyt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jensvandenreyt.blogspot.com/feeds/6499314744540055353/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://jensvandenreyt.blogspot.com/2011/03/pegs-het-meest-simpele-spel.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/6499314744540055353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/6499314744540055353'/><link rel='alternate' type='text/html' href='http://jensvandenreyt.blogspot.com/2011/03/pegs-het-meest-simpele-spel.html' title='Pegs - het meest simpele spel'/><author><name>Jens Vandenreyt</name><uri>http://www.blogger.com/profile/10108496095271110803</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/-RxudAs9f_jQ/TW1PNd6P6PI/AAAAAAAAABY/P1Muc5W6VgQ/s220/f.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh4.googleusercontent.com/-8YM1-jToj2A/TYZrM0kGNUI/AAAAAAAAAB4/maiJ1TbXBqA/s72-c/pegs.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4994136334132088984.post-4402484998404504583</id><published>2011-03-01T15:33:00.000+01:00</published><updated>2011-03-01T20:06:40.112+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Project'/><category scheme='http://www.blogger.com/atom/ns#' term='EPOC'/><category scheme='http://www.blogger.com/atom/ns#' term='BCI'/><category scheme='http://www.blogger.com/atom/ns#' term='Bachelorproef'/><category scheme='http://www.blogger.com/atom/ns#' term='Emotiv'/><title type='text'>Eerste EPOC ervaring</title><content type='html'>&lt;div style="text-align: justify;"&gt;Zoals reeds gezegd had ik woensdag een afspraak op het EDM om mijn applicatie te testen met de EPOC headset. Na het installeren van mijn laptop en het aansluiten van de EPOC begon ik met de lastige taak van het op mijn hoofd zetten van de headset. Hier alleen al ben je - in het begin, na verloop van tijd werd het makkelijker - een half uur aan kwijt, en dat allemaal te danken aan mijn toch nog niet zó gigantisch duivennest als haardos hierboven... Maar goed, eens alles klaar kon ik beginnen met testen.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ik ben begonnen met het zoeken naar een alternatieve methode om te verbinden met de EmoEngine, aangezien het rechtstreeks verbinden om de een of andere reden - qua code is het min of meer dezelfde opbouw als in de voorbeelden waarin het overigens wel werkt - niet werkt. Nu goed, na wat prullen en zoeken kwam ik erop uit dat via het Control Panel van Emotiv zelf ik wel een connectie kon leggen met de engine. Op die manier was ik vertrokken!&lt;br /&gt;
&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-k4u1Z7Hu0M4/TW0AUY9E8tI/AAAAAAAAAAo/KEi74B0HYTg/s1600/blokje.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="155" src="https://lh3.googleusercontent.com/-k4u1Z7Hu0M4/TW0AUY9E8tI/AAAAAAAAAAo/KEi74B0HYTg/s200/blokje.png" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Het Emotiv blokje&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;Nu dat connectie maken lukt, begon ik aan de training in het Control Panel (CP) van Emotiv. Dit had dus even niks meer te maken met mijn eigen applicatie. In dat Control Panel zit er bij de Cognitiv suite een&amp;nbsp;trainingsprogramma&amp;nbsp;waarbij je met je gedachte een blokje dat zweeft moet proberen te manipuleren. Deze manipulaties zijn de standaard acties die kunnen worden geïmplementeerd. Ik ben dus direct aan het trainen geslagen voor zo snel mogelijk wat resultaat te hebben. De eerste actie die ik trainde was (neutraal en daarna pas) bewegen naar links. Na een of twee keer de trainingssessie van 10 seconden te volgen ging dat redelijk vlot.&lt;br /&gt;
&lt;br /&gt;
Vervolgens pak je daar na een paar sessies telkens een nieuwe actie bij. Iedere keer dat je er een nieuwe actie bij neemt, merk je dat het uitvoeren van de andere acties ook beduidend moeilijker wordt. Na wat meer lezen heb ik gevonden dat dit komt omdat een ongeoefend EPOC-gebruiker nog teveel dubbelzinnige signalen uitzendt wanneer er wordt getraind. Op die manier hebben meerdere acties bepaalde delen van signalen die overlappen en weet de Engine soms niet meer wat te doen.&lt;br /&gt;
&lt;br /&gt;
Na uiteindelijk bijna een uur bezig te zijn met dat trainen en een beetje ervaring op te doen met zo een EEG headset - uiteindelijk ben ik nog steeds de grootste n00b die er bestaat hierin - kon ik beginnen met het toepassen van het gebruik van de EPOC op mijn eigen tot nu toe gemaakte applicatie. Ik was zo slim geweest om bij het trainen van de acties met het blokje, de acties te nemen die overeenstemmen met de acties die ik gebruik in de EmotivHandler. Op die manier moest ik maar gewoon mijn applicatie openen en terug sluiten om al mijn data die ik net had getraind op te slaan in een eigen profiel in het formaat dat de applicatie verstaat.&lt;br /&gt;
&lt;br /&gt;
Al snel kwam het eerste probleem aan het licht. Nee, eigenlijk niet het eerste... Het eerste probleem was dat wanneer je die EPOC al een uur op je hoofd hebt, je serieus hoofdpijn begint te krijgen. Dat ding spant langs alle kanten en duwt blijkbaar op gevoelige plaatsen op het hoofd. Met andere woorden: memo aan mezelf. Neem de volgende keer een pijnstiller mee... Terug serieus, het eerste (tweede dus ;-) ) probleem dat ik tegenkwam was dat wanneer ik mooi getraind had en ik eens wou gaan testen of mijn applicatie mooi reageerde op de input die hij kreeg vanuit mijn hersenen, de Emotivhandler bijna overspoeld werd door de signalen die hij - laten we aannemen dat de applicatie mannelijk is - binnen kreeg. Dat deed al snel een belletje rinkelen dat er een dubbele filter op de input - voor de EPOC is dit de output - signalen moest komen. Enerzijds heb ik toen een filter gemaakt die ervoor zorgt dat enkel de signalen met een sterke boven 40% worden geïnterpreteerd. Anderzijds heb ik die filter dan nog eens uitgebreid zodat enkel om de volledige seconde een signaal van het zelfde type kan worden uitgevoerd.&lt;br /&gt;
&lt;br /&gt;
Op het einde van de dag is het resultaat toch al niet niks, vind ik zelf. Wat mijn EmotivHandler nu kan is het volgende:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Verbinden met de EmoEngine,&amp;nbsp;weliswaar&amp;nbsp;via het Control Panel,&lt;/li&gt;
&lt;li&gt;Profiel inlezen en opslaan,&lt;/li&gt;
&lt;li&gt;Acties trainen en wissen (neutraal trainen moet ik nog een knopje voor maken),&lt;/li&gt;
&lt;li&gt;Headset listener aan- en uitschakelen,&lt;/li&gt;
&lt;li&gt;Signalen filteren en de daaruit volgende acties aanroepen (deze acties hebben nog geen gevolg).&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;De volgende vraag diende zich nu op: Hoe moeten deze acties worden afgehandeld? Via een socket? Via signalen naar het venster met focus? Zelf de interface implementeren (zal wel...)? Kortom, vooraleer de volgende grote milestone er komt moet er nog wel wat worden opgezocht en gelezen...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;De groeten en tot de volgende!&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4994136334132088984-4402484998404504583?l=jensvandenreyt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jensvandenreyt.blogspot.com/feeds/4402484998404504583/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://jensvandenreyt.blogspot.com/2011/03/eerste-epoc-ervaring.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/4402484998404504583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/4402484998404504583'/><link rel='alternate' type='text/html' href='http://jensvandenreyt.blogspot.com/2011/03/eerste-epoc-ervaring.html' title='Eerste EPOC ervaring'/><author><name>Jens Vandenreyt</name><uri>http://www.blogger.com/profile/10108496095271110803</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/-RxudAs9f_jQ/TW1PNd6P6PI/AAAAAAAAABY/P1Muc5W6VgQ/s220/f.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh3.googleusercontent.com/-k4u1Z7Hu0M4/TW0AUY9E8tI/AAAAAAAAAAo/KEi74B0HYTg/s72-c/blokje.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4994136334132088984.post-4798090100944881913</id><published>2011-02-21T21:48:00.000+01:00</published><updated>2011-03-01T11:42:43.516+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Project'/><category scheme='http://www.blogger.com/atom/ns#' term='EPOC'/><category scheme='http://www.blogger.com/atom/ns#' term='Bachelorproef'/><category scheme='http://www.blogger.com/atom/ns#' term='Emotiv'/><title type='text'>Milestone 1: check!</title><content type='html'>&lt;div style="text-align: justify;"&gt;Mijn doel voor het einde van de week was het volgende: heb een volledig werkende applicatie. Dat is natuurlijk niet gelukt. Het maken van een applicatie met een kleine interface met de benodigde functionaliteit was een meer realistisch doel. Dat is dus ook wat ik heb gedaan.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://lh6.googleusercontent.com/-0sPpmMIldks/TWzAWADBD9I/AAAAAAAAAAg/18hU8KrRwsQ/s1600/mainwindow.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: justify;"&gt;&lt;img border="0" height="200" src="https://lh6.googleusercontent.com/-0sPpmMIldks/TWzAWADBD9I/AAAAAAAAAAg/18hU8KrRwsQ/s200/mainwindow.png" width="151" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na het onder de knie krijgen van de API ben ik rechtstreeks in gang geschoten met coderen.&amp;nbsp;Hierbij ben ik begonnen met in Qt een kleine interface te maken zodat ik een houvast had om rond te kunnen werken. Deze 'houvast-interface', het mainwindow, is niet meer dan een&amp;nbsp;menubalk, een log-venstertje en een knop om het luisteren en verzenden naar de EPOC aan en uit te zetten. Het grootste deel van de acties van de applicatie vertrekt dus hier en de feedback daarop wordt ook zichtbaar gemaakt in dit venster. De 'Enable headset'- of 'Disable headset'-knop doet eigenlijk niet veel meer dan een extra thread opstarten of afsluiten die een while-loopje heeft om events op te vangen.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-TjEPkrtRUGU/TWzAV5RTK8I/AAAAAAAAAAc/ss3UMzFmjhs/s1600/connect+dialog.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="98" src="https://lh3.googleusercontent.com/-TjEPkrtRUGU/TWzAV5RTK8I/AAAAAAAAAAc/ss3UMzFmjhs/s200/connect+dialog.png" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Dialoog: Connect to&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;Om de applicatie te laten communiceren met de EmoEngine, moet er natuurlijk eerst een connectie worden opgezet. Om zo een connectie op te zetten moet er in het menu - niet verschieten - op 'Connect' worden geklikt. Hetgeen wat er dan opent is een simpel en klein dialoogvenstertje dat de keuze biedt om te verbinden met enerzijds de EmoEngine direct of anderzijds via de EmoComposer of het Emotiv Control Panel met de EmoEngine.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-JQ1BkUOthoU/TWzAWe0qXFI/AAAAAAAAAAk/MauZgUSvVsQ/s1600/training+dialog.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="190" src="https://lh4.googleusercontent.com/-JQ1BkUOthoU/TWzAWe0qXFI/AAAAAAAAAAk/MauZgUSvVsQ/s200/training+dialog.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;Eens de verbinding tot stand is gebracht is het verstandig om te beginnen met een training van de acties. Dit kan worden gedaan in het dialoogvenster 'Training'. Om een training voor een bepaalde actie te starten wordt er simpelweg op de gewenste actie en vervolgens op de knop 'Start training' geklikt. Op het moment dat de training start kan er voor tien seconden lang niet anders worden gedaan dan de training en op het einde van die training wordt er nog eens voor een bevestiging gevraagd.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wanneer de acties zijn getraind, kan men beginnen met het uitdenken en verzenden van acties. Door in het hoofdvenster simpelweg op 'Enable headset' te klikken, wordt het hierboven reeds uitgelegde thread opgestart. Wanneer er dan aan een van de acties wordt gedacht, zal in het logvenster hiervan de juiste feedback en sterkte van de gedachte worden gegeven.&lt;br /&gt;
&lt;br /&gt;
Allemaal goed en wel, alle code tot nu toe is helemaal thuis geschreven. Het nadeel aan thuis werken wanneer er extra - relatief dure - hardware nodig is, is dat je die niet hebt. Met het testen heb ik het volledig moeten doen met de EmoComposer. Die bijgeleverde applicatie is een simulator voor het zenden van brainwaves. Dit allemaal verloopt in theorie wel vlotjes, maar in samenwerking met de nieuwe applicatie verloopt dit toch maar wat houterig. Zo zendt de EmoComposer steeds op eenzelfde frequentie (vb. f = 4 Hz) uit met sterktes die maar&amp;nbsp;variëren&amp;nbsp;tot in de&amp;nbsp;honderdsten. Een echt probleem vormt dit niet, maar the real thing is natuurlijk leuker! The real thing zal dan ook voor woensdag zijn, wanneer ik het ga testen op het EDM met de EPOC op mijn hoofd!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4994136334132088984-4798090100944881913?l=jensvandenreyt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jensvandenreyt.blogspot.com/feeds/4798090100944881913/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://jensvandenreyt.blogspot.com/2011/02/milestone-1-check.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/4798090100944881913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/4798090100944881913'/><link rel='alternate' type='text/html' href='http://jensvandenreyt.blogspot.com/2011/02/milestone-1-check.html' title='Milestone 1: check!'/><author><name>Jens Vandenreyt</name><uri>http://www.blogger.com/profile/10108496095271110803</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/-RxudAs9f_jQ/TW1PNd6P6PI/AAAAAAAAABY/P1Muc5W6VgQ/s220/f.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh6.googleusercontent.com/-0sPpmMIldks/TWzAWADBD9I/AAAAAAAAAAg/18hU8KrRwsQ/s72-c/mainwindow.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4994136334132088984.post-8683250026441298921</id><published>2011-02-19T00:00:00.000+01:00</published><updated>2011-02-28T23:38:00.267+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='School'/><category scheme='http://www.blogger.com/atom/ns#' term='Project'/><category scheme='http://www.blogger.com/atom/ns#' term='EPOC'/><category scheme='http://www.blogger.com/atom/ns#' term='Bachelorproef'/><category scheme='http://www.blogger.com/atom/ns#' term='Emotiv'/><title type='text'>Emotiv Development Kit</title><content type='html'>&lt;div style="text-align: justify;"&gt;Na het installeren van de SDK van Emotiv - genaamde EDK -, het verkennen van de magere documentatie en het bekijken van de voorbeelden ben ik begonnen met een ontwerp te maken voor de basisgedachte van de applicatie en de werking ervan.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;De hele API van Emotiv werkt met drie zo genaamde suites, de Expressiv, de Affectiv en de Cognitiv suite. De Expressiv suite gebruikt de hersengolven die instaan voor het creëren van de spiersamentrekkingen om gezichtsuitdrukkingen te maken. De Affectiv suite focust zich op de gemoedstoestand van de gebruiker en de Cognitiv suite, de suite die ik zal gaan gebruiken, werkt met het reproduceren van bepaalde gedachten.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Waar de twee eerste suites elk kunnen werken zonder enige training of configuratie, moet er voor de Cognitiv suite een profiel worden bijgehouden. In zo een profiel worden bepaalde gedachten gekoppeld aan het uitsturen van bepaalde 'signalen'. Aan zo een signaal kan de ontwikkelaar dan bepaalde acties koppelen die kunnen worden gereproduceerd door diezelfde gedachte terug op te halen.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;De idee achter de applicatie is een tussenliggende applicatie die alle in- en output van de EmoEngine afhandelt. Het gedeelte waarbij de EmotivHandler communiceert met de EmoEngine, en dus ook met de EPOC headset, is allemaal redelijk&amp;nbsp;voor de hand liggend&amp;nbsp;met een extra thread die steeds staat te luisteren. Het tweede gedeelte van de applicatie, de koppeling met de reeds ontwikkelde hoofdapplicatie kan op meerdere manieren gebeuren:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Via een socket&lt;/b&gt;&amp;nbsp;kan de EmotivHandler communiceren met de revalidatie-applicatie en zo zijn ding doen daar. Het voordeel aan deze benadering is dat ze rechtstreeks is en speciaal toegespitst is op de hoofdapplicatie. Dit voordeel is eveneens het nadeel ervan. Omdat ze zo een specifiek doel heeft, kan zo alleen maar gebruikt worden voor dat doel.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Via signalen naar het venster met focus&lt;/b&gt;&amp;nbsp;kan de EmotivHandler niet alleen de navigatie in de doelapplicatie verzorgen maar ook die van andere vensters. Op die manier is het domein waarin de applicatie kan worden gebruikt niet zo eng.&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;Welke keuze ik ga maken weet ik nog niet. Dat hangt af van nog wat&amp;nbsp;opzoekingswerk&amp;nbsp;dat gaat volgen.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4994136334132088984-8683250026441298921?l=jensvandenreyt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jensvandenreyt.blogspot.com/feeds/8683250026441298921/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://jensvandenreyt.blogspot.com/2011/02/emotiv-development-kit.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/8683250026441298921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/8683250026441298921'/><link rel='alternate' type='text/html' href='http://jensvandenreyt.blogspot.com/2011/02/emotiv-development-kit.html' title='Emotiv Development Kit'/><author><name>Jens Vandenreyt</name><uri>http://www.blogger.com/profile/10108496095271110803</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/-RxudAs9f_jQ/TW1PNd6P6PI/AAAAAAAAABY/P1Muc5W6VgQ/s220/f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4994136334132088984.post-3652951201150890889</id><published>2011-02-17T10:35:00.000+01:00</published><updated>2011-02-28T17:10:16.685+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='School'/><category scheme='http://www.blogger.com/atom/ns#' term='Project'/><category scheme='http://www.blogger.com/atom/ns#' term='EPOC'/><category scheme='http://www.blogger.com/atom/ns#' term='BCI'/><category scheme='http://www.blogger.com/atom/ns#' term='CVA'/><category scheme='http://www.blogger.com/atom/ns#' term='Bachelorproef'/><category scheme='http://www.blogger.com/atom/ns#' term='Emotiv'/><category scheme='http://www.blogger.com/atom/ns#' term='MS'/><title type='text'>Let my brain show you how</title><content type='html'>&lt;div style="text-align: justify;"&gt;Na een tijdje lezen en denken over een naam voor mijn bachelorproef, is het EmotivHandler geworden. Dit project wordt uiteindelijk een applicatie die via een API hersengolven om kan zetten naar acties in een bepaalde applicatie. Deze API is geschreven door &lt;a href="http://www.emotiv.com/"&gt;Emotiv&lt;/a&gt; en gebruikt de Emotiv EPOC headset om alles op te vangen.&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; text-align: justify;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://research.edm.uhasselt.be/~jroctavia/thesis/emotiv.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="158" src="http://research.edm.uhasselt.be/~jroctavia/thesis/emotiv.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Emotiv EPOC&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Het doel van het project is zo een applicatie te schrijven die met behulp van de EPOC headset het mogelijk maakt om door een grafische menu te navigeren, zonder daarvoor enig gebruik te maken van de spieren. Deze grafische menu is deel van een &lt;a href="http://edm.uhasselt.be/projects/show/86"&gt;revalidatie-applicatie&lt;/a&gt; ontwikkeld door het &lt;a href="http://edm.uhasselt.be/"&gt;EDM&lt;/a&gt;&amp;nbsp;voor MS en CVA&amp;nbsp;patiënten. Bij deze revalidatie geraken de&amp;nbsp;patiënten&amp;nbsp;al snel fysiek vermoeid. Om het dan eenvoudiger te maken om te selecteren welke training men wilt uitvoeren, is het nodig om een&amp;nbsp;alternatieve&amp;nbsp;methode van navigatie aan te bieden die de fysieke vermoeidheid van de patiënt niet verder verhoogt.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;In het vervolg zullen hier updates worden bij gehouden omtrent de verdere ontwikkeling van het project.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4994136334132088984-3652951201150890889?l=jensvandenreyt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jensvandenreyt.blogspot.com/feeds/3652951201150890889/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://jensvandenreyt.blogspot.com/2011/02/let-my-brain-show-you-how.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/3652951201150890889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/3652951201150890889'/><link rel='alternate' type='text/html' href='http://jensvandenreyt.blogspot.com/2011/02/let-my-brain-show-you-how.html' title='Let my brain show you how'/><author><name>Jens Vandenreyt</name><uri>http://www.blogger.com/profile/10108496095271110803</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/-RxudAs9f_jQ/TW1PNd6P6PI/AAAAAAAAABY/P1Muc5W6VgQ/s220/f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4994136334132088984.post-8670608172761971964</id><published>2011-01-23T15:36:00.001+01:00</published><updated>2011-02-28T17:31:12.538+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='myCMS'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Project'/><category scheme='http://www.blogger.com/atom/ns#' term='Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Smarty'/><category scheme='http://www.blogger.com/atom/ns#' term='CMS'/><title type='text'>myCMS CMS Framework</title><content type='html'>Om me tussenin het leren wat bezig te houden ben ik begonnen met een Content Management System Framework te bouwen in PHP. Dit framework ben ik aan het maken in combinatie met de Smarty Template Parser.&lt;br /&gt;
&lt;br /&gt;
Waar het bouwen van een website van begin tot einde toch elke weken tot maanden kan duren, gaat het bouwen van websites met myCMS zich beperken tot wat configuratiewerk en het ontwerpen van een tempate. Op deze manier bespaar ik serieus wat tijd uit.&lt;br /&gt;
&lt;br /&gt;
Een opsomming van de huidige mogelijkheden van het systeem:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Paginabeheer&lt;/b&gt;&lt;br /&gt;
Het aanmaken, bewerken en verwijderen van pagina's die al dan niet in een menu worden geplaatst. In het control panel kunnen aan deze pagina's zoveel verschillende modules worden toegevoegd als gewenst.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Modules&lt;/b&gt;&lt;br /&gt;
De modules die op pagina's worden geplaatst kunnen worden beheerd met een simpele moderatie-pagina. De verschillende soorten modules die momenteel klaar voor gebruik zijn zijn&amp;nbsp;Catalogus, Contactformulier, Gastenboek, Google Maps, Nieuws, Stemming en Tekst.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Gebruikers-, groepen- en rechtenbeheer&lt;/b&gt;&lt;br /&gt;
Het is mogelijk om gebruikers aan te maken, groepen aan te maken en hierin gebruikers te steken en groepen bepaalde zie-, lees- of moderatierechten te geven. Groepen kunnen ook administratierechten krijgen.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Configuratie&lt;/b&gt;&lt;br /&gt;
Het control panel voorziet een simpel formulier waarin standaardwaarden van de globale website kunnen worden aangepast. Deze waarden gaan het die website-titel tot het aantal posts per pagina.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Prullenbak&lt;/b&gt;&lt;br /&gt;
Verwijderde modules en pagina's worden natuurlijk niet direct definitief verwijderd. Ze belanden eerst in een soort van prullenbak waar ze op een later tijdstip terug kunnen worden uitgevist. Ongelukje kunnen altijd gebeuren!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4994136334132088984-8670608172761971964?l=jensvandenreyt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jensvandenreyt.blogspot.com/feeds/8670608172761971964/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://jensvandenreyt.blogspot.com/2011/01/mycms-cms-framework.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/8670608172761971964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/8670608172761971964'/><link rel='alternate' type='text/html' href='http://jensvandenreyt.blogspot.com/2011/01/mycms-cms-framework.html' title='myCMS CMS Framework'/><author><name>Jens Vandenreyt</name><uri>http://www.blogger.com/profile/10108496095271110803</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/-RxudAs9f_jQ/TW1PNd6P6PI/AAAAAAAAABY/P1Muc5W6VgQ/s220/f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4994136334132088984.post-5997410191234210268</id><published>2010-11-05T20:43:00.000+01:00</published><updated>2011-02-28T23:37:27.231+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='School'/><category scheme='http://www.blogger.com/atom/ns#' term='IRC'/><category scheme='http://www.blogger.com/atom/ns#' term='Project'/><category scheme='http://www.blogger.com/atom/ns#' term='Computernetwerken'/><title type='text'>IRClient</title><content type='html'>Als een opdracht voor het vak Computernetwerken op school moeten we een IRC-client schrijven die volledig aan het standaard IRC-protocol&amp;nbsp;(&lt;a href="http://www.irchelp.org/irchelp/rfc/rfc.html"&gt;RFC1459&lt;/a&gt;) moet voldoen. Ik ben deze applicatie aan het schrijven in C++ en gebruik als extra toolkit Qt voor de GUI.&lt;br /&gt;
&lt;br /&gt;
Voor het moment zijn de volgende items al functioneel:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Verbinden met een server,&lt;/li&gt;
&lt;li&gt;Het maken, ingaan en verlaten van kanalen (channels),&lt;/li&gt;
&lt;li&gt;Basis administratie- en moderatiefunctionaliteiten en&lt;/li&gt;
&lt;li&gt;De hulp-module.&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;Dit project is nog niet voltooid. Wanneer het klaar is zal de client ook bestanden moeten kunnen verzenden via het peer-to-peer DCC protocol.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4994136334132088984-5997410191234210268?l=jensvandenreyt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jensvandenreyt.blogspot.com/feeds/5997410191234210268/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://jensvandenreyt.blogspot.com/2010/11/irclient.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/5997410191234210268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/5997410191234210268'/><link rel='alternate' type='text/html' href='http://jensvandenreyt.blogspot.com/2010/11/irclient.html' title='IRClient'/><author><name>Jens Vandenreyt</name><uri>http://www.blogger.com/profile/10108496095271110803</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/-RxudAs9f_jQ/TW1PNd6P6PI/AAAAAAAAABY/P1Muc5W6VgQ/s220/f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4994136334132088984.post-4818980605687452615</id><published>2010-11-04T19:48:00.000+01:00</published><updated>2011-02-28T17:03:53.016+01:00</updated><title type='text'>Eerste post</title><content type='html'>Welkom op mijn blog!&lt;br /&gt;
&lt;br /&gt;
Zoals je kan zien ben ik vandaag begonnen met bloggen, waar toe ik trouwens compleet nieuw ben. Op mijn blog ga ik proberen alle projecten die ik maak of moet maken bij te houden. Van deze projecten geef ik dan een kleine voorstelling of wat specificaties.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4994136334132088984-4818980605687452615?l=jensvandenreyt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/4818980605687452615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4994136334132088984/posts/default/4818980605687452615'/><link rel='alternate' type='text/html' href='http://jensvandenreyt.blogspot.com/2010/11/first-post.html' title='Eerste post'/><author><name>Jens Vandenreyt</name><uri>http://www.blogger.com/profile/10108496095271110803</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/-RxudAs9f_jQ/TW1PNd6P6PI/AAAAAAAAABY/P1Muc5W6VgQ/s220/f.jpg'/></author></entry></feed>
