IE7 IE6 Firefox Opera Safari
1001spill.no 63,35 % 18,26% 14,44% 2,51% 1,08%

Tallene er basert på 134 794 besøkende på nettsiden 1001 Spill. 93% er fra Norge.

IE7 er den desidert største nettleseren med over 60%, mens IE6 nå nærmer seg Firefox med sine 18%. Totalt sett taper IE og har ca 81% av alle brukere. Både Firefox, Opera og Safari har litt fremgang.

posted by admin July 16, 2008 10:59 am     |     read comments (5)

De siste årene har jeg jaktet på nettbaserte backup-løsninger. Her er mine erfaringer med noen slike tjenester.

Oppdatert 23 juli 2008

Behovet mitt er todelt, og jeg har derfor inndelt løsningene i to.

Versjonskontrollsystemer

Til kildekode og dokumenter

  • svnrepository – tilbyr SVN, Git og Trac.Pris: Ca. 600 kr årlig for 5 GB.
    Førsteinntrykk: Enkelt og greit brukergrensesnitt for oppsett av SVN og Trac. Tilbyr nedlasting av repository-backup. Har nå lastet opp ca 1GB over https uten problem. Raskt svartid på support, og de hjalp også til med selve feilrettingen.
  • cvsdude – tilbyr SVN, CVS, Trac og Bugzilla med mere.Pris: Ca 2000,- kr årlig for 10 GB lagringsplass.
    Konklusjon: Litt dyr tjeneste, og litt rotete men funksjonsrikt brukergrensesnitt (som skrives om nå). Jeg har brukt tjenesten problemfritt i et år. Rask svartid på support. Download av repository og Trac-database gir tilleggspris. Både opplastingshastighet og nedlastingstid er godkjent.
    Trac-løsningen er veldig treg og ikke noe jeg ville brukt til større systemer.
  • Oppdatert 23 juli
    github – tilbyr git og Wiki.

    Pris: Ca 6100,- kr årlig for 10 GB lagringsplass.
    Jeg har ikke testet denne tjenesten.

Sjekk også funksjonssammenligning mellom cvsdude og svnrepository.

Duplikatløsninger

Til foto og musikk

  • rsync.net tilbyr diskplass via rsync, ftp, sftp etc.Pris: Ca 2000,- kr årlig for 20 GB
    Førsteinntrykk: Kun for deg som liker å sette opp alt selv. rsync-synkroniseringen gir opplastingshastigheter rundt 80-120 KB per sek. over krypert linje. Har gode hjelpesider for oppsett på Mac og Windows, og selv om oppsett av automatisert backup må gjøres manuelt, er eksempler på dette godt dokumentert. Hadde vært perfekt med noe lavere pris og bedre opplastingshastighet.
  • Apples mobileme (het tidligere .mac) synkroniserer kontakter, kalender, mail i tillegg til selve fillagringen på Mac, PC og Iphone.Pris: Ca 700,- kr årlig kr for 20 GB lagring (vises som 10 GB når du starter, men du kan selv redusere epost-plassen for å øke iDisk-størrelsen).
    Førsteinntrykk: Brukervennlig løsning som er meget enkel å sette opp i OSX. Windows-løsningen mangler innebygd mulighet til å dumpe all data til disk, men kan aksesseres som nettverksdisk. Ekstremt treg opplasting med hastigheter ned mot 30 KB per sekund. Vi får håpe Apple får fart på serverene etter hvert.
  • Oppdatert 15. juli – takk til Espen for tips!
    iDrive tilbyr diskplass via egen programvare, inklusiv noe versjonering.

    Pris: 2GB gratis, 250,- kr årlig for 150 GB.
    Førsteinntrykk: Enkel og fin programvare. Opplastingshastighet mellom 90-130 KB.
    Obs! Mac-backuper kan ikke lastes ned til Windows og vice versa, så har du begge plattformene (slik som meg), er denne løsningen litt upraktisk.

Konklusjon

23. juli 2008:Jeg har nå flyttet all min kode og Trac-databaser til svnrepository. Fikk rask supporthjelp til å importere Trac-databasen, så importen gikk problemfritt. Gjenstår å se om tjenesten er stabil i bruk.

14. juli 2008: Per i dag bruker jeg cvsdude til SVN og Trac, og rsync.net til mine bilder. Likte veldig godt mobileme, men 30 KB opplastingshastighet er ikke til å leve med når man har mange gigabyte med data.

Har du erfaring med nettbaserte backupløsninger eller andre tips til hvordan man kan sikre sin data, så ta gjerne kontakt, da jeg ennå har til gode å finne den ultimate backup-løsningen. Litt bedre hastighet hadde ikke vært å forakte.

posted by admin July 14, 2008 11:22 am     |     read comments (5)
StatSVN File Counts
StatSVN gir nyttig informasjon om kodebasen.

Hvor stor er kodebasen din, og hvor mange filer eller kodelinjer fjernet du ved siste opprydding? Kommet mange nye filer i det siste, og i så fall, i hvilke deler av systemet?

Har du koden din i SVN, kan StatSVN gi deg svar.

På 1001 Spill-koden viser StatSVN at over 500 filer ble fjernet ved siste kodeopprydding. Meget bra! Men samtidig økte gjennomsnittlig antall kodelinjer per fil med 125 linjer, slik at snittet nå er 284. Ikke bra! Kan kodeoppryddingen ha gått på bekostning av kodekvaliteten? Absolutt noe som bør granskes.

StatSVN er foreløpig kun i versjon 0.4.0, men artig og nyttig å teste allerede nå.

Sjekk gjerne også intallasjonsbeskrivelsen.

posted by andreeide June 6, 2008 12:26 pm     |     read comments (0)

Når php inkluderer en fil, leter den etter filen i alle kataloger angitt i php_include_path.

I .htaccess-fila kan du f.eks sette php_include_path slik:
php_value include_path "/app:/public:."

Her vil php lete etter filene i /app-katalogen, i /public-katalogen eller i lokal katalog (angitt av punktumet på slutten)

Dermed kan du enkelt skille applikasjonen din i flere deler.

En vanlig metode er å dele i to:

App-katalogen – Her ligger alle applikasjonsspesifikke filer som ikke skal være tilgjengelig på nettet
/app/
/app/config/
/app/classes/
/app/models/
etc.

Public-katalogen – Tilgjengeliggjøres på nettet, og alt som ligger her kan kjøres eller lastes ned.
/public/
/public/css/
/public/images/
etc.

F.eks vil følgende nå fungere overalt, også fra public-katalogen:

require ("config/database.php");
require ("classes/ReviewDAO.php");
include ("views/header.php");

om man bruker den tidligere angitte php_include_path.

Sette php_include_path

php_include_path kan settes i:

  • php.ini
    eks: include_path = ".:/usr/local/lib/php/pear:"
  • .htaccess
    eks: php_value include_path ".:/usr/local/lib/php/pear:"
posted by admin April 11, 2008 1:34 pm     |     read comments (0)
April 4, 2008

RubyFools 2008 i Oslo

IMG_8337
Ole Friis Østergaard gjennomgår versjonshåndtering på databaseinnhold.

Endelig har jeg fått kose meg med Ruby-seminar i Oslo, og det ble en liten men hyggelig og interessant seanse.

Spesielt interessant fant jeg Ole Friis Østergaards gjennomgang av Rails plugins til versjonshåndtering av databaseinnhold. Noterte meg acts_as_versioned, acts_as_paranoid, deleted_at og acts_subversive. Disse kan logge databaseendringer og f.eks tilby undo/redo-funksjonalitet.

IMG_8333
Matz gjennomgår Rubys fortid og fremtid

Også fint å høre jordnære Matz, Rubys grunnlegger, beskrive Rubys begynnelse. Hvordan Japans økonomiske problemer på 1990-tallet, medførte masse fritid for den programmeringsspråk-interesserte japaneren, som dermed satte i gang med å lage språket som nå hylles av dataentusiaster over hele verden.

Dave Thomas keynote første dag var som alltid underholdende, og spesielt flott og merke at halleluja-stemningen som ofte preger slike arrangement ikke var tilstedeværende. Kanskje ikke så rart med tanke på at dette språket allerede har eksistert i 15 år.

Vi gleder oss til de 15 neste.

posted by admin April 4, 2008 10:00 pm     |     read comments (0)
404 feil på dagbladet.no
Meldingen dagbladets brukere ble møtt med.

En rekke nettsteder var i dag utilgjengelige grunnet tekniske problemer.

Brukere av dagbladet.no ble møtt av en “Not Found”-melding. Meldingen i seg selv er ikke god, men brukermessig sett er konsekvensen i dette tilfellet liten. De fleste klør seg i hodet, vel vitende om at dagbladet ikke er nedlagt. Senere samme dag er nettsiden igjen tilgjengelig og brukermassen tilbake til det normale.

Teknisk sett derimot er dette ikke bra. Statuskoden 404 “Not Found” betyr:
“The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent.”

Tips: For å sjekke returkodene kan du bruke curl a’la f.eks:
curl –head www.dagbladet.no

Google, yahoo, andre søkemotorer og roboter fikk altså beskjed om at forsiden til dagbladet.no ikke eksisterte.

En bedre kode ville vært 503 “Service Unavailable”:
“The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.”

Dermed vet søkemotorene at nettsiden har tekniske problemer. Ved å bruke Retry-After kan man også fortelle når man forventer at nettsiden igjen er tilgjengelig.

Les mer om HTTP/1.1: Statuskodene og prøv gjerne selv curl -head mot dine egne nettsteder for å dobbeltsjekke hva som returneres.

posted by admin January 17, 2008 3:17 pm     |     read comments (0)
December 19, 2007

Effektiv html og css-editor

Hvilken tekst-editor liker du best til html og css-editering?

På Windows har jeg ofte brukt EditPlus. Mye på grunn av preview-mulighetene (Ctrl+b) og det enkle, kjappe brukergrensesnittet fritt for dikedarer.

Men, nå har jeg fått en ny favoritt, TextMate til OS X, og det kun på grunn av tre enkle ting:

  • Automatisk Preview
    Aktiver forhåndsvisning med Window->Show Web Preview, så vises alle endringer automatisk i preview-vinduet.
  • Validering
    Hotkey for CSS og HTML-validering mot W3C.
  • Subversion-integrasjon
    TextMate har en enorm mengde bundles, og selvfølgelig også for Subversion.

Textmate Web Preview
TextMate viser html-endringer automatisk i preview-vinduet.

posted by admin December 19, 2007 3:12 pm     |     read comments (0)
IE7 IE6 Firefox Opera Safari
1001spill.no 43,24 % 41,88% 11,61% 1,99% 0,72%

Tallene er basert på 250 443 besøkende på nettsiden 1001 Spill. 96% er fra Norge.

IE7 har omsider passert IE6 i størrelse, men bare såvidt. Med 43,24% har den sneket seg forbi IE6 på 41,88%.

Firefox vokser stadig, men er fortsatt langt bak lederduoen til Microsoft.

posted by admin December 4, 2007 2:53 pm     |     read comments (0)
October 26, 2007

Ny barnespill-portal

Barnespill-portalenDa er endelig 1001 Spills nye barnespill-portal lansert.

Dette er en separat seksjon med enkelt og barnevennlig design. Spillene er gruppert i to kategorier, hvorav den ene skal være egnet for de aller minste opp til 6 år.

Selv om dette er en av de enkleste nettsidene jeg har laget, har det også vært en av de mest utfordrende. Har vært gjennom hele fire forskjellige design, og endte i siste liten opp med en totalt annerledes løsning. Tekster ble fjernet, slik at samtlige spill vises på forsiden. Søkemotoren ble droppet, da det er altfor lite spill til at denne er hensiktsmessig, og kategorioversikten trimmet ned til to enkle aldersgrupper.

Så gjenstår det bare å se om den faller i smak hos brukerne.

posted by admin October 26, 2007 1:10 pm     |     read comments (3)
September 21, 2007

RailsConf 2007 i Berlin

Fjorårets RailsConf i Chicago handlet mye om driftsproblemer og driftssetting. I år var dette et avsluttet kapittel. Med tre år på nakken er Rails for lengst voksen, og klar for de store oppgavene.

Hvordan takle millioner av brukere

Jason Hoffman
Jason Hoffman delte driftserfaring fra store Rails-
applikasjoner.

Jason Hoffman understreket dette ved å beskrive hvordan Rails flott kan håndtere tusentalls, ja faktisk hundretusentalls forespørsler per sekund. God systemarkitektur er i følge Hoffman løsningen. Å sørge for at nettsiden kan kjøre på flere samtidige servere, at trafikken kan fordeles geografisk eller utifra funksjonsområde. Bruke subdomener a’la upload.domain.com og download.domain.com. All statisk informasjon burde caches i en http-accelerator. Til nettsteder med opp mot 100 000 req/sec anbefalte han hardware-acceleratoren Big-IP, og software-acceleratoren Varnish til dem med rundt 10 000 req/sec.

Nye Ruby og Rails-verktøy

Mye har skjedd på verktøysfronten og både Borland og Sun jobber beinhardt med egne utiklingsverktøy, henholdsvis Netbeans 6 (ute i Beta nå) og Code Gear. Begge lover IDE-funksjoner lik Visual Studio, IntelliJ eller Eclipse. Når det er sagt, slike verktøy blir ofte store og tungkjørte, så mang en Rails-utvikler sverger fortsatt til Textmate på Mac eller en ordinær teksteditor på Windows.

David Heinemeier Hansson
David Heinemeier Hansson demonstrerte
2.0-nyheter.

Raskere virtuelle maskiner

Nye Ruby-implementasjoner er også på vei, som f.eks java-baserte JRuby, eller Rubinius som visstnok skal gi ytterligere ytelsesforbedringer i forhold til den vanlige Ruby-implementasjonen.

Nyheter i Rails 2.0

Rails-oppfinneren David Heinemeier Hansson gjennomgikk noen Rails 2.0-nyheter. Det skal bli enklere å lage to versjoner av samme side, f.eks en for adminbrukeren og en for vanlig brukere ved å knytte to controllere mot samme modell. Tilpassing til nye enheter forenkles også ved å knytte mime-typer mot forskjellig views, hvilket også skal kunne brukes for tilpassing mot mobiltelefoner a’la IPhone.

Les gjerne også Casper Fabricius sammendrag The DHH keynote – Rails 2.0 update

Og nå…

Så da er festen over for denne gang, tilbake til havrelefsa og arbeidspulten. Vi sees neste år!

posted by admin September 21, 2007 8:46 am     |     read comments (0)