MySQL cloud – xeround.com

Jeg har søgt lidt efter nået nyt for at se hvordan det vil være at baser sin database på et clouding center der ikke laver andet end at cloude databaser.

Mit valg falder naturligvis på MySQL og jeg vil nu gerne prøve dette for at se om det er bedre, billigere og nemere for mig som udvikler at benytte dette.

Derfor har jeg idag valgt at ligge min personlig blog hos xeround.com som er den udbyder jeg lige faldt over der havde nået med MySQL clouding at gøre.

De benytter Amazon EC2 og det er muligt at placer det i et EU datacenter som gør ping tiden mindre end hvis det havde været i USA eks.

Det er muligt selv at prøve deres løsning ved at oprette en profil på http://xeround.com

phpDB Tool – RC v. 0.1

phpDB Tool er et værktøj til dig der udvikler PHP og gerne vil kunne benytte et framework til databaser ved hjælp af PDO.

Dette projeckt er remlig nyt og består ikke af meget pt. men det er dog muligt at oprette forbindlse og benytte de mest standarte funktioner.

Dette framework kræver du benytter PHP 5.3 og MySQL 5.1 eller nyere, alt dette kan hentes gratis fra Github.

Hent kilde koden: https://github.com/phptech/phpDB-tool

Adobe Photoshop CS5 64bit – Multi core problem – Tips & Tricks

Jeg har i meget langtid været træt af Photoshop CS5 på baggrund af jeg benytter en MacPro med 2x Xeon 2,26 ghz der svare til 16 cores, men Photoshop CS5 forstår ikke den kraft, så den benytter som standart kun 1 ud af 16 tilgænlige.

Jeg har reseachet lidt og fundet ud af problemet kun findes i CS5 og hvor jeg også har fundet ud af hvor der skal gøres for at få den bedst mulige perfomes ud af Photoshop CS5.

Start dit Photoshop CS5 op og gå under ( Preferences -> Perfomace )

Her under skal du under “GPU Settings” og slå Enable OpenGL Drawing fra dette gør at du ikke vil benytte dit grafikkort i Photoshop CS5, mange bærbar og stasionære maskine med mindre grafikkort vil du ikke få nået ud af det kontrate den perfomes du vil tabe ved dette.

Nu går du under “History & Cache” hvor du her sætter Cache Levels til 2 og Cache Tile Size til 128K, du kan vælge at ændre History States hvis du ønsker at gemme flere ændrigere end defualt, dog anbefaler jeg ikke den sættes over 25, jo højer det tal er detsto mere ram vil der blive brugt uden du får nået for det.

Der næst har jeg nogle gode råd fra en jeg var på kursus med, og det er at sætte Let Photoshop Use 75% af dine total ram i mit tilfælde svare det til ca 3875mb ram ud af 6000mb

Har du mere end 1 harddisk bør du også ændre Scratch Disks så du aktivere den harddisk som du ikke har dit Photoshop CS5 installeret på.

Tryk nu OK og genstart dit Photoshop CS5

Jeg har ladet mig høre at dette ikke kun er at OSX problem men dette problem faktisk også er på Windows, så om du benytter Windows eller Mac OSX bør du fortage disse ændrigere for at få fuld perfomes af dit Photoshop CS5

CentOS 5 som webserver

Til at få CentOS 5 som webserver kræver det lige som alle andre server at du skal installer en webserver med php5 og en  datatabase som skal være MySQL.

Apache
Installer Apache ved at skrive

1
yum install httpd

Når den er færdig med at installere Apache skal vi lige følge op på om Apache faktisk køre, det gøres ved at se status for httpd servicesen.

1
/sbin/service httpd status

Køre Apache ikke skal du starte denne services ved at skrive

1
/sbin/service httpd start

Køre du Apache på en server er det vigtigt at Apache starter op sammen med dit system, derfor skal vi nu angive services level nivue og slå den til ved opstart det gøres på denne måde.

1
/sbin/chkconfig --level 3 httpd on

Husk hvis du har firewall aktiveret skal du åbne port 80 for at andre kan komme i kontakt med din server.

PHP
Hvis PHP ikke er installeret kan du gøre det ved at skrive

1
yum install php

Da jeg selv ønsker at køre med PHP 5.3 eller nyre er det ikke muligt for mig at benytte den  version som CentOS stiller til rådighed, derfor må jeg ud og finde en RPM pakke som kan løse det problem jeg har.

Jeg har valgt denne blog http://www.webtatic.com/blog/2009/06/php-530-on-centos-5/ som har guidet mig igennem til at installere den nyeste PHP version som der ønskes.

Først skal vi tillade webtatic’s RPM pakker i systemet det gøres ved at accepter RPM’s godkendt fra webtatic at blive installeret via yum.

1
rpm -ivh http://repo.webtatic.com/yum/centos/5/x86_64 -i /webtatic-release-5-1.noarch.rpm

Nu er det muligt at installere PHP fra webtatic ved at skrive

1
yum --enablerepo=webtatic install php

Når PHP skal updateres skal du også her være sikker på den bliver updateret fra webtatic og gøres ved at skrive.

1
yum --enablerepo=webtatic update php

MySQL
Jeg ønsker at benytte MySQL 5.5+ på min server, til det findes denne version detsværre heller ikke i selve CentOS og derfor bruger jeg igen webtatic til at bruge dette. start med at installere libmysqlclient

1
yum install libmysqlclient15 --enablerepo=webtatic

Nu ønsker vi at installere MySQL 5.5+ som gøres sådan

1
yum install mysql55 mysql55-server --enablerepo=webtatic

Nu skal du starte MySQL databasen og lad den starte op hver gang systemet genstartere.

1
2
service mysqld start
/sbin/chkconfig --levels 235 mysqld on

Hvis du oplever samme problem som jeg gjore ( chown: `mysql’: invalid user  ) kan det skyldes at gruppen og brugeren ikke er oprettet til MySQL endnu, det kan gøres ved at skrive følgene.

1
2
groupadd mysql
useradd -g mysql mysql

Skift nu dit kodeord til databasen så andre ikke har adgang til din database.

1
/usr/bin/mysqladmin -u root password 'nyt-kodeord'
1
yum --enablerepo=webtatic install php-pdo php-mysql

Multiple backgrounds med CSS3

Med CSS3 har du mulighed for at lave det der bliver kaldt “Multiple backgrounds” det er også en mulighed i CSS2 i nogle browser som Firefox, Safarie, Chrome og Oprea men ikke IE8 og ældre.

Det første du gør er at lave 3 billedere med følge info.

Top: multiple-background-top.gif ( 100x10px )
Midt: multiple-background-middle.gif ( 100x1px )
Bund: multiple-background-top.gif ( 100x10px )

bemærk at bund og top billedet ikke må have transaperant i sig, da billedet i midten vil være baggrunden.

Prøv at skriv et div tag hvor i du angiver en class med navnet multiple-backgrounds som dette

1
2
3
4
5
<div class="multiple-backgrounds">
<div class="box-content">
Dit indhold her i boxen.
</div>
</div>

Næst tilføjer du nu dette til din CSS fil.

1
2
3
4
5
6
7
8
9
10
11
12
13
.multiple-backgrounds
{
background: url(multiple-background-top.gif) top left no-repeat,
url(multiple-background-bottom.gif) bottom left no-repeat,
url(multiple-background-middle.gif)  center left;
width: 100px;
min-height: 250px;
}
 
.box-content
{
padding: 15px;
}

Grunden til jeg ligger en padding 15px inden i er fordi at top og bund billederen er hver 10px høj så for ikke at gå i disse top billeder vælger jeg at lave lidt luft og naturligvis også give lidt luft i højer og venstre side.

hvordan du til passe netop din box er nået du selv vælger ;)

Hvis du har evt. kommentar tips/tricks til denne metode høre jeg gerne hvad du har på hjertet.

Youtube – ClientLogin

For at lave en forbindlse til Youtube API’et kræver det at du bruger ClientLogin for at op nå adgang til din Youtube bruger konto.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
require_once( 'Zend/Loader.php');
Zend_Loader::loadClass('Zend_Gdata_AuthSub');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
 
define('YOUTUBE_USER_NAME','dit brugernavn');
define('YOUTUBE_USER_PASSWORD','adgangskode');
define('YOUTUBE_APP_NAME','program navn');
define('YOUTUBE_CLIENT_ID','klient id');
define('YOUTUBE_DEVELOPER_KEY','API nøgle');
 
$authenticationURL= 'https://www.google.com/accounts/ClientLogin';
$httpClient = Zend_Gdata_ClientLogin::getHttpClient(
$username = YOUTUBE_USER_NAME,
$password = YOUTUBE_USER_PASSWORD,
$service = 'youtube',
$client = null,
$source = 'MySource', // a short string identifying your application
$loginToken = null,
$loginCaptcha = null,
$authenticationURL);
 
$yt = new Zend_Gdata_YouTube($httpClient,YOUTUBE_APP_NAME,YOUTUBE_CLIENT_ID,YOUTUBE_DEVELOPER_KEY);

Med denne stump kode opretter du forbindlse til dit Youtube API og kan nu udføre forskellige handlingere som bla. oprette ny video, gør den privat/public eller endag få andre bruger til at vote eller kommetere dine videoere.

For at få denne tutorial til at fungere skal du benytte Zend Framework hvor der bliver brugt følge klasser

  • Zend_Loader
  • Zend_Gdata_AuthSub
  • Zend_Gdata_ClientLogin

iPhone/iPad iOS 4.3 beta

Har installeret iOS 4.3 beta på både min iPad WiFi og iPhone 4, det første jeg ville se i denne version var den nye feature som er “Personal hotspot” som gør det muligt at min iPhone 4 kan benyttes som “WiFi router” hvor min iPad WiFi kan connecte til, på den måde slipper jeg nu for at skifte min iPad WiFi ud med en iPad 3G+WiFi.

Jeg bed mærke i da jeg hente iOS 4.3 beta at iPhone 3G ikke længere vil modtage opdateringere, så den sidste iOS version til iPhone 3G er iOS 4.2, så har du stadig en iPhone 3G vil jeg anbefalde at skifte den ud hvis du ønsker den nye funktion.

Ud over “Personal hotspot” har jeg ikke bit mærke i andet nyt, så har du fundet en funktion jeg ikke har set så sig gerne til, så jeg kan se hvad der ellers er i iOS 4.3 beta udgaven.

LESS.app gør det nemt for OSX bruger at benytte LESS i hverdagen!

Jeg har efterhåden brugt LESS i en del tid, før i tiden brugte jeg terminal til at compile mine less filer, men efter lidt surfen på nettet faldt jeg over en rigtig dejlige App til Mac OSX som gør det beskidte arbejde for en.

Ud over at LESS.app compiler dine less filer til css filer, har du også mulighed for at miniere dit css kode minimalt og der ved spare endnu mere plads når du får din endlige css fil.

Du kan hente LESS.app gratis hos incident57.com

Ungarbejde.dk – 2 massive udviklings dage

Der har været arbjedet hårdt på nye tiltag på Ungarbejde.dk, som jeg var hos mandag og tirsdag. Vi nåede nye højder, og det gik over alt forventning. Nu kan de prale med at have jobagent, som alle deres unge brugere kan benytte så længe de er logget ind.

Jobagenten fungerer på den måde, at en ungarbejder indskriver et antal postnumre adskilt med mellemrum. Hver morgen vil ungarbejderen modtage en mail med de nye jobs der er oprettet i de valgte postnumre.

Derudover har vi arbejdet med forumet, der blev lagt online sidste gange jeg var hos de unge drenge. Der vil altid være nogle ting, man ønsker ændret, som man først finder hen af vejen.

I helhed vil jeg sage tak til Ungarbejde.dk for de 2 sidste dage, som har været fantastiske. Det glæder mig, at vi har et så godt samarbejde, som vi har.

nuSOAP og PHP5

SchemeCloud rykker i nye højder og til disse højder bliver et API(webservice) nærmeste et krav, da PHPTECH har intagrasion til både Wannafinds betalingsgateway og e-conomics ERP system er det nu på tide for PHPTECH også at få deres eget API til de kunder der ønsker det.

Til dette har der været behov for at studere nye muligheder, jeg snakkede frem og tilbage med forskellige personer og den person der hjælp mig bedst frem til det jeg måtte bruge i PHPTECH til vores API er Simon Jensen, han nævnte nuSOAP som er et biblotek til PHP der gør det muligt at binde funktioner/class.

Det vil jeg gerne have lov til i dette indlæg at takke Simon Jensen mange gange for inden jeg går vider med nogle eksempler på hvordan jer der ude kan komme hurtig igang med nuSOAP i PHP5.

Start med at lave en ny fil med navn server.php hvor du paster følge kode ind.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
include("nusoap/nusoap.php");
 
$srv = new soap_server();
$srv->register("product.GetName");
 
class product
{
	public function GetName($name)
	{
		return $name;
	}
}
 
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : "";
$srv->service($HTTP_RAW_POST_DATA);

Nu opretter du en ny fil med navn client.php og paster følgene linjer ind

1
2
3
4
include("nusoap/nusoap.php");
$soap = new nusoap_client("http://localhos/soap/server.php");
 
echo $soap->call("product.GetName",array("name"=>"produkt navn") );

Kan endnu en gang sige tak til Simon Jensen for hans venlighed – Syndes i skal besøges Simon Jensens blog her

Til dette forsøg skal du hente hele nuSOAP bibloteket som findes her på SourceForge.net