Jur Schreuder.nl





Hi, my name is Jurriaan Schreuder and this is my website. This is where I put all the cool stuff I made over the years that I want to show to people. There are many more projects on this site in sub-domains that are not listed here, but here you can get a global idea of what I'm doing in my spare time when I'm behind my computer!

A little about me: I was born in 1984 in Amsterdam, grew up in Bussum, a small town in Holland, and am currently living in Amsterdam again. I am in my last year of the Research Master Brain en Cognition at the UvA, researching brain stuff, mostly by simulating things on the computer.

If you have any questions about projects you can email me on jurschreuder@gmail.com.



Calculator
A super simple calculator, but a I think this is a better more modern calculator design.

I use the calculator on my computer about 5 times a day, but still had the standard calculator, without history and without variables. This was the closest to just making a kind of python console calculator in half an hour for all platforms. It just uses JavaScript's eval(), and a button to create a new calculator. This way you can edit your calculations later, because I never get them right the first try.

Made for personal use, but just putting it online for anybody who is intersted.



Unity Launcher Creator
A very basic python program with a Graphical UI to create custom Unity Launcers for Ubuntu.

Click link on the left to download


To create a Unity launcer:

1. Type in application name

2. pick or enter the location of an icon you would like to use

3. pick or enter the location of the application you would like the launcher to open

4. click Save Launcer

5. the folder containing your launcher is opened, drag the launcer to the Unity launcer.



Spanish Memory Palace
A cool new way to learn the 4000 most used Spanish words, making use of the memory palace technique. As you go through the list alphabetically, you also travel along a path through the real world, with pictures presented around the words.

You will basically travel as you learn, so you can connect each word to a different location.

I have written an Android App to capture the pictures, ask me if you want it. Its free but its not released yet. The App basically takes a picture every half a second, naming the pictures with increasing numbers, readable by the site.



Random Toiled Quote
This is an Android App that I am currently developing. In this app you can add quotes that you would typically find on Dutch toilets, in the style typically found in Dutch toilets. It's a way of bringing a little Holland to the world!

You can add your own quotes, and the program downloads all the latest quotes from the internet. You can also rate quotes with emoticons, this is also how the quotes will be selected for a certain category.

You can already download a beta on this site, but it will still improve over the next weeks. Also, on this site, you can add quotes even without using your Android phone. Just type in the little textbox, click add quote, and your quote will be on the Android market when the App releases.



Sudoku Solver
Dit is een Hopfield netwerk met verbindingen die zo ingesteld zijn dat het netwerk Sudoku puzzels kan oplossen. Een Hopfield netwerk is een netwerk dat telkens probeert de energie te verlagen door een willekeurige neuron aan of uit te schakelen. Als een neuron meer positieve dan negatieve input heeft dan is de energie het laagst als het neuron aan staat. Het omgekeerde geld voor een negatieve netto input. De input wordt bepaald voor elk afzonderlijk neuron waarmee het neuron is verbonden. Een neuron dat aan staat geeft een input van 1x de verbinding die het heeft met het te testen neuron. Een neuron dat uit staat geeft een input van -1x de verbinding die het heeft met het te testen neuron.

In dit model hebben alle combinaties die zijn toegestaan volgens de regels van de Sudoku een positieve verbinding. Alle overige combinaties hebben negatieve verbindingen. De laagst mogelijke energie die te bereiken is is dan ook een opgeloste Sudoku. Als de Sudoku opgelost is zal de totale energie van het netwerk -1851 zijn. Elk neuron staat maar voor 1 van de 9 cijfers. Elk cijfer wordt dan ook gecodeerd door in de hokjes van 9 vakjes slechts 1 vakje actief te maken. Er is in het programma een restrictie 'hard-wired', namelijk dat maar 1 hokje in de vakjes van 9 actief kan zijn. Het vakje dat actief is in het hokje van 9 wordt telkens vergeleken met een hokje dat niet actief is. Als de energie wordt verlaagd door het nieuwe hokje actief te maken en het oude hokje uit te schakelen zal het nieuwe hokje worden geactiveerd.

Er is ook een variabele in het netwerk die de 'temperatuur' heet. Dit is een random factor die wordt toegevoegd om het netwerk bewegelijker te maken, zodat het minder snel vast komt te zitten. Met een hoge temperatuur komt het netwerk niet vast te zitten maar stabiliseert het ook nooit. Met een lage temperatuur stabiliseert het netwerk snel, maar vaker in een niet optimale oplossing. Om het beste van twee werelden te hebben wordt in Hopfield netwerken de temperatuur vaak langzaam verlaagd. Deze functie is ook ingebouwd in het netwerk.

Er kan een deel van de Sudoku worden vastgezet door de gebruiker. Deze neuronen mogen dan niet meer worden veranderd, waardoor de oplossing alleen wordt gezocht in de overige neuronen. Zo kan een gedeeltelijk gegeven Sudoku door dit netwerk worden opgelost. Onder in het beeld staat een klein informatie vakje waar staat aangegeven welk neuron voor welk cijver staat.



SOM Kleuren
Dit is een Self Organizing Map (SOM) waarbij een 3 dimensionale input (de kleurenparameters rood, groen en blauw) wordt verdeeld over een 2 dimensionaal oppervlak met behulp van het principe van Kohonen. Er wordt telkens een willekeurige input kleur gekozen met behulp van de 3 dimensies rood, groen en blauw, waarna gezocht wordt naar de kleur in het oppervlak die het meest op deze kleur lijkt. Deze wordt vervolgens zo veranderd dat de kleur nog meer overeen komt met de input kleur. Tevens worden een aantal buren veranderd zodat ze ook meer op de input kleur gaan lijken. Hierdoor zullen kleuren die meer op elkaar lijken automatisch naast elkaar gaan liggen. Er zijn in dit model zeer veel parameters in te stellen. Het is ook mogelijk laesies te maken en kleuren 'over te verven'. Als een optie niet duidelijk is staat er onder aan het scherm een korte uitleg over de knop waar de cursor op staat.





SOM 3D
Dit is een Self Organizing Map (SOM) waarbij een lijn wordt verdeeld over een 3 dimensionale bal. De lijn wordt over de bal verdeeld volgens het princiepe van Kohonen. Dit betekent dat er telkens willekeurige punten op de bal geactiveerd worden. Het punt van de lijn dat het dichts bij het geactiveerde punt ligt wordt aangepast zodat het nog dichter bij het geactiveerde punt komt te liggen. Ook een aantal aangrenzende punten op de lijn worden dichter bij het geactiveerde punt gebracht, waardoor de lijn zich gaat organiseren als een vloeiende doorlopende lijn. Op dezelfde manier worden een aantal punten verder in de lijn en terug in de lijn met een meervoud van 20 dichter bij de activatie gebracht (verticale verbindingen), zodat de lijn zich organiseert als waren het een raster. Deze verbindingen zijn niet te zien in het model. Zonder deze verbindingen zou de lijn zich willekeuring maar gelijkmatig over de bol verdelen en zouden er ook kruisingen ontstaan. Met de verticale ontstaat er een nettere verdeling zonder kruisingen.





Doolhof
Dit is een klein beestje dat alle gele balletjes in een random generated doolhof moet verzamelen. Dit zou een heel simpel beestje kunnen zijn dat voedsel verzamelt. Hij heeft 100 neuronen, elk neuron is een combinatie van het getal links en rechts van hem. Met de knop onder het doolhof kan je er voor zorgen dat de neuronen niet meteen uit gaan, maar langzaam weg faden. Hierdoor heeft hij een soort primitief geheugen van waar hij al is geweest, gebaseerd op het herkennen van 10 verschillende 'voorwerpen' in de omgeving. Je zult zien dat hij met het geheugen aan veel meer voedsel verzamelt.



Number Speak
7H15 M355463 53RV35 70 PR0V3 H0W 0UR M1ND5 C4N D0 4M4Z1N6 7H1N65!
1MPR3551V3 7H1N65! 1N 7H3 B361NN1NG 17 W45 H4RD BU7 N0W,
0N 7H15 L1N3 Y0UR M1ND 15 R34D1N6 17 4U70M471C411Y W17H 0UT
3V3N 7H1NK1N6 4B0U7 17, B3 PR0UD! 0N1Y C34R741N P30PL3 C4N R34D 7H15.

7ry 17 y0ur53lf w17h 7h3 c0nv3r73r!



Mega Mega
Simpel spelletje: klikken is schieten, elke knop op het toetsenbord is springen. De ronde balletjes die voorbij komen moet je kapot schieten en ze mogen je niet raken. Hoe meer je er kapot schiet hoe groter je wordt.



Gravity
Een test programmatje dat ik ooit heb gemaakt om raphael.js te testen, een grafische engine voor javascript, waarbij balletjes tot je muis aangetrokken worden. De balletjes voegen samen als ze elkaar raken en splitsen als je ze met je muis raakt.



Heritability
Een kleine demonstratie van hoe genen worden overgegeven van ouder op kind.



Voodoo Fix
Dit is mijn online t-shirt winkel, waar ik de shirts verkoop die ik heb ontworpen. De bedoeling van de shirts is een compromis te sluiten tussen een leuk ontwerp en humor. Daarbij wil ik de humor net iets minder plat maken dan op de meeste t-shirts tegenwoordig te zien is. Dit lukt, uuh, soms.