Bad Grandpa (2013, Trailer)

Door Gamebuster op maandag 14 april 2014 12:32 - Reacties (12)
Categorie: quite useless, Views: 1.440



Wat de fuck, dit is een film

RE: Krantenonderzoek

Door Gamebuster op zondag 13 april 2014 11:47 - Reacties (13)
Categorie: quite useless, Views: 2.573

N.a.v.: Van alles: Een onderzoek naar kranten

Heeft u een abonnement op een krant?
Nee, nooit gehad.

Op welke krant heeft u een abonnement gehad?
*laat ik leeg*

[Volgende]
Error: Vul "Op welke krant heeft u een abonnement gehad?" in!

Sure. Nuttige enquete.

Gelukkig kan je feedback geven op de enquete via de tweakblogs reactie systeem. Heb ik nu een VVV bon gewonnen?

Prototyping: De verborgen kracht van Javascript

Door Gamebuster op vrijdag 04 april 2014 14:07 - Reacties (12)
Categorie: if(post.relatedTo("programming")), Views: 2.038

Javascript wordt vaak gezien als dat gedrocht waarmee gewerkt moet worden. Toch kan het een leuk taaltje zijn.

Je hebt vast wel eens iets gehoord als "Javascript isn't an Object Oriented language, but a prototype-based language". Maar wat houdt dat eigenlijk in? Wat is een prototype-based taal en hoe is het verschillend van een reguliere OO taal?

Regulier OO: Classes
In bijv. Java werk je met classes. Een class is een soort blueprint van de werking van een object. Je begint met het ontwerpen van een Car class en je geeft deze de benodigde functionaliteit: Start, Stop, VersnellingOmhoog, VersnellingOmlaag, Rem, Gas, enz. Eenmaal ontworpen heb je echter nog geen auto; je hebt enkel de plannen liggen die omschrijven hoe een auto moet zijn.

Met `new Car` wordt de 1e auto gemaakt. Dit herhaal je tot je de gewenste hoeveelheid auto's hebt.

Classes
Het realiseren van classes in Javascript is geen bijzondere bezigheid. Een beetje ervaren javascript ontwikkelaar is bekend met dit idee:


JavaScript:
1
2
3
4
5
6
7
function Car() {
  this.running = false;
}

Car.prototype.start = function() { this.running = true; };
Car.prototype.stop = function() { this.running = false; };
Car.prototype.getFuelPercentage = function() { return 1.0; };


Alhoewel dit prima werkt in Javascript, is deze manier niet altijd even netjes. Zeker wanneer je subclasses wil toevoegen zit je met een hoop magic die niet altijd zichzelf goed omschrijft.

Dit laat Javascript vies aanvoelen en bepaalde "magic" vergeten of niet toepassen resulteert niet altijd direct tot duidelijke fouten of bugs: Die komen vaak later pas boven water. Het alternatief is het gebruik van een library of framework voor het beheren van je classes, maar dat is ook verre van ideaal.

Prototyping
Prototyping in Javascript werkt anders dan gebruikelijk. Als je een auto wil ontwikkelen begin je niet met een blueprint, maar met een prototype. Je begint dus meteen met het bouwen van je eerste auto, precies zoals je hem wil hebben, met het idee dat je er later meer gaat produceren; meer auto's die exact hetzelfde zijn als die je nu ontwerpt.

Eenmaal je auto prototype werkend, dan kan je er een kopie van maken. Dit blijf je doen tot je je gewenste hoeveelheid auto's hebt. Ook kan je kopieen van kopieen maken. Zo kan je een kopie van een auto prototype maken, deze een andere kleur geven en daar weer een nieuw kopie van maken.

Zo werkt Prototyping in Javascript inhoudelijk ook, en eenmaal gewend werkt het een stuk prettiger en intuÔtiever dan je denkt:


JavaScript:
1
2
3
4
5
6
var car = {
  runningfalse,
  startfunction() { this.running = true; },
  stopfunction() { this.running = false; },
  get fuelPercentage() { return 1.0; }
};


Dit is je prototype. Merk op hoe compact en "clean" de definitie ervan is vergeleken de class definitie van daarboven. Ook kan je je prototype direct gebruiken:


JavaScript:
1
2
3
4
car.start();
car.running// true
car.stop();
car.running// false


Om een 2e auto te maken, maak je een kopie van je bestaande auto. Technisch zien, in Javascript, maak je een nieuw object met je auto als prototype:


JavaScript:
1
2
3
4
5
var myCar = Object.create(car);
myCar.running// false
myCar.start();
myCar.running// true
car.running// false


Functionaliteit uitbreiden met "subclasses" in prototyping
Nu wil ik een auto prototype toevoegen die op diesel rijdt. Ik neem een normale auto en geef deze een dieselmotor. In de code implementeer ik alleen een nieuwe fuelPercentage getter die berekend op de hoeveelheid diesel aanwezig met de benodigde properties.

Merk op dat de syntax (helaas) wat complexer is dan het maken van een nieuw object.


JavaScript:
1
2
3
4
5
6
7
8
9
var dieselCar = Object.create(car, {
  dieselAmount: { value0 },
  dieselCapacity: { value100 },
  fuelPercentage: { getfunction() { return this.dieselAmount / this.dieselCapacity; } }
});

dieselCar.running// false
dieselCar.start();
dieselCar.running// true


Ook hier kunnen we weer nieuwe dieselCars van maken met `Object.create`:


JavaScript:
1
myDieselCar = Object.create(dieselCar);


Tot slot kan ik nog steeds methodes en properties toevoegen aan de gehele prototype chain van de auto's, welke daarna van toepassing is op alle auto's die erop gebaseerd zijn:


JavaScript:
1
2
3
4
5
6
7
8
car.color = "black";
myDieselCar.color// black
myDieselCar.color = "red";
car.color// black
myDieselCar.color// red
car.color = "blue";
dieselCar.color// blue
myDieselCar.color // red


De logica hierachter is dat alles wat je assign't aan je object heeft prioriteit over alles in de prototype chain. Bij het aanroepen van myDieselCar.color wordt dan bijv. gekeken naar:

myDieselCar.color => dieselCar.color => car.color

De 1e gedefinieerde `color` die gevonden wordt, wordt geretourneerd. Prototyping brengt veel meer unieke en bijzondere eigenschappen en features met zich mee. Experimenteer ermee en doe research voor meer informatie. Probeer bestaande princiepes van class-based OO uit je hoofd te zetten als je met Javascript werkt, en je kan zowaar wat plezier hebben bij het schrijven van Javascript.

Gotcha's
Zet de klassieke OOP kennis uit je hoofd. Hou het bij duck typing. Waarom? Zie:


JavaScript:
1
2
3
4
5
6
7
myCar instanceof Object // true
myCar instanceof car // Error
myCar == car // false
myCar.prototype == car // false
myCar.constructor == car // false
myCar.__proto__ == car // true
typeof myCar == 'object' // true

Mijn aparte muzieksmaak: Wazige Elektronische muziek

Door Gamebuster op vrijdag 04 april 2014 10:15 - Reacties (10)
Categorie: musique, Views: 1.439

Ik weet niet de juiste naam voor deze "genres"/styles; ik hou het lekker bij "wazige elektronische muziek"

Holly Herndon - Chorus
Coole clip en aparte rustige elektronische muziek
Link naar album(s) in omschrijving yt-video.


ElectroMass - Psychoanalyse EP
Dit is wat "ruwere" elektronische muziek, een beetje DnB achtig met invloeden uit o.a. The Prodigy and Noisia.
https://soundcloud.com/electro-mass/sets/psychoanalyse

Koan Sound - Dynasty EP (album)
Beetje dubstep/elektronische/dnb achtige muziek? I don't know, i just like it.
https://soundcloud.com/koan-sound/sets/dynasty-ep

Neil Baldwin - Sweaty Hot Robot (Day 4)
https://soundcloud.com/neilbaldwin/day-4-sweaty-hot-robot


Wat bekender:

Bonobo - Cirrus
Video door Cyriak: https://www.youtube.com/user/Cyriak


Flying Lotus - Putty Boy Strut

Navigeren met Blindenstok

Door Gamebuster op woensdag 02 april 2014 10:06 - Reacties (5)
Categorie: funvids, Views: 2.654



Moar videos van blind guy: https://www.youtube.com/user/TommyEdisonXP