
I våras fick jag för mig att åka till Svalbard för mina EuroBonus-poäng. Eftersom Svalbard tillhör Norge räknas det som en resa inom Norden och man behöver därför inte så många poäng. Någon resa till Svalbard blev det inte men istället köpte jag domänen Svalbard.nu som råkade vara ledig.
Det är först nu som jag blev färdig till att göra något seriöst med domänen. Reseguiden om Svalbard är min första reseguide men jag är ganska nöjd så här långt. Jag måste lägga in fler artiklar och jag borde även åka till Svalbard för att bilda mig en egen uppfattning av ön.
Jag valde att använda WordPress för reseguiden och utgick från en färdig template som jag nu gjort om fullständigt. Alla bilderna kommer från användare på Flickr som delar med sig av bilderna genom Creative Commons licensen.
Nu återstår det att se om jag får någon trafik från Google eller om Svalbard inte är ett tillräckligt populärt resmål bland svenskar.

Augusti var en bra månad för mina webbsajter. Total inkomst från Google AdSense i augusti blev 81,30 US$ fördelat på mina olika webbsajter. Detta motsvarar ungefär 538 kr med dagens dollar-kurs.
Inkomsterna under augusti blev därmed 2,62 US$ per dag vilket är en bra bit från mitt mål på 10 US$ per dag. Jag har dock några webbprojekt som är under utveckling och som förhoppningsvis blir klara under hösten.
Foto: thinkpanama
Igår hade jag rekordhöga AdSense-inkomster på mina webbsajter. Det är framförallt Danskurser.org som går bra nu i augusti när vädret dessutom tidvis är riktigt dåligt. Totalt tjänade jag $5.65 igår på samtliga webbsajter vilket för mig är ett nytt rekord.
Mitt mål i år är att nå en stadig inkomst på $10 om dagen. Det är inga stora pengar men det skulle ändå vara en trevlig extra inkomst motsvarande ca 23 000 kr om året.
Eftersom Danskurser.org går så bra har jag precis startat en ny webbsajt där man kan hitta språkkurser. Det återstår fortfarande en del arbete med Sprakkurser.org innan jag kan förvänta mig några AdSense-inkomster.

För en vecka sedan skrev jag om några användbara guider för att sätta upp en Ruby On Rails server. Här följer fortsättningen som beskriver hur man konfigurerar Capistrano och Git.
Börja med att följa denna guide som beskriver hur man sätter upp en helt ny Git repository på servern: Setting up a new remote git repository. Du måste även sätta upp en lokal Git repository: Setting up a new Rails app with Git. För den som inte är van vid Git kan jag rekommendera följande guide: Git tutorial
När Git är konfigurerat på servern måste en konfigurationsfil deploy.rb för Capistrano skapas. Filen skapas i config-katalogen för din webbapplikation och ska versionshanteras precis som alla andra filer.
set :application, “myapp”
set :domain, “myserver.com”
set :repository, “ssh://gituser@#{domain}:22/var/git/myapp.git”
set :port, 22set :deploy_via, :remote_cache
set :deploy_to, “/var/rails/#{application}”set :scm, :gitset :user, “gituser”
set :runner, “root”
set :use_sudo, false
role :app, domain
role :web, domain
role :db, domain, :primary => true
deploy.task :start do
# nothing
end
namespace :deploy do
desc “Restart Application”
task :restart, :roles => :app do
run “touch #{current_path}/tmp/restart.txt”
end
end
När detta är på plats kan man använda Capistrano för att ladda upp nya versioner av webbapplikationen till servern. Detta förutsätter att både Capistrano och Git är installerat på din lokala dator. För att förenkla deployment bör man skapa SSH-nycklar för gituser på samma sätt som beskrivs i guiden Ubuntu Hardy Setup – page 1.
De kommando som används för deployment är:
cap deploy
cap deploy:migrate
cap deploy:migrations
Skillnaden på de två sista kommandona är att migrate endast gör själva migreringen av databasen medan migration både gör en vanlig deployment samt migrerar databasen. Första gången man gör en deployment ska man istället använda kommandot:
cap deploy:setup
cap deploy:cold
Det är nu några veckor sedan jag gjorde detta själv så det kan finnas detaljer som jag missat. Trots detta hoppas jag att informationen kan vara användbar.
Ruby on Rails (RoR) är ett ramverk för att snabbt utveckla webbapplikationer som använder det objektorienterade skriptspråket Ruby. Även om det finns webbhotell som stödjer RoR är det oftast bättre att använda en VPS (Virtual Private Server).
Fördelarna med en VPS är att du kan få betydligt bättre prestanda samt att du kan installera egna Ruby Gem’s. Med en VPS kan du även använda Capistrano för enkel uppladdning av webbapplikationer till servern.
Följande guider var användbara när jag satte upp min Ruby on Rails server på en VPS hos GleSYS:
Ubuntu Hardy setup – page 1
Ubuntu Hardy setup – page 2
Ubuntu 8.04 Rails Server Using Passenger
Ubuntu 8.04 Rails Server Using Passenger – Part 2
Det saknas tyvärr en guide som beskriver hur man konfigurerar Capistrano och Git (versionshantering). Jag ska därför snart försöka skriva ihop en kort guide som beskriver just dessa delar.
Creative Commons är en licens som låter författare, vetenskapsmän, konstnärer och undervisare markera vilka friheter deras verk ska ha. Med CC kan upphovsrättsvillkoren ändras från “Alla rättigheter förbehållas” till “Några rättigheter förbehållas”.
Material som är Creative Commons licensierat får användas helt gratis på hemsidor men oftast med begränsningen att det inte är för kommersiellt bruk. Exakt hur materialet får användas bestäms av nedanstående villkor som kan kombineras för att skapa några grundlägggande licenser.
IngaBearbetningar (NoDerivs) – Alternativet IngaBearbetningar tillåter endast spridning och användning av verket i oförändrat skick. Bearbetningar av verket är inte tillåtna.
IckeKommersiell (NonCommercial) – Med detta alternativ kan du låta andra sprida och använda ditt verk så länge de inte gör det i komersiellt syfte. Mer information om IckeKommersiell finns här.
DelaLika (ShareAlike) - Om du ändrar, bearbetar eller bygger vidare på verket får du endast distribuera resultatet under samma licens eller en liknande licens som denna.
Erkännande (Attribution) – Du måste ange upphovsmannen på det sätt han anger (men inte på ett sätt som antyder att de godkänt eller rekommenderar din användning av verket).
På Flickr kan man välja att söka efter bilder som är licensierade under Creative Commons och på så sätt hitta riktigt bra bilder som man gratis kan använda i sitt nästa webbprojekt.
I mitt civilingenjörsjobb använder jag dagligen versionshantering men till mina webbprojekt är det sämre. Igår bestämde jag mig därför för att testa Subversion som är förinstallerat i Mac OS X. Subversion är självklart Open Source och ett populärt alternativ till CVS.
För att underlätta för mig själv i framtiden tänkte jag sammanfatta några användbara kommando man behöver för att komma igång.
Skapa ett repository
Importera alla filer till example
svn import . file:///svnrepo/example -m "Initial import"
Checka ut alla filer
svn co file:///Users/Shared/svnrepo/example
Gör en commit
svn commit -m "Modified files"
Lägg till en fil
Gör en commit
svn commit -m "Added file"
Ta bort en fil
Gör en commit
svn commit -m "Removed file"
Vill man lära sig mer finns det en bok som heter Version Control with Subversion. Boken går att köpa på både Adlibris och Bokus men den går även att läsa gratis på bokens hemsida.
Mitt första och största webbprojekt är en sida med konsertbilder från Skåne-regionen. Det var främst mitt intresse för fotografering som ledde till att jag startade Artistbild.se för drygt två år sedan. Syftet med sidan är att erbjuda besökarna konsertbilder med hög kvalitet. För mig är det självklart även en rolig utmaning att fotografera konserter med ett lyckat resultat.
Svårigheterna i det här webbprojektet är definitivt inte tekniska utan här handlar det om helt andra typer av problem. För att få tillstånd att fotografera en konsert måste man t.ex. i förväg ansöka om ackreditering något som ibland endast ges till större tidningar. Antalet konserter i Skåne är även något begränsat vilket gör att det är svårt att hålla sidan uppdaterad med nya bilder.

Per Gessle på Sofiero Slott sommaren 2007.
Dagens version av Artistbild.se är uppbyggd kring Joomla som är ett Open Source CMS (Content Management System). Det finns ett stort utbud av extensions som kan användas för att anpassa Joomla. Tyvärr kunde jag inte hitta ett färdigt galleri så jag valde att utveckla ett eget. Eftersom Joomla är skrivet i PHP kunde jag återanvända och anpassa ett gammalt galleri som jag skrivit åt en kund några år tidigare.
Antalet besökare på sidan ligger ganska stabilt från månad till månad med toppar de veckor jag uppdaterar sidan med nya bilder. I samband med Melodifestivalen och Idol brukar trafiken från Google även öka en hel del.
Inkomsterna från Google Adsense är blygsamma och ligger på $350 per år. Det är inte mycket men det täcker mina kostnader för webbhotell och bensin till och från konserterna.
Nu är sommaren och festivalerna snart här och det kommer att finnas många möjligheter att fotografera konserter. Det återstår att se om jag kommer att ha tillräckligt med tid över att fotografera eller om mitt “riktiga” jobb kommer att ta upp all tid.
Om du vill lära dig dansa är en danskurs oftast en bra början. Utbudet av danskurser i Sverige är idag väldigt stort och det kan vara svårt att hitta en danskurs som passar. För att göra sökandet lite enklare har jag startat sidan www.danskurser.org som på sikt kommer att innehålla en stor del av alla danskurser i Sverige.

Sidan är utvecklad i CodeIgniter som är ett smidigt PHP-ramverk som är väldigt lätt att lära sig. Precis som andra ramverk bygger CodeIgniter på MVC (Model View Controller) konceptet som underlättar utvecklingen väsentligt. Koden tenderar också att bli mer välstrukturerad eftersom man separerar på HTML-kod, PHP-kod och SQL-frågor.
Ett alternativ till att utveckla ett eget system hade varit att använda phpLD som ofta används för länkkataloger. Detta alternativ gav jag upp ganska snabbt då det tog alldeles för lång tid att lägga till nya danskurser. Problemet var att mycket information behövde matas in flera gånger något jag slipper med mitt egenutvecklade system.
För att administrera danskurserna använder jag ett backend som heter CodeExtinguisher som också är utvecklat i CodeIgniter. Genom att använda CodeExtinguisher som backend behöver man inte utveckla en egen administations-lösning. Med hjälp av konfigurationsfiler kan man anpassa sitt backend till olika ändamål.
Google började indexera sidan för ett par veckor sedan och de senaste dagarna har antalet besökare börjat att stiga och ligger nu på ca 20-30 per dag. Om antalet besökare fortsätter att stiga kommer jag att lägga till fler funktioner, både för att erbjuda ett mervärde men även för att förenkla underhållet av sidans innehåll.
Många växer ur sitt webbhotell och tittar på andra lösningar som t.ex. VPS, Dedikerad eller Colocation. Jag gör precis tvärtom och går från Colocation till Webbhotell. Det hela började i min studentlägenhet där jag satte upp min första webbserver. När jag några år senare startade upp företaget Netdev var det en självklarhet att jag skulle ha en egen server. Webbhotell var inget för mig tänkte jag då – nu har jag en helt annan uppfattning.

Eftersom jag jobbade med webbutveckling föll det sig naturligt att erbjuda mina kunder en plats på min server. Åren gick och kunderna blev fler och fler samtidigt som mitt ansvar ökade. För att undvika en katastrof satsade jag på redundans och började spegla all data på min colocation server i Stockholm till en dedikerad server i Tyskland.
Min lösning med en server i Stockholm och en i Tyskland fungerade mycket bra men blev tyvärr lite dyr jämfört med de intäkter jag fick från mina kunder. Tiden som gick åt för att administrera servrarna ska ej heller glömmas bort. Eftersom jag nu driver Netdev vid sidan om mitt heltidsjobb som civilingenjör bestämde jag mig för att avveckla servrarna och flytta både mina kunders och mina egna hemsidor till ett webbhotell.
Beslutet känns helt rätt och jag kan snart koncentrera mig på att utveckla hemsidor igen. Självklart finns det projekt där ett webbhotell inte räcker till men jag rekommenderar alla att tänka efter en extra gång innan ni satsar på en dedikerad server eller colocation. Även om det varit lärorikt med egna servrar har det också inneburit mycket problem och många sena nätter.