abonnement Unibet Coolblue
pi_182129462
quote:
0s.gif Op dinsdag 25 september 2018 19:19 schreef ralfie het volgende:

[..]

omdat case > 9 niet kan maar case 9 wel:

select (score/10)
{
case 10://100
case 9://99-90
etc
}
Oh oké dat wist ik niet dacht dat de switch case overal gelijk was. :o
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
pi_182152924
Momenteel in het hoofdstuk over interfaces. Van de volgende zin weet ik even niet exact wat er bedoeld wordt:

"If a class includes an interface but does not fully implement the methods defined by that interface, then that class must be declared as abstract."

Bedoelen ze hier de class die de interface implementeert? Of bedoelen ze hier een interface die genest is in een class? Misschien nog iets anders?
ウプピエ 八十三 << u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
pi_182158599
quote:
0s.gif Op woensdag 26 september 2018 21:31 schreef uppie83 het volgende:
Momenteel in het hoofdstuk over interfaces. Van de volgende zin weet ik even niet exact wat er bedoeld wordt:

"If a class includes an interface but does not fully implement the methods defined by that interface, then that class must be declared as abstract."

Bedoelen ze hier de class die de interface implementeert? Of bedoelen ze hier een interface die genest is in een class? Misschien nog iets anders?
Klasse die een interface implementeert.
Want een interface is een contract.

pseudo voorbeeld:
1
2
3
4
5
6
interface CleanUpProtocol {

removeStuff();

dustRoom();
}
Interface iCleanupProtocol met 2 functies. Wil je een cleanupProtocol implementen dan moet je allebei de methodes uitschrijven en gebruiken.
1
2
3
4
5
6
7
8
9
10
11
public class Cleaner implements iCleanupProtocol {

public void removeStuff(){
   //do stuff.
}

public void dustRoom(){
  //do dust.
}

}
Hier is een volledige "Cleaner" klasse die beide methode implementeert. Interfaces zijn als kleine contractjes.

Als het niet volledig implementeert en een functie vergeet dan is het een abstracte implementatie. want dan zijn er functies niet uitgeschreven. dan snapt dat object niet hoe die een functie moet uitvoeren.

Aantekening:
het zorgt ervoor dat ik functies ergens anders kan aanroepen die er ALTIJD zijn. Dan kan ik zeggen alle objecten die de interface "Cleaner" hebben doe "cleaner.dustroom();" Het kan een cleaner object zijn of een geheel ander object dat ook de Interface implementeert.

Aantekening:
"abstract" is een term voor niet geheel uitgeschreven functies, die uit een interface komen, maar die wel gebruik maken van interfaces. een halve interface met wat werkende code maar niet geheel.

Meer voorbeelden:
https://o7planning.org/en(...)nd-interface-in-java
Redacted
pi_182159670
quote:
0s.gif Op donderdag 27 september 2018 07:56 schreef cablegunmaster het volgende:

[..]

Klasse die een interface implementeert.
Want een interface is een contract.

...

Meer voorbeelden:
https://o7planning.org/en(...)nd-interface-in-java
Bedankt voor de uitleg, het is weer helder!
ウプピエ 八十三 << u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
pi_182180542
Zelf wil ik bitwise operators leren maar begrijp ik ze nog niet helemaal :o .
Redacted
pi_182186034
Iemand hier ervaring met functioneel programmeren?
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
  zaterdag 29 september 2018 @ 13:34:54 #187
436847 embedguy
Embedded in your genius dreams
pi_182203888
quote:
0s.gif Op vrijdag 28 september 2018 09:49 schreef cablegunmaster het volgende:
Zelf wil ik bitwise operators leren maar begrijp ik ze nog niet helemaal :o .
Misschien eens spelen met een Arduino of iets vergelijkbaars. Dan leer je het snel zat.
Never allow waiting to become a habit.
Live your dreams and take risks.
Life is happening now.
  zaterdag 29 september 2018 @ 13:39:20 #188
436847 embedguy
Embedded in your genius dreams
pi_182203939
quote:
1s.gif Op vrijdag 28 september 2018 15:05 schreef FlippingCoin het volgende:
Iemand hier ervaring met functioneel programmeren?
Niemand echt denk ik, afaik wordt het alleen maar gebruikt op universiteiten. Nooit echt in het bedrijfsleven, behalve dan een beetje met JavaScript.

Zelf een beetje aan het hobbyen met React Redux (voor state management in React applicaties). Zitten ook wat functionele aspecten aan waar ze leuke voordelen uit weten te halen.
Never allow waiting to become a habit.
Live your dreams and take risks.
Life is happening now.
pi_182204114
quote:
1s.gif Op zaterdag 29 september 2018 13:39 schreef embedguy het volgende:

[..]

Niemand echt denk ik, afaik wordt het alleen maar gebruikt op universiteiten. Nooit echt in het bedrijfsleven, behalve dan een beetje met JavaScript.

Zelf een beetje aan het hobbyen met React Redux (voor state management in React applicaties). Zitten ook wat functionele aspecten aan waar ze leuke voordelen uit weten te halen.
Ik zie er steeds meer talks over voorbij komen en vind de gedachte erachter niet verkeerd eigenlijk. Wel inderdaad aan de front-end allemaal. Vooral React gaat steeds meer funtioneel, zelfs tot purescript. Ik snap alleen niet als je bijvoorbeeld een wizard menu hebt, normaal maak je een object en die vul je gewoon in bijvoorbeeld in drie stappen aan.

Zou je volgens het functionele paradigma een map gebruiken in combinatie met gecurryde(? geen hoe je dat Nederlands schrijft) functies? :?
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
  zaterdag 29 september 2018 @ 15:21:47 #190
436847 embedguy
Embedded in your genius dreams
pi_182205400
quote:
1s.gif Op zaterdag 29 september 2018 13:55 schreef FlippingCoin het volgende:

[..]

Ik zie er steeds meer talks over voorbij komen en vind de gedachte erachter niet verkeerd eigenlijk. Wel inderdaad aan de front-end allemaal. Vooral React gaat steeds meer funtioneel, zelfs tot purescript. Ik snap alleen niet als je bijvoorbeeld een wizard menu hebt, normaal maak je een object en die vul je gewoon in bijvoorbeeld in drie stappen aan.

Zou je volgens het functionele paradigma een map gebruiken in combinatie met gecurryde(? geen hoe je dat Nederlands schrijft) functies? :?
Hmmm, ik ben er ook nogal onbekend mee. Net even een presentatie bekeken van Purescript. Ik kende het niet eens.

Ik snap je vraag over de wizard menu niet helemaal. Bedoel je iets met React icm Purescript?

Wel interessante materie 😇
Never allow waiting to become a habit.
Live your dreams and take risks.
Life is happening now.
pi_182205480
quote:
1s.gif Op zaterdag 29 september 2018 15:21 schreef embedguy het volgende:

[..]

Hmmm, ik ben er ook nogal onbekend mee. Net even een presentatie bekeken van Purescript. Ik kende het niet eens.

Ik snap je vraag over de wizard menu niet helemaal. Bedoel je iets met React icm Purescript?

Wel interessante materie 😇
Nou voor mijn app heb ik een menu verspreid over drie schermen, een soort wizard menu. Eerste scherm selecteer je een winkel, tweede scherm met wie je de lijst wil delen et cetera.

Normaal zou ik een Lijst object maken, en per scherm de attributen van dat object invoeren.

Volgens het functionele paradigma is een mutatie van state ongewenst, dan vraag ik mij af hoe je dit het beste aan kan pakken. Een oplossing zou zijn een curried function, waarbij je de argumenten in meerdere stappen kan geven en in de tussentijd de functies bewaart. Maar of dat de beste manier is weet ik niet echt.

Ізгі тілектер Flip.
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
  zaterdag 29 september 2018 @ 21:10:05 #192
436847 embedguy
Embedded in your genius dreams
pi_182211544
quote:
16s.gif Op zaterdag 29 september 2018 15:27 schreef FlippingCoin het volgende:

[..]

Nou voor mijn app heb ik een menu verspreid over drie schermen, een soort wizard menu. Eerste scherm selecteer je een winkel, tweede scherm met wie je de lijst wil delen et cetera.

Normaal zou ik een Lijst object maken, en per scherm de attributen van dat object invoeren.

Volgens het functionele paradigma is een mutatie van state ongewenst, dan vraag ik mij af hoe je dit het beste aan kan pakken. Een oplossing zou zijn een curried function, waarbij je de argumenten in meerdere stappen kan geven en in de tussentijd de functies bewaart. Maar of dat de beste manier is weet ik niet echt.

Ізгі тілектер Flip.
Van welke stack maak je gebruik? React, Context API, TypeScript?

Wat ik zo snel bedenk;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
 
import React from "react";

interface Menu {
    options: string[];
    selected?: number;
 }
 interface MenuWizardResult {
    menus: Menu[];
 } 
 interface MenuWizardState extends MenuWizardResult{
    menuIndex: number;
 } 
 
 interface AppState {
    menuWizard: MenuWizardState;
    otherComponent: OtherComponentState;
    showWizard: boolean;
 } 
 
 class App extends React.Component<AppState> {
    constructor(props) {
        super(props);
        this.state = {
            menuWizard: {
                menus: [
                    { options: ["winkel 1", "winkel 2", "winkel 3"]},
                    { options: ["option 1", "option 2", "option 3"]},
                    { options: ["option 1", "option 2", "option 3"]},
                ],
                menuIndex = 0,
            },
            otherComponent: {}.
            showWizard: true, 
        };
    }
    
    render() {
        if (!this.state.showWizard) {
           return <OtherComponent options={this.state.otherComponent} setState={(newState) => this.setState(newState)} />;
        } else { 
            return <MenuWizard options={this.state.menuWizars} setState={(newState) => {
                const menuWizardFinished = newState.menuWizardState.menus.find((menu) => menu.selected === undefined) === undefined;
                if (menuWizardFinished) {
                    // handle results
                } 
                this.setState({
                    ...this.state,
                    showWizard: !menuWizardFinished, 
                    menuWizardState: newState
                });
            }} />;
        }
    }
}
const MenuWizard = ({options, setState}) => {
    return <StatelessMenuWindow options={options.menu[options.menuIndex]} selectOption={(index: number) => {
        const newState = {
            ...options,
            menuIndex: options.menuIndex+1,
        };
        newState.menus[options.menuIndex] = {
            ...newState.menus[options.menuIndex],
            selected: index
        }; 
        setState(newState);
    }} />; 
}

Disclaimer; op de mobiel getypt. En dit is hopeloos op een mobiel, dus nu ren ik even naar de pc om het netter te maken :+.

[ Bericht 13% gewijzigd door embedguy op 29-09-2018 22:21:56 ]
Never allow waiting to become a habit.
Live your dreams and take risks.
Life is happening now.
pi_182211555
quote:
1s.gif Op zaterdag 29 september 2018 21:10 schreef embedguy het volgende:

[..]

Van welke stack maak je gebruik? React, Context API, TypeScript?

Wat ik zo snel bedenk;
[ code verwijderd ]

Disclaimer; op de mobiel getypt. En dit hopeloos op een mobiel, dus nu ren ik even naar de pc om het netter te maken :+.
TypeScript ja, even bekijken.

Z poważaniem Flip.
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
  zaterdag 29 september 2018 @ 22:29:03 #194
436847 embedguy
Embedded in your genius dreams
pi_182213347
quote:
16s.gif Op zaterdag 29 september 2018 21:10 schreef FlippingCoin het volgende:

[..]

TypeScript ja, even bekijken.

Z poważaniem Flip.
Aja, heb de code wat netter gemaakt. Ik wist overigens niet zeker wat je bedoelde met de menuwizard. Ik hoop dat je zoiets bedoelde als in mijn voorbeeld. Zelf ook nog geen ervaring met die stateless functionele react componenten, wel interessant om even in te verdiepen :).
Never allow waiting to become a habit.
Live your dreams and take risks.
Life is happening now.
pi_182213839
quote:
0s.gif Op zaterdag 29 september 2018 22:29 schreef embedguy het volgende:

[..]

Aja, heb de code wat netter gemaakt. Ik wist overigens niet zeker wat je bedoelde met de menuwizard. Ik hoop dat je zoiets bedoelde als in mijn voorbeeld. Zelf ook nog geen ervaring met die stateless functionele react componenten, wel interessant om even in te verdiepen :).
Thanks zal het morgen even rustig bekijken. ^O^

Heb net ook een boek gevonden over functioneel programmeren in ES6 van 180 bladzijden of zo. Ook maar eens doorlezen. :P
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
pi_182253114
quote:
1s.gif Op zaterdag 29 september 2018 22:44 schreef FlippingCoin het volgende:

[..]

Thanks zal het morgen even rustig bekijken. ^O^

Heb net ook een boek gevonden over functioneel programmeren in ES6 van 180 bladzijden of zo. Ook maar eens doorlezen. :P
Ga je met flux of redux werken?

Redux cartoon:
https://code-cartoons.com/a-cartoon-intro-to-redux-3afb775501a6

Flux cartoon:
https://code-cartoons.com/a-cartoon-guide-to-flux-6157355ab207

Werkt perfect de uitleg . :Y

React-native een Redux github repo een keer gemaakt om te kijken hoe het werkt:
https://github.com/cablegunmaster/Simple-Redux-Boilerplate

[ Bericht 4% gewijzigd door cablegunmaster op 01-10-2018 16:07:44 ]
Redacted
pi_182268874
Vrijdag ben ik achter gekomen hoe het werkt met het uitlezen van een reeks van bytes.
Elke byte heeft zijn eigen waarde en die moet ik uitlezen per bit. ik begrijp het bit lezen nog niet helemaal. als iemand een uitleg heeft hoe het lezen moet hiervoor? Want ik begrijp het nog maar half. (helft meer als ervoorheen). ;)

Ik doe het nu op de waarde van de bit als in Integer groter of gelijk aan 128 dan doe iets,
maar kan dit niet praktischer? Heeft iemand hier ervaring mee :)?

[ Bericht 21% gewijzigd door cablegunmaster op 02-10-2018 11:45:11 ]
Redacted
pi_182273180
Eindelijk een goed UML / diagam teken programma gevonden.

https://www.draw.io/ O+
Redacted
  dinsdag 2 oktober 2018 @ 21:17:15 #199
436847 embedguy
Embedded in your genius dreams
pi_182280877
quote:
10s.gif Op dinsdag 2 oktober 2018 14:25 schreef cablegunmaster het volgende:
Eindelijk een goed UML / diagam teken programma gevonden.

https://www.draw.io/ O+
Ziet er op het eerste gezicht wel handig eruit ja, ga ik onthouden al ben ik zelf niet zo van webbases apps. Zelf gebruik ik yEd, werkt wel aardig. Iig 100x beter dan Visio imho.
Never allow waiting to become a habit.
Live your dreams and take risks.
Life is happening now.
pi_182281001
quote:
1s.gif Op dinsdag 2 oktober 2018 21:17 schreef embedguy het volgende:

[..]

Ziet er op het eerste gezicht wel handig eruit ja, ga ik onthouden al ben ik zelf niet zo van webbases apps. Zelf gebruik ik yEd, werkt wel aardig. Iig 100x beter dan Visio imho.
Opensource, download het als standalone app. :P
Redacted
  dinsdag 2 oktober 2018 @ 21:23:44 #201
436847 embedguy
Embedded in your genius dreams
pi_182281110
quote:
0s.gif Op dinsdag 2 oktober 2018 09:52 schreef cablegunmaster het volgende:
Vrijdag ben ik achter gekomen hoe het werkt met het uitlezen van een reeks van bytes.
Elke byte heeft zijn eigen waarde en die moet ik uitlezen per bit. ik begrijp het bit lezen nog niet helemaal. als iemand een uitleg heeft hoe het lezen moet hiervoor? Want ik begrijp het nog maar half. (helft meer als ervoorheen). ;)

Ik doe het nu op de waarde van de bit als in Integer groter of gelijk aan 128 dan doe iets,
maar kan dit niet praktischer? Heeft iemand hier ervaring mee :)?
In welke taal ben je bezig?

1<<7 == 128
1
2
3
4
5
6
7
 
if((value >> 7) & 0x01) {
    // the 8th bit was high

if((value >> 6) & 0x01){
    // the 7th bit was high
}
Of het zelfde;
1
2
3
4
5
6
7
 
if(value & (0x01 << 7)) {
    // the 8th bit was high

if(value & (0x01 << 6)){
    // the 7th bit was high
}
Never allow waiting to become a habit.
Live your dreams and take risks.
Life is happening now.
  dinsdag 2 oktober 2018 @ 21:25:30 #202
436847 embedguy
Embedded in your genius dreams
pi_182281166
quote:
0s.gif Op dinsdag 2 oktober 2018 21:21 schreef cablegunmaster het volgende:

[..]

Opensource, download het als standalone app. :P
Nice :D

Ga ik uitproberen, tnx voor de tip!
Never allow waiting to become a habit.
Live your dreams and take risks.
Life is happening now.
pi_182288435
quote:
1s.gif Op dinsdag 2 oktober 2018 21:23 schreef embedguy het volgende:

[..]

In welke taal ben je bezig?

1<<7 == 128
[ code verwijderd ]

Of het zelfde;
[ code verwijderd ]

Ik ben bezig in Java. :P maar, ik ga eens kijken om er een paar mini programmaatjes te maken, zodat ik het voor mezelf helder heb. :Y . collega van me heeft snel Or en AND uitgelegd als binair operators. maar zit soms nog wel met hexadecimaal combinatie met bits en met andere cijfer waarde.

Waarom gebruiken ze zulke onleesbare waardes?
Als ze bezig gaan met bytes. :P

[ Bericht 15% gewijzigd door cablegunmaster op 03-10-2018 10:47:07 ]
Redacted
  woensdag 3 oktober 2018 @ 23:04:55 #204
436847 embedguy
Embedded in your genius dreams
pi_182306240
quote:
0s.gif Op woensdag 3 oktober 2018 09:47 schreef cablegunmaster het volgende:

[..]

Waarom gebruiken ze zulke onleesbare waardes?

Allemaal de schuld van die gene die dacht dat het decimale getallenstelsel handig was. Hoe een grote fout was dat zeg.
Never allow waiting to become a habit.
Live your dreams and take risks.
Life is happening now.
pi_182314292
quote:
10s.gif Op woensdag 3 oktober 2018 23:04 schreef embedguy het volgende:

[..]

Allemaal de schuld van die gene die dacht dat het decimale getallenstelsel handig was. Hoe een grote fout was dat zeg.
:D
Redacted
pi_182358049
quote:
1s.gif Op dinsdag 2 oktober 2018 21:23 schreef embedguy het volgende:

[..]

In welke taal ben je bezig?

1<<7 == 128
[ code verwijderd ]

Of het zelfde;
[ code verwijderd ]

1
2
3
4
5
6
7
    /**
     * @param bitFromRight (0 - 7) is range.
     * @return
     */
    private Boolean checkBitActivated(int bitFromRight, int value){
        return ((value >> bitFromRight) & 0x01) == 1;
    }

Zo is het wel een stuk makkelijker :D Dankje!
Redacted
  zondag 7 oktober 2018 @ 00:09:31 #207
85514 ralfie
!Yvan eht nioj
pi_182361215
quote:
0s.gif Op woensdag 3 oktober 2018 09:47 schreef cablegunmaster het volgende:

[..]

Ik ben bezig in Java. :P maar, ik ga eens kijken om er een paar mini programmaatjes te maken, zodat ik het voor mezelf helder heb. :Y . collega van me heeft snel Or en AND uitgelegd als binair operators. maar zit soms nog wel met hexadecimaal combinatie met bits en met andere cijfer waarde.

Waarom gebruiken ze zulke onleesbare waardes?
Als ze bezig gaan met bytes. :P
de windows 10 calculator heeft een 'programmer' mode. Kan je helpen om lshift, rshift, and or xor etc wat beter te visualiseren door de visualisatie van dex of hex naar bin om te zetten of met de bit togging keypad te spelen
pi_182477879
quote:
0s.gif Op maandag 1 oktober 2018 14:30 schreef cablegunmaster het volgende:

[..]

Ga je met flux of redux werken?

Redux cartoon:
https://code-cartoons.com/a-cartoon-intro-to-redux-3afb775501a6

Flux cartoon:
https://code-cartoons.com/a-cartoon-guide-to-flux-6157355ab207

Werkt perfect de uitleg . :Y

React-native een Redux github repo een keer gemaakt om te kijken hoe het werkt:
https://github.com/cablegunmaster/Simple-Redux-Boilerplate
Ah fuck, hier vergeten op terug te komen. |:(

Saúdos Flip.
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
pi_182546576
Nog steeds bezig in Java! Inmiddels een stuk verder en bij enumerations beland. De uitleg over de methode valueOf() is mij echter niet helemaal duidelijk, mede doordat elke uitleg het anders brengt.

Ik weet dat je een enumeratie voorziet van constanten, waarbij de naam en de waarde volgens mij identiek zijn. De methode valueOf is als volgt: public static enum-type valueOf(String str). Een uitleg is dat de constante wordt terug gegeven waarvan de waarde gelijk is aan str. Maar een andere uitleg leek juist weer te zeggen dat je de constante opgeeft bij str en dan de waarde terugkrijgt. Ik weet het, het resultaat is hetzelfde aangezien waarde en naam gelijk zijn, maar het is toch handig om te weten.

Daarnaast...aangezien waarde en naam gelijk zijn, waarom wil je de ander hebben als je de een al weet? :?
ウプピエ 八十三 &lt;&lt; u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
pi_182550457
quote:
0s.gif Op dinsdag 16 oktober 2018 10:19 schreef uppie83 het volgende:
Nog steeds bezig in Java! Inmiddels een stuk verder en bij enumerations beland. De uitleg over de methode valueOf() is mij echter niet helemaal duidelijk, mede doordat elke uitleg het anders brengt.

Ik weet dat je een enumeratie voorziet van constanten, waarbij de naam en de waarde volgens mij identiek zijn. De methode valueOf is als volgt: public static enum-type valueOf(String str). Een uitleg is dat de constante wordt terug gegeven waarvan de waarde gelijk is aan str. Maar een andere uitleg leek juist weer te zeggen dat je de constante opgeeft bij str en dan de waarde terugkrijgt. Ik weet het, het resultaat is hetzelfde aangezien waarde en naam gelijk zijn, maar het is toch handig om te weten.

Daarnaast...aangezien waarde en naam gelijk zijn, waarom wil je de ander hebben als je de een al weet? :?
Omdat je ook waardes en namen kunnen hebben die NIET gelijk zijn aan elkaar.

1
2
3
4
5
6
7
public enum AppleTreeTypes {
   ELSTAR("Lescus Applescusini"),
   COX("Appelicus Vagicus namus"),
   GALA("Namus Defticus");

    private final String description;
}

Waarde van de enum is in dit geval niet hetzelfde als de NAME van de enum.
Soms wil je namen opvragen met de sleutel, en soms wil je valueOf() de ENUM waarde ophalen op basis van een STRING, om deze verder te gebruiken om je applicatie te verhelderen.

Waarom is dit handig? Dan kan je een DB gebruiken om de ENUM waarde daarbij te zetten / op te halen. De applicatie kan dan alleen de waardes te accepteren die in de ENUM zitten en andere keihard te negeren.

De AppleTreeType.valueOf("FUJI") Appelsoort is onbekend en mag niet meedoen aan mijn persoonlijke appelsoorten, die ik verkoop. (bijv). en zou een "IllegalArgumentException" geven.

Ander voorbeeld met "rechten":
http://tutorials.jenkov.com/java/enums.html

Hopelijk verheldert dit iets wat.
Redacted
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')