RSS Facebook Pusha Bloggy TwitThis Google Digg

Veckans länktips – Vecka 9

Det ska erkännas att jag har varit ganska slarvig med veckans länktips och det har gått ca. tre veckor sedan jag publicerade förra tipsen. Eftersom jag har legat efter lite så är länkarna i listan inte helt “up to date”.

Jag tänkte börja med att lyfta fram Marcus Wilhelmsson’s blogg Nickebo. Den senaste tiden har Marcus skrivit många intressanta artiklar inom servrar, Linux, Mac med mera. Du kan till exempel läsa hur du sätter upp en enkel brandvägg i Linux eller hur du synkar din server med dropbox. Väl värd ett besök.

Nästa tips är ingen är kanske ingen nyhet för många med jag hittade denna sida häromdan och tycker den är kanon. Sidan listar nämligen alla Hooks som finns att tillgå i Wordpress, perfekt om du utvecklar nya teman eller plugins.

About-sidor i Google Chrome. Det finns olika “About”-sidor i Chrome, dessa erbjuder olika typer av information, till exempel hur mycket minne som används, vilka sidor är cache och vilken version kör du av Chrome. Du använder de genom att skriva “about:memory” i adressfältet. Här finns en lista över tillgängliga aboutsidor.

PHP släppt i version 5.3.2.  Den senaste veckan har man släppt version 5.3.2 av PHP, i denna uppdatering har man gjort vissa förbättringar samt löst viss buggar. Läs mer om uppdateringen.

Jonas Lejon lanserar sidan govdata.se. Govdata är en webbplats som är uppbyggd kring information från olika offentliga företag. Här kan du till exempel se hur mycket Högskolan i Kalmar betalar i lokalhyra varje år eller hur mycket polisen betalar till systembolaget varje år. Har polisen haft firmafest? Läs även Jonas egna bloggpost om lanersingen.

Den kanske roligaste posten denna vecka är skriven av Simon Sundén. Här förklarar Simon hur du blir en expert på Sociala Medier, fixa en blogg och ett Twitter-konto sen är du expert. Denna post är ironisk men jag tycker det ligger mycket sanning i det som skrivs och den senaste tiden har man fått känslan att var och varannan människa är expert på sociala medier. Simon har även skrivit en fortsättning där han förklarar varför Social media expert är en dålig titel.

Gowalla har nu släppt ett riktigt API för sin tjänst. Som upphovsman av Wordpress-pluginet WP-Walla tycker jag detta är kanon. Med nya API:et finns fler möjligheter att bygga tjänster kring Gowalla. Jag har planer på att utöka pluginet men som vanligt så räcker inte 24 timmar per dygn, tyvärr.

För en tid sedan ställde vi upp på en intervju som Linnéuniversitet gjorde för en broschyr till gymnasieelever. Intervjun handlade mest om vad vi gör och vad man kan göra efter högskolan. Intervjun är publicerad på webbprogrammerare.se.

CSS3 och HTML 5 är ett hett område just nu. Johannes Holmberg har skrivit en liten guide om CSS3 och hur du till exempel lägger skuggor på en div-tag.

Hoppas du hittar något tips som är intressant för just dig.

RSS Facebook Pusha Bloggy TwitThis Google Digg

Veckans länktips – Vecka 5

Nu har återigen en vecka passerat och den är återigen dags att presentera mina länktips för vecka fem.

Nicklas Jarnesjö har publicerat sin årskrönika för 2009, bättre sent än aldrig. I denna post går Nicklas igenom det bästa som hänt under 2009, där ibland när han startade sitt företag, hur det har gått med studierna och lite information om bloggen jarnesjo.net

Erik Pettersson tröttnade på förseningar från SJ och har därför lanserat den nya webbtjänsten försenad.nu. Här kan du fylla i hur mycket försenad du är samt sprida detta via Twitter och Facebook. Läs Eriks bloggpost om lanseringen.

Vem tror mest på iPaden? Nikke Lindqvist & co.  har den senaste tiden haft en undersökning uppe, syftet med denna unversökning var att ta reda på vilken grupp som tror på iPaden. Du kan läsa resultatet på Nikkes blogg.

Bloggen Econsultancy har publicerat väldigt intressanta siffror om sociala medier, främst om Twitter, Facebook och Flickr. Visste du till exempel  att hälften av alla Facebook användare loggar in varje dag eller att Twitter nu har 75 miljoner användare världen över. Onekligen instressant läsning.

Stora bloggpriset är ett pris som arrangeras Aftonbladet tillsammans med bloggportalen. Här delar man ut priser för bästa blogg inom olika kategorier som till exempel Mode, Sport och prylar och teknik. Stort grattis till alla som vann i respektive kategori.

Swedishfika har gjort en trevlig sammanställning över alla “skämt” om Apples iPad som uppkommit sedan lansering, här hittar du allt ifrån bilder till filmer.

Facebook lanserar HipHop för PHP. Jag har redan skrivit om detta men känner att den platser på denna lista igen. Facebook lanserar alltså en kodtransformator som omvandlar PHP-kod till C++ för att kompileras. Läs officiella bloggposten om lanseringen av HipHop.

RSS Facebook Pusha Bloggy TwitThis Google Digg

Veckans länktips – Vecka 4

Varje vecka snubblar jag över ett antal bloggposter, artiklar, verktyg eller webbplatser som jag tycker är bra, oftast lägger jag ett bokmärke för att sedan glömma bort de. Jag tänkte därför börja med att varje vecka publicera mina favoriter under veckan som gått.

Andreas Bard har satt ihop en fantastisk lista över 100 resurser för Internetmarknadsföring. Kanonbra lista och värd ett bokmärke i min bok. Andreas går igenom till exempel bra webbhotell, affiliatemarknadsföring, konsulter, bloggar och forum. Väl värd ett besök.
Läs hela “Veckans länktips – Vecka 4

RSS Facebook Pusha Bloggy TwitThis Google Digg

Lanserat WP-Walla – Gowalla plugin

Positioneringstjänster/”Här är jag tjänster” har senaste tiden blivit allt mer populärt. En av dessa är Gowalla som i Sverige har växt lavinartat den senaste tiden. Jag använder själv Gowlla relativt aktivt.

För ett par veckor sedan hittade jag av en slump ett xmlflöde som Gowalla tillhandahåller, i detta flöde kan man få ut vart Gowallaanvändare har checkat in någonstans den senaste tiden. Vad jag vet har de än så länge inte släppt något officiellt API utan detta flöde verkar vara den enda som finns tillgängligt.

WP-Walla – Gowalla plugin till Wordpress

Med tillgång till xmlflödet från Gowalla tänkte jag att det kunde vara schysst att presentera mina incheckningar här på Baronen. Men istället för att bygga in presentationen direkt i temat så började jag istället bygga det som ett Wordpressplugin och resultatet blev alltså WP-Walla. Du kan se resultatet längst ner till höger här på Baronen.

WP-Walla är alltså ett wordpress plugin för Gowalla. Det är byggt så att du kan använda det som en widget i Wordpress, om ditt tema har stöd för detta, du behöver dock inte ha stöd för widget utan du kan använda WP-Walla genom att klistra in en PHPkod direkt i ditt tema.

Inställningarna för pluginet finns självklart i wordpressadministration, där finns ett antal inställningar du kan göra, till exempel hur länge datan ska cachas, om du vill visa ikoner och länkar direkt till Gowalla.

Ladda ner WP-Walla

WP-Walla finns i skrivande som version 0.5 och kräver minst Wordpress 2.8.5. Pluginet finns tillgängligt på Wordpress Plugin Directory, detta innebär att du även kan installera det direkt inifrån din Wordpressadministration.

Ladda ner WP-Walla
Officiella WP-Walla sidan (engelska).

WP-Walla Skärmdumpar


WP-Walla inställningssida


Presentation av incheckningar

Använd WP-Walla som widget

Förslag och feedback

Detta är mitt första Wordpress plugin som jag har lanserat publikt. Det kan finnas saker jag inte har tänkt på, saker jag missat med mera. Jag tar därför gärna emot förslag och feedback. Du hittar mina kontaktuppgifter under kontakt.

RSS Facebook Pusha Bloggy TwitThis Google Digg

Förenkla PHP med autoload

När man bygger webbplatser i PHP är det ganska lätt att antalet klasser springer iväg. Använder du dig av “require” eller “include” för att inkludera dessa klasser kan det bli väldigt omständligt och rörigt.

Jag tänkte därför tips om en funktion som heter spl_autoload_register som gör att PHP kan själv ladda in de klasser som behövs. Det är väldigt enkelt och det behövs inte mycket kod för att åstadkomma detta.

Börja koda

Vi kommer i första delen av exemplet använda en index-fil, en mapp som innehåller en klass.

Bild 27

//Set the includepath
set_include_path(get_include_path().PATH_SEPARATOR."lib");
function autoload($class) {
	include $class.".php";
}
spl_autoload_register('autoload');

Här börjar vi alltså med att ställa sökvägen till inkluderingsmappen, i detta fall mappen “lib”. Vi skapar sedan en vanlig funktion vi kallar autoload som helt enkelt inkluderar den klass vi skapar. Slutligen använder vi funktionen spl_autoload_register och skickar med namnet på vår autoload-funktion.

Notera, för att detta ska fungera ska klassnamnet och filnamnet vara likadant, vilket ändå är en bra regel att använda sig efter.

I mappen “lib” skapar vi en testklass där filnamnet blir “Test.php” och klassnamnet blir alltså “Test”. Nu kan vi alltså skapa nya objekt/klasser och PHP kommer automatiskt att inkludera dessa när det behövs.

$test = new Test();

Använda undermappar och autoload

Som jag nämnde inledningsvis är autoload kanon när man har många klasser i sin applikation. Men att lägga alla klasser i mappen “lib” kan bli väldigt rörigt. Därför tänkte jag även visa ett exempel på hur man kan ha undermappar och ändå ladda in klasser automatiskt.

Vi börjar med att skapa undermappar i mappen “lib” och skapar sedan två nya klasser.

Bild 28

För att kunna ladda in klasser som ligger i undermappar måste vi förändra vår autoload-funktion en aning.

set_include_path(get_include_path().PATH_SEPARATOR."lib");
function autoload($class) {
	$class = str_replace('_', '/', $class);
	include $class.".php";
}
spl_autoload_register('autoload');

Det vi har lagt till nu är att vi använder str_replace för att byta ut “_” till “/”.

I och med denna metod måste vi döpa våra klasser på följande sätt “Mapp_Klassnamn”. Vill du läsa mer om standard för namngivning rekommenderar jag Zend’s standard.

Klassen Mailer kommer alltså sen ut enligt följande:

class Mail_Mailer
{
	public function __construct()
	{
		echo "Created a mailer object <br />";
	}
}

För att skapa ett nytt Mailer-objekt gör vi enligt följande.

$mailer = new Mail_Mailer();

Den här metoden med “Mapp_Namn” lämpar sig bra för PHP-versioner under 5.3 då stöd för Namespaces finns i 5.3.

Demo och källkod

Se demo eller ladda ner källkoden här.

RSS Facebook Pusha Bloggy TwitThis Google Digg

Tävling – Vinn en Google Wave invites

Nu har Google återigen skickat ut nya inbjudningar till Google Wave. Denna gång var jag än av de som fick en inbjudan att. Jag har under dagen testat tjänsten lite grann. Min första reflektion är tjänsten känns ganska buggig och jag har redan fått skicka en felrapport. Trots detta känns det som en kanontjänst, och många kommer ha nytta av den.

Jag fick även invites att dela ut till vänner och bekanta. Jag tänkte därför anordna en liten tävling där jag delar ut tre Google wave invites.

Vinn en Wave invite

För att ha chans att vinna en Google wave invite, ska du skriva en kommentar på denna post där du beskriver varför just du ska vinna.

Regler

  • Tre stycken invites delas ut
  • Skriv en kommentar här under och förklara varför just du ska vinna en inbjudan till google wave.
  • Tävlingen pågår till Söndag 25 oktober 2009, 23:59 då jag utser en vinnare.
  • Ändrar Google förutsättningarna för antalet inbjudningar eller förändrar något annat som gör att jag inte kan dela ut dessa invites avbryts tävlingen.
  • Enligt Google tar det ett tag innan inbjudan skickas ut, jag kan därför inte garantera att du får din invite direkt efter tävlingens slut.

Lycka till, och tipsa gärna dina vänner om tävlingen.

Tävlingen avgjord

Jag har nu utsett ut tre stycken vinnare. Jag har skickat ut ett mail till de tre som har vunnit, grattis

RSS Facebook Pusha Bloggy TwitThis Google Digg

iPhonetema till din wordpressblogg

Jag tänkte bara tipsa om ett plugin till wordpress. Pluginet heter WpTouch och gör att din wordpressblog fungerar klockrent i iPhone.

Det pluginet egentligen gör är att byta tema på din blogg till ett som är Mac-inspirerat och som är anpassat för iPhone. Eftersom det är ett helt eget tema så kommer det fungera till alla wordpressbloggar oavsett tema.

Så här ser baronen ut med det nya pluginet/temat. Jag tycker det fungerar bra även om det inte följer baronens grafiska profil.

bild bild2

Ladda ner pluginet Wptouch här.

RSS Facebook Pusha Bloggy TwitThis Google Digg

Så här använder du INI-filer med PHP

Nu var det ett tag sedan jag skrev nåt här på baronen, så jag tyckte det var dags nu. I denna post tänkte jag bara tipsa om PHP-funktionen parse_ini_file, som tillåter dig att enkelt använda en konfigurationsfil i form av en .ini.

Vi börjar med att skapa settings.ini där vi ska spara lite information. I denna fil har vi lagt till två sektioner, site och database, dessa innehåller sedan olika värden.

[site]
version = 0.1
develop = true
 
[database]
host = localhost
username = root
password = root
table = site

För att sedan läsa ut inställningarna använder vi alltså funktionen parse_ini_file. Denna funktion returnerar en eller flerdimensionella arrayer beroende på parametrar.

$iniFile = parse_ini_file('settings.ini', true);

Som andra inparameter i funktionen skickar vi med true, detta för att få med alla sektioner i INI-filen. Om vi nu kollar vad $iniFile innehåller ser vi följande.

Bild 6

Vi kan nu använda denna information som en vanlig array, där vi kan hämta ut version, databasanvändare med mera.

Här är två små exempel på hur man kan använda detta.

if($iniFile['site']['develop']) {
	error_reporting(E_ALL|E_STRICT);
	ini_set('display_errors', 1);
}
echo "Du använder just nu version: " . $iniFile['site']['version'];

Svårare än så är det inte att använda sig av en INI-fil för att spara  inställningar. Detta är bara ett väldigt enkelt exempel också, man bör har en egen klass som sköter detta på ett bättre sätt, samt använda Singleton-mönstret.

Värt att tänka på är att lägga INI-filen utanför “www-mappen”, detta för att inga obehöriga ska kunna öppna och läsa filen, kan bli så dumt om man sparar databasuppgifter och annan känslig data.

Vill du veta mer om parse_ini funktionen rekommenderar jag den officiella dokumentationen.

RSS Facebook Pusha Bloggy TwitThis Google Digg

Method Chaining i PHP – metodkedjor

I och med PHP 5+ och stödet för objekt finns det något som kallas Method Chaining. Detta innebär att du kan köra flera funktioner/metoder efter varandra.

Ett ganska vanligt förekommande sätt att använda objekt på är följande.

$userObj = new User();
$userObj->setUsername('baronen');
$userObj->setEmail('mail@mail.com');
$userObj->RegisterUser();

Här skapar vi ett nytt User objekt, sedan anropar vi två set-funktioner för att sedan köra funktionen RegisterUser.

Använd Method Chaining

Man behöver inte göra stora ändringar för att skapa metodkedjor. Jag har här skapat en väldigt enkelt User-klass som har två set funktioner och en funktion för att skriva ut egenskaperna.

class User
{
    private $username;
    private $email;
 
    public function setEmail($email) {
        $this->email = $email;
	return $this;
    }
    public function setUsername($username) {
        $this->username = $username;
	return $this;
    }
    public function RegisterUser() {
	echo "Register user with email <strong>" . $this->email . "</strong>";
	echo " and username <strong>" . $this->username . "</strong>";
    }
}

Den ända skillnaden från en “vanlig” klass är att set-funktionerna returnerar hela objektet, detta för att kunna bygga på med fler funktioner på följande sätt.

$userObj = new User();
$userObj->setEmail('baronen@mail.org')->setUsername('baronen')->RegisterUser();

Resultatet blir i detta fall följande:
Register user with email baronen@mail.org and username baronen

Svårare än så är det inte att använda sig av “Method Chaining”.

Resultat

Se demo eller Ladda ner källkod här.

RSS Facebook Pusha Bloggy TwitThis Google Digg

Utomic lanserar barnkläderssite

Det har varit ganska tyst kring Utomic ett tag nu. Men idag kan jag presentera ett av våra senaste projekt, toddlr.se. Toddlr är alltså en site med inriktning mot barn och barnkläder.

Webbplatsen är uppdelad i tre olika delar, ett register över barnbutiker, barnkläder och en del för begagnade barnkläder. Tanken är att samla produkter, affärer och webbutiker på ett och samma ställe.

Sidan är precis lanserad så det saknas fortfarande viktig funktionalitet och det kan tyvärr förekomma vissa buggar. Hittar du något som verkar konstigt på sidan får du gärna höra av dig till oss.

Förutom toddlr har vi även lanserat en testsida, nämligen grossistkatalogen. (Tack Jonny för den domänen). Denna sida är ett register över grossister i Sverige indelade på kategori och region.

Nästa