MVC kan være så mangt

Som Rails-utvikler har man god erfaring med en måte å gjøre MVC-programmering på. Cocoa viser oss en helt annen.

Cocoa, rammeverket for Mac-applikasjoner, er på samme måte som Rails basert på MVC – Model View Controller. Begrepet ble lansert av Trygve Reenskaug da han besøkte Xerox PARC (du vet, der Steve Jobs fikk alle de gode ideene) i 1978, Reenskaug beskriver det slik:

I created the Model-View-Controller pattern as an obvious solution to the general problem of giving users control over their information as seen from multiple perspectives.

MVC er ikke så mye en fasit for hvordan man bygger noe som et ideal eller prinsipp. Rails gjør det på sin måte, primært ved å gi oss tre mapper i Railsprosjektene vi lager: controllers, views og models. Ettersom webben er tilstandsløs (webserveren “husker” ingenting fra forespørsel til forespørsel) har controlleren typisk et tungt lass å dra på webben; den skal håndtere HTTP-headere, request-parametre, routing, styring av innholdstyper osv. I Rails er mange av disse oppgavene håndtert av selve rammeverket, men idet Rails overlater kontrollen til en controller-action du har skrevet har det allerede foregått mye i kulissene.

Hvis man sammenligner med en vanlig GUI-applikasjon er ting ganske annerledes. Her har programmet gjerne all tilstand selv, og svarer umiddelbart idet brukeren klikker på en knapp eller velger noe fra en meny. I motsetning til en webapplikasjon, der nettleseren først skal koble seg til serveren, sende over parametre, vente på svar og gjøre noe med responsen, foregår alt dette i samme prosess i en GUI-applikasjon.

I Cocoa er det en mye tettere integrasjon mellom viewene og controllerne enn på web, noe som har gitt meg ny innsikt i det egentlige forholdet mellom disse to. Veldig mye av controller-koden i en typisk Rails-applikasjon er ca 50% initialisering av tilstand og objekter, innlesing av parametre osv. I Cocoa er controlleren mer som en lydig slave for viewet. Et bra eksempel er når du skal bruke en tabell som skal inneholde en liste med data i en Cocoa-applikasjon. Du kan da bruke en NSTableView-kontroll i GUI-et ditt. Denne kontrollen kan du gi en datakilde (data source), som er ansvarlig for å levere data til tabellen og håndtere innlegging av nye rader, sletting osv. Og her er det Cocoa virkelig skiller seg fra webutvikling. Istedet for at man så forteller datakilden (eller viewet) at den skal legge inn en rad med kolonner x, y og z i tabellen er det helt omvendt i Cocoa. Tabellen vil istedet sende hovedsaklig to meldinger til viewet:

tableView:numberOfRowsInSection:
tableView:objectValueForTableColumn:row:

Ikke la deg skremme av at dette er Objective C, dette er bare to meldinger som et objekt som er satt til å være datakilde for en tabell vil motta. Den første meldingen spør datakilden om hvor mange rader tabellen skal inneholde, den andre spør om hvilken verdi som skal vises i en gitt kolonne i en gitt rad. Cocoa vil altså først spørre hvor mange rader tabellen skal ha, og så vise det antall rader som er synlig i grensesnittet ved å spørre etter verdier for hver kolonne i hver rad. Idet brukeren scroller nedover i tabellen vil datakilden igjen spørre etter nye rader og kolonner – viewet sørger altså selv for å hente de dataene som er relevante for grensesnittet.

Det har de siste månedene blitt ganske populært å erstatte paginerte sider (med Google-lignende linker for hver side i resultatsettet) med lister som scroller uendelig – der nye data hentes idet brukeren scroller siden. Jeg har ikke sett nøye på hvordan dette løses, men en god kandidat kunne vært å bruke Cocoas tilnærming.

Igår satt jeg og fiklet litt med hvordan man lager iPhone webapplikasjoner med Dashcode, da jeg oppdaget at Apple bruker akkurat samme tilnærming når man skal lage en dynamisk liste i HTML/javascript for iPhone. Jeg la inn en liste-widget i GUIet og sa at denne skulle bruke en datakilde for å hente data, hvorpå Dashcode laget et javascript-objekt som så slik ut:

// This object implements the dataSource methods for the list.
var listDataSource = {

    // Sample data for the content of the list. 
    // Your application may also fetch this data remotely via XMLHttpRequest.
    _rowData: ["Item 1", "Item 2", "Item 3"],

    // The List calls this method to find out how many rows should be in the list.
    numberOfRows: function() {
        return this._rowData.length;
    },

    // The List calls this method once for every row.
    prepareRow: function(rowElement, rowIndex, templateElements) {
        // templateElements contains references to all elements that have an id in the template row.
        // Ex: set the value of an element with id="label".
        if (templateElements.label) {
            templateElements.label.innerText = this._rowData[rowIndex];
        }

        // Assign a click event handler for the row.
        rowElement.onclick = function(event) {
            // Do something interesting
            alert("Row "+rowIndex);
        };
    }
};

Her har man altså et javascript-objekt med to funksjoner der den ene skal returnere antall rader i lista og den andre skal returnere data for en rad i lista. Man har altså en widget for websida som bruker en slags protokoll for å snakke med datakilden sin. Det er jo – som eksempelkoden antyder – trivielt å bruke datakilder på nettet til å drive listene, for eksempel med Ajax/XmlHttpRequest. Det virkelig interessante er å introdusere et slags controller-lag i javascript, ettersom dette er tilgjengelig mens siden kjører. Om man ønsker å oppdatere dataene i en slik liste trenger man ikke løpe gjennom alle radene på nytt, man sender istedet en melding til objektet:

document.getElementById("list").object.reloadData();

Her har vi et HTML-element som heter list, der vi forteller datakilden (object) å laste dataene på nytt. Det som da skjer er at datakilden vår vil bli sendt meldingene numberOfRows() og prepareRow() på samme måte som før.

Jeg tror vi ser omrisset av en ny generasjon webapplikasjoner der ute nå.

No_gravatar

Problemet er at folk har misforstått begrepene i MVC og dermed redefinert terminologien <a href=”http://c2.com/cgi/wiki?WhatsaControllerAnyway”>opptil flere ganger</a> slik at man ikke lenger vet om man snakker om samme ting. MVC (modellen, ikke prinsippet om lagdeling) har ingenting med web å gjøre, siden kontrolleren (som uansett er en relativt liten komponent som limer sammen model og view) for en stor grad utføres av webserverprosessen.

For å unngå utvanning av begrepene burde man heller snakke om lagene Data + Logic + Presentation for webutvikling så man ikke blir totalt forvirret når man forsøker å overføre sine egne vrangforestillinger over på GUI-programmer hvor begrepene betyr noe helt annet (og mer korrekt).

1919bfc4fa95c7f6b231e583da677a17?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

comment3, http://www.hcch.net viagra sale, :-OO,

0439110abb55c7455edf1180a114ec38?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

Hi! NVbdAYDw

E2ce511c887db14fcb27565cb7aa7c41?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

A contented out of date maturity is the favour of a well-spent youth. A substitute alternatively of its bringing glum and melancholy prospects of decay, it would give us hopes of unchanged stripling in a better world.

E660965cf4296b9081ed500252e77b86?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

iWL1z3 http://aAQKOiop2iLyMpBz.biz

2b32ec4e641143725056d4cd9ea9978d?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

Hold the line, please <a href=” http://pofenymuuqah.jugem.jp/?eid=1 ”>Preteen Pictures </a> yywtlw

63ce226f9e7c0b41059e8e0718b24396?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

I’d like to pay this cheque in, please <a href=” http://webspace.webring.com/people/ei/iheiben/iheiben.shtml ”>lolita stories with picture</a> wopmjv

63ce226f9e7c0b41059e8e0718b24396?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

I hate shopping <a href=” http://noqomamidupe.jugem.jp/?eid=1 ”>Nn Preteens </a> 8-[

63ce226f9e7c0b41059e8e0718b24396?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

I hate shopping <a href=” http://noqomamidupe.jugem.jp/?eid=1 ”>Nn Preteens </a> 8-[

63ce226f9e7c0b41059e8e0718b24396?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

I hate shopping <a href=” http://noqomamidupe.jugem.jp/?eid=1 ”>Nn Preteens </a> 8-[

82dac228ab778b3c47ca7df0bcbf2139?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

I’ve lost my bank card <a href=” http://ulopysehif.jugem.jp/?eid=1 ”>Preteen Lolita </a> limj

9714928d4652972fda1990b07d2e8ee1?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

Do you know the address? <a href=” http://habucatyni.jugem.jp/?eid=1 ”>Preteen Nn Model </a> 80203

82dac228ab778b3c47ca7df0bcbf2139?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

I read a lot <a href=” http://josemydoutup.jugem.jp/?eid=1 ”>Lolita Sex Stories </a> :OOO

82dac228ab778b3c47ca7df0bcbf2139?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

I read a lot <a href=” http://josemydoutup.jugem.jp/?eid=1 ”>Lolita Sex Stories </a> :OOO

882374fb762319615dde07fe6a13e5b0?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

I’m retired <a href=” http://www.blogtv.com/people/hypaii ”>modelsgirls world gallery</a> dbfnf

9873531646676e4a6db5e6e2e539e3eb?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

dbxf, <a href= http://www.facebook.com/pages/Celebrity-Sex-Tapes/128064773968155 >only Celebrity Sex Tapes</a> <a href=http://www.facebook.com/pages/Celebrity-Sex-Tapes/128064773968155>only Celebrity Sex Tapes</a>

2b32ec4e641143725056d4cd9ea9978d?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

I want to make a withdrawal <a href=” http://itanygey.webnode.com/ ”>Lolitas Art Pthc </a> 8-)))

2b32ec4e641143725056d4cd9ea9978d?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

I want to make a withdrawal <a href=” http://itanygey.webnode.com/ ”>Lolitas Art Pthc </a> 8-)))

Edb57c99f5b4dc3c8032a7b576c93824?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

I’m self-employed <a href=” http://ibigutibek.webnode.com/ ”>Lolita Top List </a> %-OOO

97b36424e6d6ba000bf99ff2899c06a1?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

Do you know each other? <a href=” http://agioligu.centerblog.net ”>Preteen Nudism </a> 168391

2b32ec4e641143725056d4cd9ea9978d?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

An estate agents <a href=” http://uqelytenuho.centerblog.net ”>Lolitas Pthc </a> 085

97b36424e6d6ba000bf99ff2899c06a1?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

Please call back later <a href=” http://aduoenyk.centerblog.net ”>Nymphet Preteen </a> 5418

782d2ab95e29023513cf0b818faeb9eb?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

qiyhmcmphh, <a href=”http://kamagramanuale.com/”>Kamagra</a>;, QDDbpfj, [url=http://kamagramanuale.com/]Cheap kamagra[/url], ildUlyR, http://kamagramanuale.com/ Afterlife kamagra gastenboek bericht naam e-mail, dWLzlFT, <a href=”http://outstandingofferspot.com/”>strawberrynet</a>;, DaQQfdo, [url=http://outstandingofferspot.com/]strawberrynet coupon code[/url], zruxqgC, http://outstandingofferspot.com/ strawberrynet.com, OOXnIbw, <a href=”http://outstandingdealszone.com/”>gamefly coupons</a>, MgbXpVq, [url=http://outstandingdealszone.com/]game fly coupons[/url], KjQkDrX, http://outstandingdealszone.com/ gamefly promo code, PKpcsai, <a href=”http://awesomedealszone.com/”>amazon promo codes</a>, qoLktvL, [url=http://awesomedealszone.com/]amazon coupons[/url], BMgzAvN, http://awesomedealszone.com/ amazon coupon, nODPvge, <a href=”http://outstandingofferszone.com/”>uniform city</a>, AVlZRdy, [url=http://outstandingofferszone.com/]coupons for uniform city[/url], lwPvtpE, http://outstandingofferszone.com/ uniform city coupon, etLJcMB, <a href=”http://ordinelevitra.com/”>Cheaper viagra levitra cialis</a>, mHHgWnl, [url=http://ordinelevitra.com/]Levitra cheap[/url], WWEQfFH, http://ordinelevitra.com/ Levitra efficacite, iNhpviq.

97b36424e6d6ba000bf99ff2899c06a1?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

It’s OK <a href=” http://milfsexbif.edublogs.org ”>milfsex </a> glkpkg

4e4600a45b77db5fd2b070e20062b347?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

xrttqcmphh, <a href=”http://sjsinfo.net/”>Breast Enhancement</a>, ZYlyxvI, [url=http://sjsinfo.net/]South bay los angeles breast enhancement[/url], mIlYVZE, http://sjsinfo.net/ Irvine breast enhancement, FBsleZZ, <a href=”http://www.enchantingcharms.com/”>Emerald cut diamond engagement rings</a>, MZRGNvb, [url=http://www.enchantingcharms.com/]Engagement Rings[/url], xJeqqeT, http://www.enchantingcharms.com/ Kay jewelers engagement rings, RBbhCCu, <a href=”http://optinmarketingreview.com/”>AWeber</a>;, kOLHJMq, [url=http://optinmarketingreview.com/]AWeber[/url], qzqgafn, http://optinmarketingreview.com/ AWeber, bvHQScS, <a href=”http://angrybirdsplaying.com/”>free angry birds</a>, UrNnffn, [url=http://angrybirdsplaying.com/]Angry birds 5 1[/url], RCdFhIP, http://angrybirdsplaying.com/ Angry birds tips, xHDEZxf, <a href=”http://oergrapevine.org/”>Herbal penis enlargement</a>, hNLxRRO, [url=http://oergrapevine.org/]Penis Enlargement[/url], KduinEV, http://oergrapevine.org/ Penis enlargement extender, SgMsrNk, <a href=”http://www.celebblast.com/”>Celebrity Gossips</a>, IsELauC, [url=http://www.celebblast.com/]Gossip[/url], SOrgoCq, http://www.celebblast.com/ Celebrities, bAiPFPD.

104521abe002e187f0962e947f8bf988?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

cphomcmphh, <a href=”http://receiveofferstown.com/”>moosejaw coupon code 2011</a>, ynqEBwT, [url=http://receiveofferstown.com/]moosejaw discount code[/url], JxQlyJB, http://receiveofferstown.com/ moose jaw coupons, LeXMwuk, <a href=”http://www.forestgardencertification.com/”>Buy generic levitra</a>, bdPaaba, [url=http://www.forestgardencertification.com/]Levitra male enhancement[/url], kewtQJc, http://www.forestgardencertification.com/ Vardenafil online, hxMZMNQ, <a href=”http://www.indiareform.org/”>Ativan buy</a>, UsqyxmI, [url=http://www.indiareform.org/]Ativan lorazepam buy cheap ativan online[/url], wSnQMtl, http://www.indiareform.org/ Buy online c.o.d ativan 2 mg 500 cents a piece, xlSHGuO, <a href=”http://www.chakragirlz.com/”>Buy viagra with pay pal</a>, BOnddom, [url=http://www.chakragirlz.com/]Buy viagra australia[/url], uPrUStj, http://www.chakragirlz.com/ Buy cialis online viagra, OOkDmsI, <a href=”http://excitingdealzone.com/”>performance bike coupon code 2011</a>, YWwhLTE, [url=http://excitingdealzone.com/]performance bike coupon 20[/url], gXplYEW, http://excitingdealzone.com/ performance bike coupon 2011, UQMFPxs, <a href=”http://wonderfuldealzone.com/”>jc whitney</a>, jKjBzGr, [url=http://wonderfuldealzone.com/]jc whitney[/url], faHQjNX, http://wonderfuldealzone.com/ jc whitney truck, AtKZmSZ.

Fdd3f6e34c4c1902129ef7f223c11ef4?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

nykjvcmphh, <a href=”http://www.brooksdesignassociates.com/”>Herbal viagra</a>, mysIjoT, [url=http://www.brooksdesignassociates.com/]Viagra pill[/url], dTyqqlZ, http://www.brooksdesignassociates.com/ Viagra to buy, gZcHHqr, <a href=”http://www.mikecaracciolo.com/about.asp”>Buy Ambien</a>, iXeGdDj, [url=http://www.mikecaracciolo.com/about.asp]Generic Ambien[/url], QnBmQri, http://www.mikecaracciolo.com/about.asp Ambien, bIXQdub, <a href=”http://www.la-cadenatricolor.com/ativan.html”>Ativan buy online</a>, CHzxLiS, [url=http://www.la-cadenatricolor.com/ativan.html]Order ativan online[/url], twneBvo, http://www.la-cadenatricolor.com/ativan.html Ativan anxiety, ZEwbAep, <a href=”http://digestit4u.net/”>How long does it take to digest food?</a>, wTEPhQs, [url=http://digestit4u.net/]How long does it take to digest gum[/url], WumkKNg, http://digestit4u.net/ Why eat corn when it does not digest?, EUhxEhq, <a href=”http://www.carriagebandb.com/”>Buy xanax online</a>, SYTpVhk, [url=http://www.carriagebandb.com/]Cheap xanax overnight delivery[/url], rgRZrGq, http://www.carriagebandb.com/ Xanax, qyLjsXy, <a href=”http://www.protectmymark.com/theservice.html”>Overnight delivery buy tramadol online</a>, mwhZNcX, [url=http://www.protectmymark.com/theservice.html]Tramadol in usa[/url], BWbdhpA, http://www.protectmymark.com/theservice.html Buy tramadol generic viagra, UwIRcvd.

8a5bd01487c98e56c1fab882cd5feac9?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

zrzsatipsudvu, <a href=”http://hgh-guide.net/”>HGH</a>;, UfzEwKo, [url=http://hgh-guide.net/]Hgh weight loss[/url], CNZFoUV, http://hgh-guide.net/ HGH, KNbPJrJ, <a href=”http://www.mikecaracciolo.com/kfbshop/shopcustadminlogin.asp”>No prescription vicodin</a>, rrvvlec, [url=http://www.mikecaracciolo.com/kfbshop/shopcustadminlogin.asp]Vicodin lortab without prescription[/url], YQZgrlR, http://www.mikecaracciolo.com/kfbshop/shopcustadminlogin.asp Vicodin generic, hsrqavq, <a href=”http://triactoltoday.com/”>Does triactol really work</a>, PdsfBOx, [url=http://triactoltoday.com/]Triactol in the grocery[/url], YYIajps, http://triactoltoday.com/ Truth about triactol, jivHRQL, <a href=”http://studentloans-info.com/”>Student Loans</a>, SeECvJk, [url=http://studentloans-info.com/]How to consolidate student loans[/url], pLujfBh, http://studentloans-info.com/ College student loans, GiGmfdF, <a href=”http://henrysdiner.net/about.html”>Generic viagra</a>, KbJMJsl, [url=http://henrysdiner.net/about.html]Viagra[/url], QVomkFy, http://henrysdiner.net/about.html Viagra samples, GroxvOG, <a href=”http://www.citrusdesignfirm.com/valium.html”>Valium addiction</a>, TUwwOJS, [url=http://www.citrusdesignfirm.com/valium.html]Valium[/url], IuXMmbn, http://www.citrusdesignfirm.com/valium.html Valium prescription drug, kiFbipT.

0a0a1d4195618b2b1a11063b3b8174bc?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

I’ll send you a text <a href=” http://www.netvibes.com/limiqusanu#Naughty_nymphet_pictures ”>natural virgin nymphets</a> cov <a href=” http://www.netvibes.com/aracupupy#Nymphet_lesbian_stories ”>nymphet in nylon</a> 31816 <a href=” http://www.netvibes.com/ygipugutid#Nymphet_dark_collection ”>vintage nymphets</a> 779 <a href=” http://www.netvibes.com/berotites#Nymphet_teens_russian ”>nymphet temptations</a> juxyu <a href=” http://www.netvibes.com/loquomak#Nymphette_pussies ”>russian nymphet xxx</a> :-P <a href=” http://www.netvibes.com/jeribakuk#Nymphets_boy_nude ”>little nymphets young</a> %(( <a href=” http://www.netvibes.com/ajykiopor#Nymphet_tween ”>best anal nymphets</a> 970224 <a href=” http://www.netvibes.com/iqieaa#Nymphets_peeing ”>camel toe nymphet</a> zvzz <a href=” http://www.netvibes.com/pipokypuke#Nymphets_modeling ”>nymphets world.info</a> jcs <a href=” http://www.netvibes.com/ledujyhua#Free_little_nymphets ”>underage nymphets links</a> fgnnp

0bc1a14985e4a63c6f4c2aa0cfeac91a?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

What university do you go to? <a href=” http://www.netvibes.com/yfeduguqu#Yahoo_Pthc_Briefcase ”>Yahoo Pthc Briefcase </a> 98908 <a href=” http://www.netvibes.com/gyiataf#Pthc_Cp_Videos_Toplist ”>Pthc Cp Videos Toplist </a> 988 <a href=” http://www.netvibes.com/duujudag#Kazz310_Pthc_Models ”>Kazz310 Pthc Models </a> mjcbsd <a href=” http://www.netvibes.com/yjiyety#Pthc_Sex ”>Pthc Sex </a> %[[ <a href=” http://www.netvibes.com/orafysohy#Cp_Pthc_Bbs ”>Cp Pthc Bbs </a> mtz <a href=” http://www.netvibes.com/hamudujy#Pthc_Rapidshare ”>Pthc Rapidshare </a> 98201 <a href=” http://www.netvibes.com/uloyboce#Pthc_Loli_Cp_Zshare ”>Pthc Loli Cp Zshare </a> dgxxf <a href=” http://www.netvibes.com/oanopepe#Pthc_Forum_Img ”>Pthc Forum Img </a> 36574 <a href=” http://www.netvibes.com/hagiupif#Pthc_Bbs_Forum ”>Pthc Bbs Forum </a> %-[ <a href=” http://www.netvibes.com/opeeubo#Cp_Pics_Pthc ”>Cp Pics Pthc </a> nod

06ab2b3ae3094dfdbb6e948f9ca6d267?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

How many are there in a book? <a href=” http://www.netvibes.com/ohycoyob#Prettens_nude_nymphets ”>art bbs nymphet</a> 313990 <a href=” http://www.netvibes.com/jyfemojupe#Magical_cgiworld_nymphet ”>nymphet index</a> :)) <a href=” http://www.netvibes.com/iyqekid#Little_virgin_nymphets ”>little virgin nymphets</a> zel <a href=” http://www.netvibes.com/qanelagumi#Kiddy_nymphs ”>white nymphet</a> 779 <a href=” http://www.netvibes.com/qojaraygu#Thongs_little_nymphets ”>kewpies nymphet art</a> 609942 <a href=” http://www.netvibes.com/loocyji#Black_nymphet_models ”>gymnast nymphet</a> 89396 <a href=” http://www.netvibes.com/yipafia#Tiny_nymphet_first ”>nudeart preteem nymphet</a> 8( <a href=” http://www.netvibes.com/hokerifyr#The_nymphets_montreal ”>planet lo nymphet</a> jmxxfb <a href=” http://www.netvibes.com/pyhajyyp#Her_nymphet_nudes ”>nymphets vagina pics</a> %DD <a href=” http://www.netvibes.com/behalusole#Nymphet_castle_girls ”>little nudes nymphets</a> >:-P

E69a939c4b854bf20a75f943cfc9dd5d?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

xzpcttipsudvu, <a href=”http://www.drphil17daydiet.com/”>17 day diet blog diane henning</a>, wdeovXy, [url=http://www.drphil17daydiet.com/]17 Day Diet[/url], EfehLKu, http://www.drphil17daydiet.com/ 17 Day Diet, lyIDUoF, <a href=”http://www.reohud.org/”>Reo properties san antonio tx</a>, gHJDdKm, [url=http://www.reohud.org/]REO Properties[/url], DcgBUTl, http://www.reohud.org/ REO Properties, KATcDuv, <a href=”http://www.howtogetridofpimplesandacneovernight.com/”>how to get rid of acne overnight</a>, dumYBmx, [url=http://www.howtogetridofpimplesandacneovernight.com/]How to get rid of pimples[/url], XaXRVSt, http://www.howtogetridofpimplesandacneovernight.com/ how to get rid of acne, CBFyOKH, <a href=”http://www.abshowtogetasixpack.com/”>How to get abs in one week</a>, KmYHYne, [url=http://www.abshowtogetasixpack.com/]How to get abs in one week[/url], dsQnRmQ, http://www.abshowtogetasixpack.com/ How To Get a Six Pack, WWjnQmq, <a href=”http://www.hmcdisplay.com/staging.html”>Portable Stage</a>, CeJdclz, [url=http://www.hmcdisplay.com/staging.html]Portable stage[/url], cdDFXbr, http://www.hmcdisplay.com/staging.html School portable stage skirting, DhWrCxT, <a href=”http://www.dietasenutricao.com.br/”>Maxburn</a>;, NLsmoRK, [url=http://www.dietasenutricao.com.br/]Maxburn[/url], zRNsJHM, http://www.dietasenutricao.com.br/ Max burn, otroGUu.

Fc11600f08cdfc45d76aededafa0a978?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

nobiocmphh, <a href=”http://stopsmoking-info.org/”>Stop smoking methods</a>, EtSHLDt, [url=http://stopsmoking-info.org/]Stop smoking pills[/url], OKqvkUK, http://stopsmoking-info.org/ Stop smoking day, BPLzcLl, <a href=”http://healthyweightlosstrends.com/reviews/nutra-science-review”>nutrascience</a>;, HIYRPJO, [url=http://healthyweightlosstrends.com/reviews/nutra-science-review]nutrascience reviews[/url], ppNoSCs, http://healthyweightlosstrends.com/reviews/nutra-science-review nutrascience reviews, ayKMQMv, <a href=”http://maleenhancementsreviewed.com/stimilex-risk-free-trial-review”>penis enlargement</a>, HJVFqTn, [url=http://maleenhancementsreviewed.com/stimilex-risk-free-trial-review]male enhancement reviews[/url], HBSsOuC, http://maleenhancementsreviewed.com/stimilex-risk-free-trial-review stimilex, JmnPhPq, <a href=”http://billigakamagra.com/”>Adaptation kamagra gastenboek bericht naam e-mail</a>, ggWvLKd, [url=http://billigakamagra.com/]Bodyguard kamagra gastenboek bericht naam e-mail[/url], YfKGoVF, http://billigakamagra.com/ Kamagra, rFEARBV, <a href=”http://eazol4u.net/”>Eazol</a>;, QiKJIyD, [url=http://eazol4u.net/]Eazol[/url], oGtWHQP, http://eazol4u.net/ Eazol ingredients, Aojwaju, <a href=”http://seosoftwarenow.com/”>seo powersuite coupon</a>, wxGGfSG, [url=http://seosoftwarenow.com/]seo powersuite review[/url], BGDtdTP, http://seosoftwarenow.com/ seopowersuite, myywYBr.

47b197b52d1fa2e1437fde801e8a9d1c?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

xhevbtipsudvu, <a href=”http://viagrarespostas.com/”>Viagra 6 free samples</a>, VJbSeVV, [url=http://viagrarespostas.com/]Viagra stories[/url], GkrKuEV, http://viagrarespostas.com/ Cheap generic viagra online, WivrRCB, <a href=”http://tyhealth.com/10-reasons-why-you-need-vitamin-d”>Vitamin d 25 hydroxy level</a>, RwNFWRp, [url=http://tyhealth.com/10-reasons-why-you-need-vitamin-d]Vitamin D[/url], QBaagFM, http://tyhealth.com/10-reasons-why-you-need-vitamin-d Vitamin D, xhkHkTr, <a href=”http://abundantliving4u.com/meet_the_coach/”>Price valium online</a>, VkDvCii, [url=http://abundantliving4u.com/meet_the_coach/]Buy diazepam no prescription[/url], qKVgHNd, http://abundantliving4u.com/meet_the_coach/ Generic valium, PuBAAFg, <a href=”http://www.hvpartnership.org/klonopin.html”>Normal dose of klonopin</a>, sMFloXp, [url=http://www.hvpartnership.org/klonopin.html]Klonopin[/url], fMLXYlJ, http://www.hvpartnership.org/klonopin.html Klonopin for sleep, DItSiMB, <a href=”http://www.filebackup.com/”>Online Backup</a>, hEJuyDf, [url=http://www.filebackup.com/]Online Backup[/url], FufdKeF, http://www.filebackup.com/ Online data backup services, oXINUeN, <a href=”http://ly2fromwf.com/”>Dog Snuggie</a>, AZTIlkX, [url=http://ly2fromwf.com/]Dog Snuggie[/url], LDeWSKk, http://ly2fromwf.com/ Dog Snuggie, dBeyetH.

24a5fc776d86d364524f76ce823bd75a?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

girircmphh, <a href=”http://healthymenssupplements.com/?reviews=muscle-x-review”>Muscle tech hydroxycut hardcore x</a>, aSuWKqM, [url=http://healthymenssupplements.com/?reviews=muscle-x-review]muscle x reviews[/url], jonkcCo, http://healthymenssupplements.com/?reviews=muscle-x-review Muscle car backgrounds 1280×800, bSbxjyq.

92ead11455189a4075ea68d535d56043?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

tvmqmcmphh, <a href=”http://www.reohud.org/”>REO Properties</a>, mdSzdWq, [url=http://www.reohud.org/]Reo properties wanted[/url], ZwtaxUQ, http://www.reohud.org/ Countrywide to dump reo properties, GZgdBHe.

F5c529e1dfd80191e171ffa287ce7b21?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

qvmojtipsudvu, <a href=”http://yeastrol4all.net/”>Yeastrol</a>;, HVKniWQ, [url=http://yeastrol4all.net/]Yeastrol[/url], vDkFMxb, http://yeastrol4all.net/ Yeastrol, gtsAKMf.

F4d3b8527ca7de2743645fece83d50f2?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

real beauty page <a href=” http://www.netvibes.com/mybujysaqo#Kid_sex_. ”>toilet nude kid</a> ijc <a href=” http://www.netvibes.com/qayeisi#Kids_rubber_stamps ”>kids sex rape</a> nwfpsg <a href=” http://www.netvibes.com/ynifenoon#Little_pretteen_naked ”>little pretteen naked</a> 74164 <a href=” http://www.netvibes.com/otiuode#Skinny_teen_young ”>naked little pussy</a> 754652 <a href=” http://www.netvibes.com/osecamejy#Little_moaners_porn ”>anal video virgin</a> jnxpem <a href=” http://www.netvibes.com/yhaicye#Cute_ls_magazine ”>tyoung moms</a> 9202 <a href=” http://www.netvibes.com/iolosyli#Teen_hymen_child ”>little red panties</a> =(( <a href=” http://www.netvibes.com/uurumek#Young_boy_moms ”>poormans bikini beach.com</a> hcasfx <a href=” http://www.netvibes.com/juynyhupi#Black_bikini_teens ”>nonude name little</a> 4221 <a href=” http://www.netvibes.com/oiqijopu#Young_round_tits ”>alsscan young gallery</a> pjhph

02e310b8648111b6c600bff40c6c5869?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

gwutwtipsudvu, <a href=”http://freeviagraguide.com/”>Viagra</a>;, TCWGGti, [url=http://freeviagraguide.com/]Generic brands of viagra online[/url], obPEpiF, http://freeviagraguide.com/ Viagra cheap india pharmacy, xFJnyiY, <a href=”http://vardenafiledguide.com/”>Cheap cialis generic levitra viagra</a>, obvRmhc, [url=http://vardenafiledguide.com/]Discount cialis levitra viagra[/url], IgfrjCt, http://vardenafiledguide.com/ Levitra, XTJtVLr, <a href=”http://hghhowto.com/”>Human Growth Hormone</a>, HsyzMyl, [url=http://hghhowto.com/]Bioidentical human growth hormone[/url], JQzRabB, http://hghhowto.com/ Human growth hormone therapy in costa rica, gNuBHPb, <a href=”http://sjsinfo.net/”>Breast Enhancement</a>, ibBKcfx, [url=http://sjsinfo.net/]Breast enhancement for black women[/url], cQIehGN, http://sjsinfo.net/ Kansas breast enhancement, tjTSdCp, <a href=”http://sildenafilbluepill.com/”>Viagra testimontials</a>, DANpMvT, [url=http://sildenafilbluepill.com/]Discount viagra[/url], UyxjVEC, http://sildenafilbluepill.com/ Viagra best, YrrQecA, <a href=”http://resortmauicondo.com/”>Levitra viagra vs</a>, UZOlYTf, [url=http://resortmauicondo.com/]Levitra pour femme[/url], APYftTK, http://resortmauicondo.com/ 20mg levitra, yAAvDPp.

E8eda47be206ed3108c61449ed586c59?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

mvafhcmphh, <a href=”http://www.rancho-bel-air.com/phentermine.html”>Where may i buy prescription strength phentermine</a>, YEUjOfY, [url=http://www.rancho-bel-air.com/phentermine.html]Buy phentermine cheap online[/url], fiJwotx, http://www.rancho-bel-air.com/phentermine.html Phentermine without prescription where to buy, wAxVQfs.

Dcb85694b38031f9f9dc8191d7d183ca?d=http%3a%2f%2fblogg.shortcut.no%2fimages%2fno_gravatar

ejhkwcmphh, <a href=”http://stoutkeeton.com/”>Hgh supplements</a>, IqeIZho, [url=http://stoutkeeton.com/]Hgh side effects[/url], CCaQFhP, http://stoutkeeton.com/ Hgh product, CERjtlF, <a href=”http://honorguard.org/”>Cialis vs viagra insomnia</a>, WyCJxmK, [url=http://honorguard.org/]Cialis prices[/url], FSRyTGK, http://honorguard.org/ Cialis, QqCORiV, <a href=”http://feedsqueezer.com/”>Gen f20</a>, zQAeWoQ, [url=http://feedsqueezer.com/]Human growth[/url], oZiXXUl, http://feedsqueezer.com/ GenF20, yrXUiFg, <a href=”http://personalhghblog.com/”>Homeopathic hgh</a>, ppQTLfY, [url=http://personalhghblog.com/]HGH[/url], YpRsLIR, http://personalhghblog.com/ Secretagogue hgh, hxcfEwC, <a href=”http://angrybirdsplaying.com/”>Angry birds help</a>, LHChpPH, [url=http://angrybirdsplaying.com/]Angry birds characters[/url], wvEtOLm, http://angrybirdsplaying.com/ play angry birds online, EPNAXon, <a href=”http://hcgdietexpertszone.com/”>Dangers of hcg diet</a>, DHYwCbD, [url=http://hcgdietexpertszone.com/]Back on the hcg diet after cheating[/url], cFaCXQI, http://hcgdietexpertszone.com/ Hcg diet before and after, fatUhJh.


Gravatar-aktivert. Les mer om gravatar.
E-postadressen vil ikke vises på siden