January 26, 2009

50 nyttige PHP-verktøy

Smashing Magazine har publisert en liste med 50 nyttige PHP-tips. Kan være verdt en titt. Sjekk:

Av det som nevnes, bruker jeg nå Zend Studio (ikke 6 riktignok, men den gamle versjon 5.5) og Selenium.

phpMyAdmin har jeg brukt noe, men bruker daglig mest MySQL Gui Tools (selv om den fortsatt er ganske buggete på OSX)

Jeg vurderer sterkt å teste de nevnte graph-tegnerne, da jpgraph som jeg bruker i dag, aldri falt helt i smak hos meg.

Ellers vurderer jeg å prøve WideImage, PHP Profile Class, Xdebug, SimpleTest, og Phing

posted by admin January 26, 2009 1:01 am     |     read comments (2)
January 20, 2009

Noe skurrer hos Dagsavisen

Dagsavisen har en rent og pent design synes jeg. Mitt førsteinntrykk er godt, men for meg er det noe som skurrer. Av alle elementer på siden er det ett som skiller seg ut. Ser du det samme som meg?

Dagsavisens forside 20. januar 2009

Dagsavisens forside slik den var på Obamas innsettelsesdag.

Elementet som fremheves, og som jeg tror fjerner fokus fra nyhetene er kategoritekstene. På dagens forside leser jeg: VALG USA, VALG USA, VALG USA, UTENRIKS, KULTUR. Fonten er liten, men teksten er i bold og har en fremhevende farge. Jeg føler at kategoriene bryter opp siden, og tar fokus bort fra nyhetssakene og bildene.

Jeg lagde så en versjon uten kategoriene.

Dagsavisens forside 20. januar
- uten kategoritekster

Ble dette bedre? Jeg synes det, men nå er det din tur til å synse!

Legg forresten merke til saken “Tårer i Washington” med bildeteksten “dette er større enn jeg kunne ha drømt om, sier 89 år gamle Maimes Hansberry”. Jeg stussa litt over hvor godt 89-åringen holdt seg, før jeg oppdaget at bildet var av kommentatoren Roda Ahmed.;)

posted by admin January 20, 2009 11:48 pm     |     read comments (1)

Stadig flere leverandører kommer med utviklingsverktøy med støtte for både Ruby og Ruby on Rails.

Like over jul lanserer JetBrains, utvikleren bak det meget populære javaverktøyet IntelliJ, RubyMine.

RubyMine er ennå ikke lansert, men en Preview-versjon kan allerede i dag lastes ned og testes på Windows, Mac og Linux. Programmet er kommersielt, og vil helt sikkert koste noen tusenlapper.

Netbeans 6.1 er gratis og finnes allerede i dag i en ferdig versjon med Ruby-støtte.

Netbeans 6.1 ble litt treg etter min smak, og personlig sverger jeg fortsatt til Textmate, men RubyMine skal definitivt testes ut ved neste anledning.

posted by admin November 6, 2008 9:49 am     |     read comments (0)

Finn frem flaskecolaen og sprett en brus i dag du også! Firefox har endelig passert IE6 hos 1001 Spills brukere, og begivenheten skjedde i uke 44 i 2008.

Tallenes tale:

  • Firefox 2 og 3 – 15.1%
  • IE6 – 14.5%

Tallene er basert på 194.435 brukere i uke 44, 2008

posted by admin November 4, 2008 1:31 pm     |     read comments (3)
IE7 IE6 IE8 Firefox 3 Firefox 2 Opera Safari Chrome
1001spill.no 64,8% 15% 0,3% 11% 3.6% 2.5% 1.7% 0,5%

Tallene er basert på 195 038 besøkende på nettsiden 1001 Spill. 97% er fra Norge.

Totalt gir dette IE: 80,1%, en nedgang på ca 1%, og Firefox: 14,6% hvilket er på stedet hvil. Chrome gjør sin inntreden med ca 0.5% mens Safari har en liten fremgang på 0.7%

posted by admin October 29, 2008 5:01 pm     |     read comments (1)
October 27, 2008

__autoload i PHP5

Lei av å inkludere hauger av klassefiler i PHP? Prøv __autoload!

Obs! Autload fungerer kun i PHP5

Autoload er en funksjon som kalles ved bruk av en udefinert klasse eller interface.

Eks:


Høres dette skummelt ut? Som alltid bør slike funksjoner brukes med fornuft.
Her er et par ting å tenke på:

  • Vurder å vaske $class_name-parameteren. For å minimere hacker-muligheter.
  • Feil kan ikke fanges med catch inne i __autoload-funksjonen.

Tenk også på kodens lesbarhet. I noen tilfeller kan include være nyttig for å synliggjøre avhengighet til visse klasser.

Selv bruker jeg autoload på løse avhengigheter som f.eks Log, Profiler eller Cache-klassene, men lar include gjerne stå ved sterke knytninger.

Her er min autoload-funksjon med whitelist-vasking av $class_name parameteren:

function __autoload($class_name) {

	// Whitelist-vasking
	$class_name = preg_replace( "/[^a-zA-Z0-9_]/", "", $class_name );

	// Sjekk etter filene i alle include-kataloger
	$include_path_tokens = explode(':', get_include_path() );

	// Aktuelle underkataloger
	$dirs = array("classes","models","controllers");

	foreach($include_path_tokens as $prefix){

		if ($prefix==".")
		continue;

		foreach($dirs as $dir){
			$path = $prefix . '/'.$dir.'/' . $class_name . '.php';
			if(file_exists($path)){
				require_once $path;
				return;
			}
		}
	}
}

Les mer om autoload i PHP-dokumentasjonen.

posted by admin October 27, 2008 12:30 pm     |     read comments (0)
September 23, 2008

Javazone 2008


Hurra Torpedo slo og dæljet Javazone i gang med sitt underholdende show tidlig onsdag morgen.

Spring, SOA og Agile programvareutvikling var dominerende temaer også på årets Javazone, men med syv parallelle forelesninger var det allikevel noe for enhver smak.

Sjekk gjerne også bilder fra Javazone 2008 i min fotoblogg.

Drift med Amazon EC2

Morten Undæs gjennomgikk sine erfaringer med drift på Amazons EC2-plattform. Her får man root-aksess på virtuelle maskiner, med stor mulighet for å skalere. Prisingen virker interessant, da man kun betaler for forbruket, men systemet sliter med ujevn stabilitet.


Morten Udnæs demonstrerte Amazon EC2

The Lean Paradox

Kan man utvikle flere løsningsforslag, forkaste alle unntatt en og ende opp med å bruke mindre tid enn utviklingen av kun et system? Det mener Mary Poppendieck, og hennes Paradox of Lean Software Development-foredrag var, som alltid fra den kanten, meget interessant. Påstanden ble begrunnet med at flere løsninger gir økt kunnskap, minsker risiko, sikrer tidsfrister og fremmer systemoptimalisering. Hun henviste til store suksessfirmaer som Southwest Airlines, 3M og Toyota.


Mary Poppendieck foreslo teknikker for økt produktivitet og bedre softwarekvalitet.

Der Mary var fleksibel og oppfordret, kom Robert C. Martins Clean Code III inn med en rekke strenge formaninger: “Har du boolean-parametere i et funksjonskall? Katastrofe!, “Har du kommentarer i koden?” Katastrofe!”. Men, han hadde mange fine poeng. “Må jeg skrive en kommentar, så føler jeg at jeg har feilet. Koden skal være selvforklarende”, sier Robert og ser ut til å mene det, og fortsetter så med “boolean i funksjonsparametere er et klart tegn på at funksjonen gjør to ting, og dermed bør skrives om til to funksjoner”. Høres dette interessant ut kan du sjekke hans bok om samme tema.

Takk for i år

Da er det bare å takke for i år, og ikke minst innsatsen til alle i arrangør-teamet. Vi gleder oss allerede til neste år.

posted by andreeide September 23, 2008 10:11 am     |     read comments (0)

De siste ukene har jeg frisket opp mine nettsteder med ny navigering, nye logoer og designelementer.

Salsanorge har fått nye by-sider. Nå kan man enklere se hva som skjer på salsafronten i Oslo, Stavanger, Bergen etc. Løsningen er en skreddersydd php-løsning. Vurderte å gå over til Rails, men det gikk så altfor fort å gjøre dette i php til at overgangen ville vært lønnsom.

1001 Spill har endelig fått den nye logoen på plass, med den gamle geipefyren på hedersplass i midten.

Fotogal bruker nå WordPress i bunn, og har fått flunkende nytt design og forbedret gallerivisning.

Alle logoene er laget av Sindre Rosness, med unntak av geipefyren i midten av 1001spill som er laget av pip.

posted by andreeide September 2, 2008 10:15 am     |     read comments (0)
David Heinemeier Hansson foredrag om å lykkes med oppstartsfirmaer
Sjekk David Heinemeier Hansson foredrag om å lykkes med oppstartsfirmaer.

Det er ikke vanskelig å tjene penger på nettsider i dag – så fremt man har brukere.

Annonsemarkedet er enormt, og handel på nettet er vanlig, så har du et godt produkt eller mange brukere er det ingen sak å tjene penger.

Problemet er selvfølgelig å få nok brukere, eller finne noen som er villig til å betale.

Å leve av annonseinnteker

Skal du leve av annonseinntekter trenger du mange brukere. Nøyaktig hvor mange er avhengig av brukergruppen du sikter mot.

Mine nettsider gir fra 3 til 30 kr per 1000 annonsevisninger. 1000 annonsevisninger høres kanskje lite ut, men kan være vanskelig nok. Med 30 000 sidevisninger månedlig, tjener du 90-900 kr på én annonse med slike provisjonstall. Det er selvfølgelig mulig å tjene mye mer og også mindre enn dette.

Annonser kan selges av firmaer som f.eks AdSense, AdBrite, Advertising, GoViral eller en rekke andre aktører.

Vent gjerne til du har litt trafikk, før du ordner annonseavtale.

Hvordan få brukere

Tålmodighet er en dyd. Selv tok det meg 6-7 år før jeg kunne leve fulltid av nettsidene. Søkemotorer og jungeltelegrafer er gode kilder, men det kan ta lang tid før disse trer i kraft, og gjerne et halvår fra lansering til søkemotorer begynner å gi trafikk.

Kvalitet og stabilitet er viktig. Hold ambisjonsnivået stabilt. Å oppdatere daglig i begynnelsen for så å dabbe av, tar seg dårlig ut. Kanskje holder det med ukentlige oppdateringer? Når jeg startet forgjengeren til 1001 Spill, hadde jeg en “ukens spill”-spalte. Det var en god start og passet fint ved siden av min faste jobb.

Innhold er viktigere enn form. Innholdet og kjernen i produktet er alltid viktigst. Legg inn arbeidskapasiteten der. Kanskje kan Blogger eller en enkel publiseringsløsning som WordPress være godt nok for å komme i gang?

Jobb med noe du liker. Er målet å bli rik eller skape en god og trivelig arbeidsplass? Jobber du med interessante oppgaver, øker sannsynligheten for å lykkes.

Videre lesning

Sjekk Rails utvikler David Heinemeier Hansson videoforedrag om å lykkes med oppstartsfirmaer

Les og bli inspirert av Kathys fantastiske arkivinnlegg i Creating Passionate Users:

posted by admin July 28, 2008 2:18 pm     |     read comments (11)
July 17, 2008

svnrepository vs cvsdude

Etter ett år som kunde av cvsdude.com har jeg nå valgt å flytte mitt svn-repository til svnrepository.com.

Sjekk gjerne også samlesiden min for backup-løsninger på nett.

Jeg har vært fornøyd med cvsdude, men ved å gå for en rimeligere prisplan hos svnrepository sparer jeg ca 1500,- årlig, pluss jeg får gleden av å teste og støtte nok en slik leverandør.

svnrepository tilbyr også Git. Jeg har selv aldri prøvd det, men ser at Rails-folka bruker Git.

Her er en kort sammenligning av tjenestene de tilbyr:

svnrepository cvsdude
Pris $9.95 per måned for 5 GB $14.95 per måned for 5 GB
$29.95 om man trenger Trac/Bugzilla.
svn ja ja
git ja nei
cvs nei ja
Trac ja ja, men pris blir da $29.95 per måned.
Bugzilla ja ja, men pris blir da $29.95 per måned.
Nedlastbar backup ja ja, som tilleggtjeneste
posted by admin July 17, 2008 3:57 pm     |     read comments (0)