Browserstatistikk – juli 2008 – IE stadig svak nedgang
| 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.
Backup-løsninger på nettet
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.
StatSVN – nyttig info 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.
Ryddigere kode med php_include_path
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:"
RubyFools 2008 i Oslo
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.
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.
Dagbladet.no finnes ikke – i følge statuskoden

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.
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 viser html-endringer automatisk i preview-vinduet.
Browserstatistikk – november 2007 – IE7 størst
| 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.
Ny barnespill-portal
Da 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.
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 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 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!



