Mattias' blog om affiliate marketing

Archive for the ‘ Programmering ’ Category

Jeg har fundet en genial løsning på udsendelse af nyhedsbrev for en af vores kunder på mit arbejde. Well, ideen er ganske vidst ikke min, men jeg har selv videreudviklet den en smule.

En af de nørder, jeg har på min messenger, som bare ved ALT, nemlig Martin Trads fra DinHost.net, har længe snakket om hans smarte mailafsendingssystem.

Ideen med systemet er, at brugeren ikke skal opleve den ventetid, som PHP typisk kan præstere, nÃ¥r det skal sende e-mails.. PÃ¥ Momex har jeg eksempelvis 25.000 nyhedsbrevsmodtagere, som jeg skal sende ud til. NÃ¥r jeg skal sidde og glo pÃ¥, at browseren skal gøre sig færdig med at sende alle mails, bliver jeg da hurtigt lidt træt i øjnene – men min smtp-server er heller ikke beregnet til den slags, sÃ¥ det tager omtrent en halv time.

Løsningen er ganske simpel. Det, jeg har gjort, er, at jeg har ladet Windows selv stÃ¥ for udsendelsen. Ved udsendelse af eksempelvis nyhedsbreve gemmer jeg sÃ¥ blot mailen i en mysql-tabel, som jeg kan hente fra php-cgi.exe, som er en fil, der kan afvikle php scripts direkte i en kommandoprompt. Den kan jeg sÃ¥ køre med Windows’ indbyggede tasks, som kan afvikle dette script eksempelvis en gang i minuttet. PÃ¥ den mÃ¥de behøver jeg ikke bekymre mig om, at det tager en halv time at udsende nyhedsbrevet – der gÃ¥r 2 sekunder fra jeg har trykket “Udsend” til jeg kan lukke min computer ned. Serveren stÃ¥r jo alligevel og summer hele tiden :+)

Et af de mest oversete punkter i produktionen af et website eller til dels PC-programmer – bÃ¥de af mig selv og en rigtig stor del af alle andre udviklere. Det nytter sgu ikke noget, at brugeren ikke fÃ¥r at vide, hvorfor vedkommende ikke kan gennemføre en eller anden handling.

Der er flere typer fejlmeddelelser. Der er de intetsigende (“FEJL” eller “Der opstod en fejl, prøv igen”), sÃ¥ er der de gode og beskrivende, som gør, at brugeren mÃ¥ske selv fÃ¥r mulighed for at rette op pÃ¥ fejlen – og sÃ¥ er der de overdrevne, hvor en programmør har fÃ¥et en pind i siden underu udviklingen – se billedet nedenfor for et eksempel..

dejligoutlookfejl.jpg

AltsÃ¥.. Man kan sige, det er da en fejlmeddelelse, der er til at forstÃ¥! I øvrigt lukkede jeg fejlmeddelelsen og startede Outlook op igen – og det har kørt siden uden problemer.

Hvis du føler, at du kan svare ja til ovenstÃ¥ende spørgsmÃ¥l, sÃ¥ tag lige den her test… Det gælder kun i første forsøg :)

Jeg fik skrevet 43 HTML-elementer, – og det er fandme ikke mange ud af 90! Men se bare her, – jeg ligger da ihvertfald over et par SEO-nørder

Tag testen her!

43

PÃ¥ www.bardaspil.dk har DR lanceret et onlinespil, der minder lidt om runescape eller WoW. Ideen er ihvertfald den samme. :)

Jesper fra JayKay Company har skaffet sig uautoriseret adgang til spillet, så man kan få ubegrænsede evner, point og levels.

Læs mere på JayKays hjemmeside

Et design i divs

november 3, 2007 Programmering Comments

Selvom klokken er blevet mange, er det lykkes mig at sætte et layout af en side op i DIVs og CSS. Jeg er rimelig stolt, så du kan godt klappe :)

Se siden her – den er faktisk ogsÃ¥ meget pæn.. Har valgt, at den skal repræsentere min virksomhed, hvori jeg forhandler annoncer pÃ¥ web, fra nu af.

SÃ¥ kører det for Itplaneten.dk… Jeg har før eksperimenteret lidt med mod_rewrite, men det er jo lidt besværligt, som nogle af jer sikkert ved, nÃ¥r man sidder pÃ¥ en windows server, der ikke kører apache! :)

Men nu har jeg fÃ¥et lov at lege med en ordentlig linux/apache server, og sÃ¥ kører det bare.. Se selv her – hold øje med adresselinien: www.itplaneten.dk.

Jeg har også fået et plug-in installeret her på bloggen, som benytter samme strategi, hvilket du også kan se, hvis du holder øje med adresselinien når du klikker rundt her på siden.. Jeg har jo ikke lavet den i plain HTML, vel? :)

Divs eller tables?

oktober 28, 2007 Programmering Comments

plesk03 Jeg har altid sværget til tables. Men det er nu mest fordi det er så nemt at arbejde med, 1-2-3 sekunder og så har jeg en ny side klar. Men nu skal det være slut. SEO-nørderne mener jo, at søgemaskinerne bedre kan lide divs, og de har tilmed nogle ret gode argumenter.. Noget med, at hvis søgemaskinen skal igennem 300 liniers kode før der kommer noget indhold, så synes den at det er lidt træls, og indholdet får ikke så høj en ranking.

Lav ranking kan jeg ikke bruge til noget, så jeg må se at komme i sving. Nu skal det være. Min næste side skal være bygget i divs og css!

Det lyder som en mærkelig overskrift.. Det forholder sig heller ikke sÃ¥dan, at jeg har gjort begge dele pÃ¥ en gang.. Den eneste grund til, at jeg tog “Løb” med i overskriften, mÃ¥ være, at jeg nu or 3. dag i træk har mandet mig op til at komme ud at løbe..

I gÃ¥r købte jeg, som I jo ved, løbetøj og -sko… Rimelig dyrt alligevel, men det er fandme ogsÃ¥ rart at løbe i! (fuck, det skrev jeg bare ikke lige det der…!)

Derudover sÃ¥ har jeg rodet lidt mere med wordpress’en her pÃ¥ siden.. Der var problemer med, at den ikke ville acceptere æ, ø og Ã¥ i links. Jeg sporede det tilbage til funktionen make_clickable();, der ligger i filen wp-includes/formatting.php, og jeg omskrev den lidt.. Den kom til at se sÃ¥dan her ud:

  1. function make_clickable($ret) {
  2. Â $ret = ‘ ‘ . $ret;
  3.  $ret = str_replace(“æ”, “æ”, $ret);
  4.  $ret = str_replace(“ø”, “ø”, $ret);
  5.  $ret = str_replace(“Ã¥”, “Ã¥”, $ret);
  6. Â // in testing, using arrays here was found to be faster
  7. Â $ret = preg_replace(
  8. Â Â array(
  9. Â Â Â ‘#([\s>])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is’,
  10. Â Â Â ‘#([\s>])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is’,
  11. Â Â Â ‘#([\s>])([a-z0-9\-_.]+)@([^,< \n\r]+)#i’),
  12. Â Â array(
  13. Â Â Â ‘$1<a href="$2" mce_href="$2">$2</a>’,
  14. Â Â Â ‘$1&lt;a href="<a href="http://$2%22%3e$2%3c/a%3E’“>http://$2″&gt;$2&lt;/a&gt;‘</a>,
  15. Â Â Â ‘$1&lt;a href=“<a href=”mailto:$2@$3%22%3E$2@$3%3C/a%3E‘),$ret">mailto:$2@$3"&gt;$2@$3&lt;/a&gt;’),$ret</a>);
  16. Â // this one is not in an array because we need it to run last, for cleanup of accidental links within links
  17. Â $ret = preg_replace(“#(&lt;a( [^&gt;]+?&gt;|&gt;))&lt;a [^&gt;]+?&gt;([^&gt;]+?)&lt;/a&gt;&lt;/a&gt;#i”, “$1$3&lt;/a&gt;”, $ret);
  18. Â $ret = trim($ret);
  19. Â return $ret;
  20. }

Det var sÃ¥ indlæg nummer enormt mange i dag – og mÃ¥ske kommer der endda flere :O Fortsat god torsdag!

Bemærk i øvrigt lige det super seje plugin jeg har installeret, der sørger for at farve PHP-koden efter bedste principper :) Plugin’et kan for de interesserede downloades herfra: http://blog.hackerforhire.org/2007/03/16/code-snippet-20/

At programmere PHP

september 4, 2006 Programmering Comments

Først vil jeg kort forklare – for de ikke sÃ¥ nørdede – hvad PHP egentlig er. PHP er en forkortelse for Hypertext Preprocessor (i daglig tale bruges blot forkortelsen). Det blev i ikke rigtige klogere af. Ser I, jeg bruger meget tid pÃ¥ at programmere hjemmesider. Det er faktisk det, jeg tjener de fleste af mine penge pÃ¥. (se evt mit firmas hjemmeside her) PHP er en genial mÃ¥de, hvorpÃ¥ man kan involvere brugeren i ens website, og hvorpÃ¥ man kan holde sin side opdateret konstant.
PHP er en mÃ¥de, hvis det kombineres med en database, hvorpÃ¥ man kan programmere det der hedder dynamiske websites. Dynamiske websites er websites, der konstant holdes opdateret og konstant er under opdatering – ofte kan brugeren ogsÃ¥ tage den i dette. Glimrende eksempler er mit Habbo-fansite, momex.dk og sÃ¥gar denne hjemmeside, zaittam.dk. Et dynamisk website er sÃ¥ledes et website, der konstant er i bevægelse.

Dengang, hvor jeg startede med at lave hjemmesider, hørte man stort set ikke om dynamiske websites. Dengang var websites lavet i HTML og dermed slut. HTML er endnu en forkortelse – for Hypertext Markup Language – og det er et sprog, hvorpÃ¥ man taler med den besøgendes internet-browser. Det er altsÃ¥ altid HTML, der fortæller, hvordan en hjemmeside ser ud. Det er kun HTML’en, der sendes til brugerens computer. Det er derfor ikke muligt, at beskytte ens kildekode (html) fra at kunne hentes fra en hvilken som helst PC, fordi det netop er HTML-koderne, der sendes til brugerens internet-browser.

Således slipper man aldrig uden om HTML. PHP er blot en dynamisk kode, der genererer en statisk HTML-kode, som brugerens internet-browser kan læse, og dermed vise til dens bruger. (din besøgende) Det er denne PHP-kode, der interesserer mig. Det er denne kode, der er penge værd, fordi det er denne kode, der kan lave dynamiske websites.

Hvis du vil læse mere om HTML, regner jeg med, at jeg indenfor en overskuelig fremtid vil udgive en kort introduktion til dette, indtil da, kan du læse meget mere om HTML på den meget sigende web-adresse www.html.dk. Hvis du ikke kan skrive HTML, vil jeg mene, at det er for tidligt at give sig i kast med at lære at programmere PHP. Men derfor skal du naturligvis være velkommen til at læse med videre!

For det første tror jeg, at det er alt for udbredt, at tro, at skal man lære at kode PHP, så skal man låne en masse tykke bøger. Jeg troede det også selv, indtil jeg stødte på en fantastisk hjemmeside: www.solutions2all.dk. På dette internet-forum mødte jeg en fantastisk masse hjælpsomme mennesker der gerne var blot en lille smule bedre end mig til at programmere, og her var der en der sagde noget i stil med følgende til mig:

“Hvis du gerne vil lære at kode PHP, sÃ¥ hold op med at glo i alle de bøger. FremgangsmÃ¥den er, at kigge i andres koder. Det er derfor, at vi har sourcecode-afdelingen!”

Ideen er naturligvis, at man skal tage ved lære af det, som andre har lavet. Du kan for eksempel gøre følgende:

  1. Sæt 5 timers koncentreret arbejdstid af til dette
  2. Find en spændende sourcecode (evt et simpelt nyhedssystem – stil ikke for store krav!)
  3. Få det til at virke på et gratis-hotel, som for eksempel www.frac.dk eller www.1go.dk
  4. Begynd at kig alle koderne igennem! Hvis du i forvejen har læst et par internet-guides eller lignende, som du kan relatere til, vil du opdage, at du kan genkende meget af det.
  5. Begynd at ændre lidt hist og her
  6. Lav nye funktioner til systemet – eller lav kopier af de eksisterende, men fra bunden!
  7. Slet det hele, og start forfra. Programmér altsÃ¥ systemet forfra – uden at kigge i sourcekoden!

Så kan du programmere sådan et system! Det er blot vigtigt, at man giver sig god tid. Tykke bøger kan ikke give dig samme udbyt som ovenstående fremgangsmåde kan, dem kan du først få glæde af lidt senere. Ja, det er ihvertfald min opfattelse; Det er naturligvis muligt, at det er forskelligt fra person til person.

OG: I stedet for den helt tykke php-manual, så er php.net altså et udmærket website. Du kan lynhurtigt slå op i en oversigt over alle eksisterende php-funktioner, og du kan se de mest almindelige i mange forskellige anvendelser. Link: php.net

Derudover kan du kigge på dette link til wikipedia.org, hvor der står en mere uddybende forklaring af, hvad PHP egentlig er for noget.