28 november, 2006

100Gigabit nätverk?

Visste ni att man kan komma upp i hastigheter på Internet och nätverk runt ca 100Gbit? Några forskare har lyckats skapa en ny typ utav Ethernet som kan nå hastigheter upp till maximalt 100Gbit. Det fungerar som så att signalerna överförs 10 x 10Gbit (alltså 10st olika kanaler) och sedan skickas det iväg via fiber. Fräckt eller hur?

Ni kan läsa mer om det här http://gigaom.com/2006/11/14/100gbe/
(dock engelska)

Ny PHP skola

www.webdesignskolan.se som har väldigt mycket information om hur man skapar hemsidor, hur man använder Photoshop, Dreamweaver mfl, har valt att göra en PHP skola.

De har valt att skriva hur man gör om man vill börja programmera i PHP med webbservern Apache och databasmotorn MySQL och PHP såklart. Själv tycker jag att det är hög kvalitet på guiderna och alla exempel så bra jobbat WDS. En sak jag tycker att de borde haft med är hur man programmerar med hjälp av Reguljära Uttryck (eng "Regular Expressions"). Det är svårt att bemästra, men när man väl kan det såunderlättas det mesta. Sök på Google efter "Regular Expressions PHP Tutorial" om ni vill veta lite mer, fast på engelska.

WDS har guider om PHP i följande kategorier:
  • PHP grunder
  • PHP fortsättning
  • MySQL och databaser
  • PHP och MySQL

Om ni vill lära er PHP och aldrig har programmerat förut kan jag rekommendera guiderna. Vill ni däremot koda i PHP och har programmeringskunskaper sedan innan, tycker jag att ni ska köpa en bra bok om PHP först. Sedan kan ni besöka www.php.net eller bli medlem på nån sajt som bara handlar om PHP. Då har ni också större chans att ställa mer frågor om ni får problem. www.phpsidan.nu är en bra sajt där jag hänger ibland när jag kommer hem från Lumpen och när jag känner för det.

"Waschman out"
Gott!

22 november, 2006

Google och Blogger

Till er som inte har märkt det kan jag säga att Blogger.com ägs av Google. Det visste jag faktiskt inte förrän nu, men vad jag visste var att Google har gått in mer och mer i kampen om bloggar på Internet. Jag har också haft några tankar om Bloggers koppling till Google när man läser att man kan logga in med sitt Google-konto; exv Adsense - reklam, text/bildannonser med mera. Sedan också att man då kommer åt sina inställningar för exv Googles Adsense sida.

Hade först bara tankar om att Google och Pyra Labs samarbetade med Blogger projektet. Men så var så klart inte fallet. Vill ni läsa lite mer?

En sak är säker . . . Google kommer en vacker dag att regera över hela IT-världen.

21 november, 2006

Om PHP-Gtk2

Jag har skrivit två andra artiklar om PHP-GTK2 men tycker att de inte beskriver på ett bra sätt hur det fungerar och hur man kan programmera i det som nybörjare. Inom en snar framtid så kommer alla artiklar som rör just det ämnet hamna på en separat hemsida, men det får nog vänta tills jag skaffat mig en egen server - eller ett webbhotel.

Det som kommer skilja min sajt från alla andras är att den kommer vara helt på svenska.
chao!

20 november, 2006

Tjänst för skolor

Jag vet att rubriken får det hela att låta "overkill" men så svårt ska det nog inte vara. Låt mig förklara:

De flesta som vet vad Fronter är för något och som använder det, brukar säga att det suger. De tycker det är dåligt och krångligt. Det finns funktioner som nästan aldrig används och när de väl finns tillhands är det få som vet hur man använder dem.

Jag ser Fronter som en slags portal där man som elev och lärare kan kommunicera och lämna in inlämningsuppgifter i olika ämnen med mera. Det finns också delar av sidan som kallas för rum där man kan ha saker och medlemmar som rör just ett specifikt ämne.

Jag har frågat runt lite och många tycker att det borde finnas något enklare än Fronter på marknaden - för dem som elever. Visst att lärarna tycker om det, men det är väl bara för att kommunen är "kär" i det. Nu har jag tänkt igenom detta ordentligt och har kommit fram till att jag ska försöka skapa ett eget system eller Webbapplikation som det också kallas.

Det ska fungera ungefär som Fronter fast med färre funktioner och enbart det viktigaste. Det behöver till exempel inte finnas ett chattrum när alla vet att det finns MSN, Skype med flera. Som lärare ska man fortfarande kunna administrera portalen efter eget tycke: elevkonton, prov, inlämningsuppgifter, inlämningsdatum, dokument för nerladdning och lite till.

Detta gör jag mest för att det är en utmaning men också för att jag tror det kommer bli så bra nån gång i framtiden att något företag kanske köper systemet. Man får väl drömma lite ;)
Det jag vet än så länge är att det ska vara byggt i PHP och MySQL, fungera på både Windows och Linux, samt att det inte ska finnas centralt på en server. De som vill använda systemet får helt enkelt ladda ner (köpa) källkoden och köra lokalt.

Vi får väl se hur det går i framtiden... "only time can tell!"

10 november, 2006

T35 - Gratis problem

Typiskt! Jag har ju nämnt i mina tidigare artiklar att tjänsten T35 är så bra och allt det där, men förra veckan ändrade jag uppfattning om dem totalt.

Jag läste i en rapport på deras hemsida att bara dagar innan jag loggade in, så hade de bytt servrar och allt arbete var borta... totalt!!! Hur jobbiga får man vara? Jag hade faktiskt några PHP skript där som jag hade glömt att säkerhetskopiera. Det var nog lite mitt fel, men deras också eftersom de inte hade meddelat deras medlemmar via epost, utan istället valt att meddela allmänheten och alla medlemmar via deras jävla sajt.

Därför kan det hända att länkarna på bloggen inte fungerar om du nu tänkt använda dem för att ladda ner nåt eller liknande.

Slutsats: Gör alltid säkerhetskopior... man vet aldrig när faran är framme.

28 oktober, 2006

Elektronisk dansmusik Radio

Jag vill nu dela med mig av Digitally Imported (www.di.fm) som enligt mig är världens bästa samling av Internet Radio för elektronisk dansmusik.

Det finns även Jazz för de som gillar det!

22 oktober, 2006

Mera trance åt världen

Jag är en person som älskar elektronisk dans musik inom genren Trance, Hardtrance, Hardstyle, Acid med flera. Jag lyssnar på det för att få upp min energi och ibland även för att slappna av.

Det finns många av er där ute i det "civila mörkret" som inte vet att trance faktiskt kan vara harmoniskt. Då och då hör man låtar eller mixar med vissa inslag av exv. fioler, piano, gitarr mm.
Detta säger jag därför att jag idag införskaffade jag mig senaste albumet i Trancemaster serien "Trancemaster 5003" som är deras 53:e skiva och jag har alla.

Musiken blir bara bättre och bättre med åren som går och de DJ's som mixar låtarna fortsätter att briljera. Varje mix är unik, men trots det tycker många av mina kompisar att det låter likadant vilken mix man än lyssnar på.

Ni kan ju testa söka på Google efter "Above And Beyond - Trance Around The World 107 03-04-2006 TranceGrooves" och lyssna för er själva. Visst att det finns bättre men den mixen gillar jag.

Innan jag avslutar vill jag säga att jag tycker det är synd att den "gamla" trance-musiken börjar försvinna från stora klubbar och House-genren tar över. Jag säger inte att det händer överallt, men lite här och var. Ett exempel är "Sensation White (2006)": för några år sedan spelades riktigt go trance, men nu spelas nästan bara house - "Shame on you Sensation White!"

Nu i fortsättningen hoppas jag man fortsätter att stötta trance-genren på de större klubbarna och festerna. Länge leve Armin van Buuren!

12 augusti, 2006

8Mbit Bredband

Äntligen har jag fått reda på att vi kommer få bättre bredband - 8Mbit istället för 0.25Mbit som vi har nu. Medan jag var i Lumpen hade min mamma kontaktat Telia för att få bättre bredband och fick då höra att vi har betalat 70kr för mycket för 0.25Mbit. Telia hade glömt meddela oss detta så vi har betalat för mycket i nästan ett halvår.

Jag har levt med 0.25Mbit i snart fem år och om bara några veckor kommer det gå mycket fortare att surfa :). Nu du Davo börjar det hända saker!!!

Tur är väl det att man har en så snäll mamma som tänker på en när man är i Lumpen och sliter.

06 augusti, 2006

Kommande uppdateringar av bloggen

Nån gång näst-kommande veckor kommer artikeln om hur man sätter upp en egen server att ändras och finjusteras. Jag kommer avinstallera servern på min egna dator och göra en ominstallation, samtidigt som jag antecknar hur jag gör exakt. Har fått höra att några har fått problem men det är ingen fara.

Jag kommer också ladda upp de konfigurationsfiler jag själv använder och sedan skriva lite extra om vad som behöver ändras i dem - sökvägar till "C:\wwwroot" osv.

Jag är som sagt i Lumpen nu så jag skriver när jag får tid över (nån helg då och då).
Peace!

26 juli, 2006

Hitta liknande musik som du gillar

En kompis till mig sade här om dagen att det finns en sida www.pandora.com där man kan skriva in ett artistnamn/grupp eller ett album och sedan få förslag på musik som liknar den genren.

OBSERVERA!
12/10-08 Tjänsten är längre inte tillgänglig för personer som befinner sig utanför USA's gränser p.g.a någon konstig lag/licens. Så har det varit i några månader nu och det kommer troligen inte att ändras.

Eftersom min favoritmusik genre är trance så valde jag att skriva in "Armin van Buuren" som är en världskänd DJ inom elektronisk dansmusik. Jag trodde aldrig det skulle fungera, men det gjorde det (ofta, men inte alltid).

En låt spelas upp och visas tillsammans med lite artistinformation och CD omslag. Om man gillar låten kan man klicka på "tumme upp" eller om man inte gillar den "tumme ned". Då anpassar sig sidan efter dina val och försöker hitta relaterade låtar/artister/genrer. Ibland blir det helt fel musik, men sidan lär sig mer och mer ju längre man lyssnar.

Om man vill spara en lista på alla artister och låtar man tycker om, kan man skapa ett gratis-konto. Där uppdateras sedan allt medan du lyssnar!

En nackdel dock är att man inte kan lyssna på de låtar man redan har hört via sidan eller sparat på sitt konto. Det märkte jag när jag ville lyssna på en bra låt igen, som jag hade hört tidigare under dagen. Då kunde man bara höra en prov-lyssning på ca 20 sekunder. Det suger!

Om jag ska sammanfatta kan jag säga att jag är nöjd med sidan och tänker fortfarande använda den som en slags radiostation med mina "musik favoriter". Får se hur länge den överlever i min lista över bra sajter.

Besök gärna min profil på Pandora.

Tjao!


Källor
www.pandora.com

Google SketchUp

Wow! Inte visste jag att Google höll på med sånt - ett 3D-modell program. Jag upptäckte det nu i natt när jag satt här i soffan och surfade lite. Skulle bara lägga till en sajt till deras index och så hittar jag det här jättecoola programmet.

Deras exempel gör att det ser så enkelt ut, men det återstår att se i morgon när jag ska testa det. Ska lägga mig snart. Kanske dags att börja vända tillbaks dygnet snart inför Lumpen nu på måndag? Äh, orka! ;)

23 juli, 2006

PHP: Skriv text till bild med GD2

Förord
Hmm, klockan är 03:43 och jag är för pigg för att lägga mig. Kan inte förstå varför jag känner så, men jag blir nog tröttare efter att ha skrivit en liten artikel :).
Den här artikeln kommer handla om hur man skriver text till bilder i PHP. Ni kanske har sett bilder på forum som visar information om er dator; typ vilken IP-adress eller vilken Internet Leverantör (ISP) ni har. Nu kommer ni får lära er hur man visar en besökares IP-adress.


Introduktion
För att kunna hänga med i artikeln och förstå någorlunda vad jag talar om, behöver ni kunna lite PHP. Grundläggande kunskaper räcker, men ni ska helst ha vana för programmering.

Det som gör att vi kan skapa dynamiska bilder i PHP är ett bibliotek vid namn GD2 (php_gd2.dll). De som har läst min artikel om hur man "Sätter upp en egen server" har redan GD2 konfigurerat och klart. Ni andra får ta reda på om ni har det på ert webbhotel eller om ni har det på er server innan ni börjar.

Vill ni läsa lite mer om bibiloteket GD2 eller ladda ner det till er server, rekommenderar jag att ni besöker www.boutell.com/gd.

Jag tänker inte gå igenom i detalj hur ni skapar PHP-dokument för det borde ni kunna fixa på egen hand.


Då börjar vi
Börja med att leta fram den bild du vill använda. Ni kan använda den bifogade bilden om ni vill för det är den jag har använt.



Öppna sedan ett nytt PHP-dokument och skriv följande kod:

<?php
// Hämta bilden som ska visas
// Observera att bildtypen måste vara av typen PNG (mime: image/png)
$img = imagecreatefrompng('C:/bilder/sunset_small.PNG');


Nu har vi öppnat bilden och lagrat en referens till den i en variabel $img. I nästa kodsnutt definierar vi de färger vi vill kunna använda till texten:

// Definiera färger
// Vi använder RGB-värden från 0-255 (röd, grön, blå)
$black = imagecolorallocate($img, 0, 0, 0);
$white = imagecolorallocate($img, 255, 255, 255);
$blue = imagecolorallocate($img, 0, 0, 200);
$red = imagecolorallocate($img, 200, 0, 0);


Sedan sätter vi storleken på texten till den inbyggda storleken 3. Det finns följande storlekar för de som vill testa sig fram: 1 (minst), 2, 3, 4 och 5 (störst).

// Sätt en inbyggd teckenstorlek för imagestring()
$font = 3;


Nu anger vi x- och y koordinaterna på bilden där vi vill att textens övre vänstra hörn ska börja. Om ni använder en annan bild än den bifogade så måste ni naturligtvis ändra på koordinaterna. Kom bara ihåg att koordinaten (0, 0) i GD2 biblioteket (och på flera andra ställen) börjar längst upp till vänster på alla bilder:

// Ange koordinater där texten ska börja
$x = 125;
$y = 160;


Nu väljer vi den text som vi vill skriva till bilden. Det är en ledtext och besökarens IP-adress som slås ihop till en ända sträng:

// Skriv den text ni vill ska användas
$text = 'Du har IP: ';
$ip = $_SERVER['REMOTE_ADDR']; // Lagra IP-adress
$text .= $ip;


Nu ligger hela texten lagrad i variabeln $text så nu kan vi skriva den till bilden med referensen $img. Ni kan byta ut variabeln $white (vit) mot någon annan av de färger vi definierade i början av koden:

// Skriv texten till bilden
imagestring($img, $font, $x, $y, $text, $white);


Vi använder funktionen imagestring för att använda referensen $img, med textstorleken $font, koordinaten $x och $y (125, 160), texten $text och färgen $white.

Nu måste vi bara tala om för webbläsaren att det kommer en PNG bild istället för en vanlig hemsida:

// Berätta för webbläsaren att det nu kommer en bild av typen png.
header('Content-type: image/png');

// Skicka bilden till webbläsaren
imagepng($img);


Slutligen så frigör vi minnet för att göra servern och systemadministratören glad:

// Frigör minne (viktigt!)
imagedestroy($img);
?>


Om ni använder ett annat format än PNG kan ni testa byta ut png i koden till ert format. GIF kan dock krångla pga licenser.


Testa
Spara nu PHP-dokumentet som "dynamisk_bild.php" och kör den på den server ni använder.


Slutord
Hoppas ni fick det att fungera och att ni har lärt er något nytt ;)
Nu är jag väldigt trött och ska gå och lägga mig!

Zzz Zzz


Källor
www.boutell.com/gd
www.php.net/gd

20 juli, 2006

Vad är PHP-GTK2

Förord
De flesta vet väl vad PHP är för nåt - ett serverbaserat skriptspråk som används för att skapa dynamiska hemsidor. Nu har det även släppts en annan variant av PHP där man kan skapa körbara program - PHP-GTK2!


Introduktion
I den här artikeln ska jag introducera er för PHP-GTK2 - en utbyggnad för programmeringsspråket PHP som implementerar GTK+ (Gimp Tool Kit) bibiloteket. Detta tillhandahåller ett Objekt Orienterat (OO) gränssnitt för de flesta klasser och funktioner inom GTK+, som underlättar skapandet av klient-side och multi-platform (Unix, Linux, Solaris, Windows etc) program.

Nu kan man alltså inte bara använda PHP till dynamiska hemsidor - man kan även skriva program som fungerar på de flesta operativsystem utan några större ändringar i koden.

Jag ska bara gå igenom några av de viktigaste punkterna som berör PHP-GTK2 så att ni kan komma igång lite enklare. Jag kommer också hålla mig till Windows platformen i den här artikeln.


Nyheter och likheter
I PHP-GTK2 kan man använda nästan alla funktioner och klasser som finns tillgängliga i PHP, så om du har en dynamisk hemsida som kontaktar exv. en MySQL databas, kan du åstadkomma ett program som gör samma sak väldigt enkelt.

Exempel
Utdrag från: Dynamisk hemsida:
$dbh = mysql_connect('localhost', 'username', 'password') or die(mysql_error());
...
mysql_close($dbh);


Utdrag från: PHP-GTK2 applikation:
$dbh = mysql_connect('localhost', 'username', 'password') or die(mysql_error());
...
mysql_close($dbh);


Det enda man måste göra är att modfiera eller justera koden så att den passar ihop med din PHP-GTK2 applikation. I slutet av artikeln tänker jag visa några exempel på hur man skriver enkla PHP-GTK2 program.

En positiv egenskap hos PHP-GTK2 är att det använder PHP 5.1 och 5.2 i skrivande stund. Det är den version av PHP som har bäst stöd för Objekt Orienterad Programmering (OOP). Man bör lära sig OOP om man vill bli en seriös programmerare :).

En dålig egenskap hos PHP-GTK2 är att koden inte går att kompilera till maskinkod (den kod som processorn kan förstå), eller också kallat EXE-filer som de flesta av er borde känna igen. Det finns i och för sig tredjeparts program som kan kompilera PHP-GTK kod, men än så länge har de inte stöd för PHP-GTK2. Detta betyder i nuläget att om ni väljer att distribuera era program, så kan vem som helst läsa källkoden och själv göra ändringar i den.

Tips!
Det finns ett program vid namn "Zend Encoder" som "kodar" om din källkod till svårförstådd text. Det kostar pengar och om ni vill veta hur det fungerar får ni vända er till källorna i slutet av artikeln.


En IDE för att skapa PHP-GTK2 program
Först ska jag tala om vad en IDE är? En IDE (Intergrated Development Environment) är ett program som typ Microsoft Visual Studio som underlättar kodning av program oerhört. En IDE brukar ha en inbyggd hjälp med funktioner, klasser, konstanter med mera, och en inbyggd dokumentation för det programmeringsspråk den är till hjälp för.

För PHP-GTK2 finns en IDE vid namn Glade (v2.12.1-rc1 i skrivande stund), men exakt hur man får den att fungera kan jag inte förklara i nuläget. Jag får uppdatera artikeln vid ett senare tillfälle och lägga till en text om hur man gör. Försök hitta information bland artikelns källor så länge.

IDE:n fungerar som så att man kan "rita" knappar och andra objekt i ett fönster som representerar den slutliga applikationen. Då skapas kod "on-the-fly" så att man själv slipper skriva kod som exv. skapar ett nytt fönster: $wnd = new GtkWindow().

En IDE brukar också ha "syntax highlightning", vilket betyder att all kod färgläggs i olika färger. T.ex. strängar blir röda, kommentarer blir orangea, funktioner blir svarta, nyckelord blir blå etc. Då är det mycket enklare att hålla ordning och reda på sin kod.


Skaffa och Installera PHP-GTK2
Om ni använder Windows och känner att ni vill testa på PHP-GTK2, kan ni navigera till följande sida gnope.org och ladda ner (i skrivande stund) "Release 1.5.1" i sektionen "Windows Downloads". Det paketet har allt ni behöver för att komma igång. I alla fall för tillfället!

Nu går jag igenom steg-för-steg hur man gör för att få PHP-GTK2 att fungera.
Jag använder Windows XP Professional SP2!
  1. Ladda ner Gnope 1.5.1 som innehåller
    • PHP 5.1
    • gtk2 (Win32) module
    • Gnope Apprunner
    • Gnope PEAR Installer
  2. Kör filen "GnopeSetup-1.5.1" som ni precis laddade ner
  3. Tryck på "Next" och "I Agree"
  4. Kryssa i alla rutor du ser i fönstret
  5. Tryck på "Next"
  6. Låt det stå "C:\PHP-GTK2" så slipper vi krångla till det, men ni kan ju alltid ändra om ni vill.
  7. Tryck på "Install" och när en ruta poppar upp och ställer frågan: "Change the environment for all users..." svarar ni "Ja".
  8. När installationen är klar klickar ni på "Next" och sedan "Finish".
Efter att ni klickat på "Finish" borde programmet "PHP-GTK2 Applications" starta upp (om ni valt det förstås). I fönstret klickar ni på "Game_Snake" för att testa ett litet Snake spel. Om det fungerar vet ni nu att er PHP-GTK2 installation fungerar.

Pröva med att trycka på någon av piltangeterna på ert tangentbord i Snake, så borde ni se att en mask börjar röra på sig. Uppgiften är att ta så många äpplen som möjligt, men det vet ni väl redan!

PHP-GTK2 fungerar nu som det ska (om det inte uppstått några problem för er), så stäng av Snake och stäng också programmet "PHP-GTK2 Applications".

Följande steg följer ni bara om ni vill testa ett simpelt 'Hello World'-program:
  1. Gå till "Mina dokument"
  2. Skapa en ny mapp vid namn "PHP-GTK2 Projekt"
  3. I den mappen skapar ni en mapp vid namn "hello"
  4. Följ nu instruktionerna för hur man skapar det 'Hello World'-program som finns i slutet av artikeln tillsammans med alla exempel.
  5. Om ni gjort allt rätt borde ni nu ha en fil vid namn "hello.phpw" i mappen "hello" som ni precis skapat.
  6. Innan ni kör ert nya program ska vi skapa en så kallad batch-fil, som vi kommer använda för att samla upp eventuella felmeddelanden. Skapa den på samma sätt som ni skapade filen "hello.phpw", fast nu döper ni den till "debug.bat" och matar in följande data i den:

    debug.bat
    @echo off
    php hello.phpw
    pause
    exit


  7. Nu kan ni testköra ert nya program genom att dubbelklicka på "debug". Om ert program spottar ut en massa felmeddelanden kommer ni kunna se dem i den svarta rutan som poppat upp.
  8. Programmet visar texten "Hello World!" om allt fungerar, så nu kan ni stänga av det genom att trycka på krysset uppe i högra hörnet.
  9. Markera nu den svarta rutan och tryck på en valfri tangent för att få den att försvinna.
Exempelfilen associerad med det vi precis gått igenom heter "hello.zip" och skapar alla filer och mappar som behövs automatiskt.


Exempelfiler
Det finns inga att ladda ner


Dokumentation
Den vetgirige kan besöka gtk.php.net och lära sig allt på egen hand. Ta också gärna del av dokumentationen, för om det är något ni undrar över om PHP-GTK2 så hittar ni det nästan garanterat där. Annars kan ni alltid avända wiki:n.

Om ni vill testa ett litet program får ni gärna använda ett i slutet av artikeln, eller så kan ni använda ett enkelt "Hello World!" program från den officiella hemsidan gtk.php.net. En modifierad version av det programmet hittar du i slutet av artikeln.


Kodexempel
Hello World:
<?php
if (!class_exists('gtk')) {
die("Please load the php-gtk2 module in your php.ini\r\n");
}
$wnd = new GtkWindow();
$wnd->set_title('Hello world applikation'); // Titel

// Koppla en signal som avslutar PHP-GTK2 när man avslutar programmet
$wnd->connect_simple('destroy', array('gtk', 'main_quit'));

// Skapa en simpel text
$lblHello = new GtkLabel('Hello World!'); // Skapa ny widget

// Lägg till texten till fönstret (objektet $wnd)
$wnd->add($lblHello);

// Visa alla så kallade widgets (manicker)
$wnd->show_all();

// Starta programmets huvudloop
Gtk::main();
?>


Kopiera koden till ett nytt textdokument (*.txt) i anteckningar eller er favoriteditor och spara det som "hello.phpw". Dubbelklicka på filen och det borde startas ett program med texten "Hello World!" inuti.

I nästa exempel ska jag visa hur ni skapar ett PHP-GTK2 program som ansluter till en MySQL databas. Observera att det bara fungerar om ni har tillgång till en installerad MySQL server på er dator, eller om ni har ett konto på exv. nåt webbhotell någonstans. Om ni har tillgång till en MySQL databas måste ni ladda in MySQL i PHP-GTK2 via ett "tillägg" (eng. extension) innan ni kan få det att fungera. Det kanske jag beskriver i en framtida artikel!
Det är ingen idé att ni testar om ni inte har lärt er MySQL än, men det kan vara lärorikt att ta del av felmeddelandena.

Ni kommer få följande felmeddelande om ni inte har konfigurerat MySQL korrekt:
Fatal error: Call to undefined function mysql_connect() in ...

MySQL Test PHP-GTK2:
<?php
if (!class_exists('gtk')) {
die("Please load the php-gtk2 module in your php.ini\r\n");
}
$wnd = new GtkWindow();
$wnd->set_title('MySQL applikation'); // Titel

// Koppla en signal som avslutar PHP-GTK2 när man avslutar programmet
$wnd->connect_simple('destroy', array('gtk', 'main_quit'));


$dbh = mysql_connect('localhost', 'username', 'password') or die('Kunde inte ansluta till MySQl :: '. mysql_error());
// Gör inget!
mysql_close($dbh);

// Hit kommer vi om vi lyckades!!!
$lblHello = new GtkLabel('Vi lyckades ansluta till en MySQL-databas!'); // Skapa ny widget

// Lägg till texten till fönstret (objektet $wnd)
$wnd->add($lblHello);

// Visa alla så kallade widgets (manicker)
$wnd->show_all();

// Starta programmets huvudloop
Gtk::main();
?>



Spara det precis som ni gjorde i förra exemplet - i formatet *.phpw.
Jämför koden för PHP-GTK med följande exempel som syftar på en dynamisk hemsida i PHP

MySQL Test - Dynamisk Hemsida:
<html>
<head></head>
<body>
<?php
$dbh = mysql_connect('localhost', 'username', 'password') or die('Kan inte ansluta till MySQL :: '. mysql_error());
echo '<p>Vi lyckades ansluta till MySQL!</p>';
mysql_close($dbh);
?>
</body>
</html>

Det skiljer inte mycket, eller hur?
mysql_connect() är bara en av många funktioner i PHP som går att använda tillsammans med PHP-GTK2. Testa till exempel funktionen date('Y-m-d H:i:s').

Alla ni som vill lära er mera om PHP-GTK2 kan gå till gtk.php.net och följa alla instruktioner och exempel.


Hjälp
Om ni behöver hjälp eller får problem vid något som rör det som beskrivits i artikeln, får ni kontakta de som är experter på området. Ställ en fråga i ett forum eller nåt!

Kontakta mig inte och be om hjälp förutom om ni känner mig. Då hjälper jag ju er såklart.


Källor
http://gtk.php.net
www.gnope.org
www.zend.com
www.php.net
http://gladewin32.sourceforge.net Information om Glade
http://skylane.t35.com/blog/download

13 juli, 2006

Sätta upp en egen server

Förord
Detta är min allra första artikel jag skrivit någonsin så det kanske inte är så hög kvalitet på materialet, men jag ska göra mitt bästa.

Artikeln är tillägnad Karin
Lycka till med Projektarbetet!

Notis: Jag har skrivit en ny uppdaterad guide med beskrivande bilder som även går igenom hur man sätter upp en MySQL databas. Läs Sätta upp egen server #2 här.

Introduktion
Nu ska jag gå igenom steg för steg hur man sätter upp en egen server. En egen server kan vara bra att ha när man utvecklar serverbaserade hemsidor i exempelvis PHP, ASP, JSP m.fl. Man kan också ha den som en central lagringsplats för dokument och bilder som du vill kunna komma åt utanför ditt hem. Ett bra exempel är om man sitter i skolan och behöver skolarbeten eller nåt liknande.

Möjligheterna är oändliga, men det vi ska koncentera oss på är att få webbservern Apache och server-skript-språket PHP att fungera tillsammans. En kompination som är väldigt enkel och effektiv att konfigurera.

Om du känner att du är duktig på engelska kanske du har lust att pröva ett paket som redan har allt man behöver kan du pröva www.uniformserver.com. Där hittar du mera information. Man slipper konfigurera lika mycket, men jag kan tyvärr inte hjälpa till med det paketet eftersom jag inte har testat det. Jag har hört och läst att det ska vara väldigt bra. Ni som vågar kan ju göra ett försök, men använd gärna min artikel som ett alternativ i så fall.

Observera att jag går igenom hur man installerar en databas vid namn MySQL i en annan artikel. Det gör jag eftersom jag tycker att en databas inte är nödvändig för det vi planerar, men att det underlättar arbete väldigt mycket när man blivit mer erfaren.

En nackdel är dock att vi kommer installera allt på Winows XP och inte Linux/Unix (som förekommer mest på företag och hos de flesta hemanvändare).
Förbered dig med lite kaffe eller en Coca Cola för nu sätter vi igång.


Material
Man behöver:
Men man kan även använda andra versioner.
Kom ihåg att PHP 5.x versionen inte stöds av så många webbhotell eftersom den är hyffsat ny, så det kan uppstå problem. En stor majoritet av alla servrar på Internet kör PHP 4.x, men man bör uppdatera snarast möjligt. Därför använder vi PHP 5.x (5.1.4)!

En av många fördelar med PHP 5 är att det finns stöd OOP (Objekt Orienterad Programmering), men det är en annan historia.


Installation av Apache
Då börjar vi med att installera Apache som är webbservern man använder för att se resultat av de PHP-skript man utvecklar. En webbserver är en HTTP tjänst och kör därför på port 80. Detta går dock att ändra om man nu känner för det.

Kör filen "apache_2.2.2-win32-x86-no_ssl.msi" för att starta installationen, och klicka på "Nästa" tills du kommer till en skärm som liknar denna

Bilden ovan hämtas från www.html-gruppen.nu
Den är bara länkad dit tills jag hittat en plats att lägga den på.

Fyll i följande information:
Network Domain: 127.0.0.1
Server Name: localhost
Administrator's Email Address:
[x] "for all users on port 80 ..."

Gå vidare och välj "Custom" istället för "Typical". Då får vi själva välja var vi vill installera Apache. Klicka sedan på "Nästa".

Nu kommer man till en skärm där man kan ändra sökvägen för installationen.
Klicka på knappen "Change" och ändra "C:\Program\Apache Software Foundation\Apache2.2\" till "C:\Apache2.2\".
Klicka på "OK" och sedan "Nästa".

Sista steget är att klicka på knappen "Install". Nu är det bara att vänta!
När installationen är klar behöver du starta om datorn - gör det nu.


Installera PHP
PHP är ett serverbaserat skriptspråk som kan utföra dynamiska operationer och tillämpa egenskaper till en webbapplikation som är omöjligt med bara HTML. Man kan skapa chattrum, diskussionsforum, CMS (Content Management System), emailsidor som typ Hotmail eller Gmail och mycket mer.

Så här fungerar det:
  1. Du surfar till en hemsida
  2. Servern tar hand om ditt anrop och letar efter eventuell PHP kod på den sida du begärt
  3. PHP tolken körs och skapar HTML kod som PHP sidan genererat
  4. Servern skickar HTML sidan tillbaka till din webbläsare
  5. Du ser resultatet
När man har laddat ner PHP 5.1.4 så finns alla filer i en sk ZIP fil.
Om man inte har nåt program att packa upp sådana filer, brukar man bara behöva dubbelklicka på dem. Packa upp eller kopiera innehållet till följande katalog:

"C:\Apache2.2\php5.1.4"
Om den inte finns får man skapa den.

Nu måste vi kopiera lite filer. Kopiera filen från vänster till höger.
Observera att "php.ini-dist" ska byta namn till "php.ini" efter att ha blivit kopierad.
  • C:\Apache2.2\php5.1.4\php.ini-dist -> C:\Windows\php.ini
  • C:\Apache2.2\php5.1.4\php5ts.dll -> C:\Windows\php5ts.dll
  • C:\Apache2.2\php5.1.4\php5apache2.dll -> C:\Windows\php5apache2.dll
Så där! Nu behöver vi en fil från en nyare version av PHP för att fungera med den nya Apache 2.2.2. Gör då följande:
  1. Gå till http://snaps.php.net
  2. I sektionen "Win32 Packages" finner man kategorin "Stable (5.2.x-dev)"
  3. Klicka på den översta länken "php5.2 (zip)" som finns in listan
  4. Öppna den precis som man gjorde med den förra ZIP filen.
  5. Kopiera "php5apache2_2.dll" till "C:\Windows\php5apache2_2.dll"
Skälet till att vi behöver den filen är att den är kompilerad mot Apache 2.2.


Konfigurera PHP
Nu är det dags att konfigurera PHP, men innan vi gör det så ska man helst skapa en katalog vid namn "wwwroot" på "C:\", alltså "C:\wwwroot". Det är här man sedan lägger alla sina filer som man vill få tillgång till via webbservern. Till exempel några PHP-skript, men exakt hur man gör talar jag om senare i artikeln.

All konfiguration för PHP görs i filen "C:\Windows\php.ini" så det är det vi ska göra nu.
  1. Öppna "C:\Windows\php.ini" i anteckningar genom att dubbelklicka på den
  2. Gå till menyn "Visa" i anteckningar och klicka på "Statusfält"
  3. Nu visas ett statusfält längst ner i anteckningar som visar vilken rad man befinner sig på
  4. På rad 522 ändra doc_root till doc_root = "C:/wwwroot"
  5. På rad 529 ändra extension_dir till extension_dir = "C:/Apache2.2/php5.1.4/ext"
  6. På rad 645 ändra ;extension=php_gd2.dll till extension=php_gd2.dll
Om man inte kan hitta de korrekta raderna så kan man söka istället.
Testa gå in på "Redigera -> Sök" i anteckingar och skriv "extension_dir". Sedan behöver man bara göra likadant för alla andra rader som ska ändras.


Konfigurera Apache
Nu är det bara konfigurationen av Apache kvar. Det är inte så mycket som behöver göras men var noggrann.

Öppna filen "C:\Apache2.2\conf\httpd.conf" i anteckningar och följ stegen nedan:
  1. På rad 42 ändra ServerRoot till ServerRoot "C:/Apache2.2"
  2. På rad 115 lägg till LoadModule php5_module "C:/Apache2.2/php-5.2/php5apache2_2.dll"
  3. På rad 116 lägg till AddType application/x-httpd-php .php
  4. På rad 151 ändra DocumentRoot till DocumentRoot "C:/wwwroot"
  5. På rad 179 ändra <directory> till <Directory "C:/wwwroot">
  6. På rad 214 ska det stå: DirectoryIndex index.php index.php5 default.php index.html index.htm
Så där... Äntligen dags för testning!


Testa din installation
Nu har vi kommit så långt att vi kan börja testa vår egna webbserver :). Starta först om datorn så att servern kan starta om korrekt.

För den som vill kunna starta och stänga av webbservern manuellt kan antingen använda ikonen nere vid klockan som är ett rosa löv med en vit cirkel och en grön triangel. Högerklicka på den och välj "Open Apache Monitor". Nu kan man administrera lite i alla fall.
Vill man komma åt tjänsten Apache väljer man bara "Open Services".

Nu ska vi skapa ett simpelt PHP-skript som exempel.
  1. Gå till katalogen "C:\wwwroot" och skapa en ny katalog vid namn "test".
  2. Öppna den nya katalogen och högerklicka på den tomma vita ytan.
  3. Välj "Nytt -> Textdokument"
  4. Döp filen till "index"
  5. Öppna filen och skriv följande:
    <?php
    phpinfo();
    ?>
  6. Gå till "Arkiv -> Spara som..."
  7. I filformat längst ner ändrar man till "Alla filer"
  8. I filnamn skriver du nu "index.php"
  9. Öppna nu Internet Explorer eller Firefox och skriv http://localhost i adressfältet
  10. Klicka på länken "test" och du bör nu få upp en massa information om PHP.
  11. Om det inte fungerar kan du klicka på följande länk http://localhost/test/index.php
Nu borde man vi ha en fullt fungerande webbserver med Apache 2.2.2 och PHP 5.1.4.

När man skapar nya projekt eller nya webbapplikationer så är det smartast att skapa en ny katalog för varje. Skapa dem i "C:\wwwroot" precis som vi gjorde med "test".
Säg till exempel att man skapar mappen "projektarbete" så kommer man åt innehållet via adressen http://localhost/projektarbete/ .


Slutord
Vad kommer Du göra med Din fräscha webbserver? Kommer Du använda den som en central lagringsplats för Dina hemsidor, eller Dina arbeten?

Vem vet... "Only time can tell"!

Tänk på att Apache är en av världens mest flexibla servrar, så den här guiden beskriver långt ifrån allt. Ur säkerhetssynpunkt fattas ganska mycket fixande, men guiden passar utmärkt om man använder den för teständamål.

I en senare artikel ska jag berätta hur man installerar en databas (MySQL) och får den att fungera ihop med Apache och PHP. Det kommer även komma några artiklar som handlar om säkerhet i PHP och MySQL. Om man vet hur man bryter sig in - vet man hur man skyddar sig.

Om någon behöver hjälp så har ni min epostadress här:

waschman (at) gmail dot com

Ni andra som känner mig vet hur ni ska kontakta mig.
Lycka till!


Källor
www.php.net
snaps.php.net
www.apache.org
www.html-gruppen.nu
www.uniformserver.com

24 juni, 2006

Lyckad midsommar

Mina order från kompisarna var att fixa en riktigt tung Trance CD inför den kommande Midsommarfesten. För en gångs skull skulle man få lyssna på min musik och inte bara en massa hårdrock, metal och svängig 90-tals musik.

När klockan var var halv fyra på midsommarmorgonen hade jag lyckats pressa in några av de sista låtarna, och nu var jag trött men jättenöjd. Detta skulle bli den bästa skiva jag mixat ihop sedan min första release av Techno Machine 2002. Mitt val av skivnamn - Midsummer Trance 2006.

Jag gick och lade mig och vaknade sedan klockan 13:30 av att morsan spelade hög musik och syskonen sprang ut och in ur mitt rum. Man fick då pallra sig upp ur sängen och käka lunch.

De närmsta timmarna tog jag det bara lugnt och inväntade klockslaget 18:00 då alla skulle samlas vid festen. Väl där tog vi fram grillarna och började grilla kött och korv med bröd, samtidigt som man satt och lyssnade till den där jobbiga hårdrocken.

Det kom bara fler och fler, men vi var kanske fyrtio personer max.

Men så hände det! När alla var på gräsmattan och spelade fotboll kunde man höra en låt som skilde sig från de andra. Man kunde riktigt höra basen bli högre och högre - Äntligen! Nu skulle de äntligen få höra att Trance inte var så dåligt som de alltid tror.
Först trodde jag inte mina öron men efter att ha snackat runt lite med några som satt runt vattenpipan, och några andra hårdrockare inne i ladan, fick jag veta att de faktiskt gillade musiken. Ja! 1-0 till mig.

Festen rullade på och man fick i sig mer och mer alkohol, men inte i såna extrema mängder som de flesta andra. Det fick bli några cider från Willis helt enkelt och nån cider-lemon på flaska från systemet ibland. Inne i partyladan kunde man visa sina sk "dance moves" för kompisarna och lyssna på god musik, samt försöka diskuttera med halvdäckade personer, vilket dock inte var så lyckat.

Klockan började nå 02:00 och festen började lida mot sitt slut. Jag var i alla fall nöjd om någon frågar mig - god stämning och skön musik. En lyckad Midsommar helt enkelt!

Notis: Jag är ingen DJ!
Det är bara mitt val av favoritlåtar som ligger till grund för mina skivor

Ha det gött, haj!

21 juni, 2006

Min första blogg någonsin

Hej på er!
Detta är min allra första blogg och här kommer jag skriva lite mer efter att jag har tänkt igenom vad jag skall publicera och inte. Det kommer troligen finnas lite texter och artiklar som jag vill ge till allmänheten - mestadels om programmering, men också om andra saker som typ en organisering av mina tankar.

Eftersom detta är en sk "webb-log" kan det dyka upp lite blandat ;)

Välkomna till bloggen

Välkomna ska ni vara kära besökare. Jag skriver om IT för att det är kul och för att jag vill dela med mig av information och kunskap. Jag försöker hålla bloggen så kategoriserad som möjligt för att ni enklare ska hitta intressanta länkar och artiklar.