personligt, webbutveckling

Arbetssemester – avstämning efter första veckan

Okej, så det har inte riktigt blivit avstämning varje kväll, men här kommer en liten rapport från första veckan.

Som vanligt tar allt lite längre tid än jag trott. Framför allt har jag underskattat planeringstiden. Eftersom jag inte har arbetat helt objektorienterat i så många projekt så går det åt en hel del tid åt att läsa på och utvärdera olika upplägg. Ska jag använda data access object, table row gateway eller active record för dataåtkomst? Ska jag använda ett globalt registry och ska det i så fall vara ett singleton eller en statisk klass? Ska url:erna kopplas direkt till respektive controller eller ska ansvar fördelas på något annat sätt? Till min hjälp har jag PHP 5 Object, Patterns and Practice och PHP in Action – Objects, Design, Agility. Det täcker båda ungefär samma material men på lite olika sätt. Är beskrivningen av ett ämne lite luddig i den ena boken så brukar det hjälpa att går över till den andra. Dessutom finns ju StackOverflow och SitePoints forum för PHP Application Design (där för övrigt några av författarna till mina böcker är med i diskussionerna).

När det gäller arbetstiden så har det också gått lite sämre än planerat. Istället för 35 timmars arbete förra veckan blev det knappt 25. Jag har verkligen svårt att fokusera när jag arbetar hemma. Det är svårt att känna någon tidspress när man har hela dagarna på sig. Jag skulle verkligen behöva ”gå till jobbet” på morgnarna.

Nu till det positiva:

  • Jag har använt SimplePie för rss-hantering tidigare, men blir hela tiden överraskad över hur tillförlitligt det är när det gäller att hantera opålitlig indata och teckenformateringsproblem.
  • PHP Simple HTML DOM Parser är ett helt fantastiskt bibliotek. Ladda in en sida och kom åt alla element precis som med jQuerys selektorsystem.
  • Strukturen jag till sist kommit fram till är jag ganska nöjd med. Templatesystemet är flexibelt utan att vara komplicerat, mina controllers är tunna och mina models är rena.
media

Några enkla förslag för att hantera ovälkomna anonyma kommentarer

Med jämna mellanrum brukar någon kändis välja att sluta blogga på grund av alla otrevliga kommentarer de fått. För tillfället är det Carolina Gynning och Marcus Birro som är aktuella med sina nerlagda bloggar. Alltid är det just internet och dess möjlighet till anonymitet som presenteras som orsak. Ofta antyds också att något borde göras åt just anonymiteten i allmänhet, även om det vad jag vet inte presenterats något seriöst förslag till anonymitetsförbud – hur nu det skulle se ut.

Mymlan har kommit med några utmärkta mjukare tips så här tänkte jag fokusera på tekniken:

  • Du bestämmer på din egen blogg. Ta bort kommentarer som är otrevliga eller eller osakliga. Skriv gärna ut dina regler i anslutning till kommentarsfunktionen och försök vara konsekvent i hur du följer dem.
  • Om det blir det mycket att ta bort och om du helst slipper se vissa inlägg så har de flesta bloggverktyg funktioner eller plugins för att blockera kommentarer baserat på IP-adress, e-post, avsändare eller ord som förekommer i kommentaren. Detta kommer inte stoppa någon som är riktigt målmedveten, men är en flexibel metod om du ändå vill behålla öppna kommentarer.
  • Det är inget som säger att du måste tillåta anonyma kommentarer. Slå på kravet på registrering för att kunna kommentera.
  • Om du istället får otrevliga mail och fortfarande vill/måste ha en offentlig e-postadress kan det vara praktiskt att slussa den genom ett mailkonto hos Gmail. Där kan du enkelt lägga upp regler för vilka mail som ska kastas direkt när de kommer in.

Om du tycker det verkar krångligt så finns det många andra bloggare som gärna hjälper till med tekniken.

När det gäller vad som skrivs på andra bloggar eller forum är det lite svårare att göra något åt saken. Enklast brukar vara att inte läsa kommentarer på ställen där du tycker diskussionen har en otrevlig ton. Är du en offentlig person så kommer folk alltid diskutera och kommentera dig. Tidigare utan din vetskap i tv-sofforna eller på caféer och nu också på nätet där du kan se det. Har du 100.000 läsare är det inte helt orimligt att en promille av dem är otrevliga, missunnsamma och labila människor – det är ju liksom bara lagen om riktigt stora siffror.

Slutligen: Jag är en varm anhängare till möjligheten att diskutera anonymt på nätet. Det gör dock inte att jag värderar alla kommentarer på samma sätt. Den som kommenterar anonymt eller under pseudonym får också finna sig i att det vägs in i bedömningen av vad som sägs. En känd pseudonym länkad till en blogg eller webbplats är dock ofta ett säkrare tecken på seriositet än ett fullständigt namn. Pseudonymen är ofta unik och fungerar som en form av varumärke medan ett namn kan vara ganska vanligt och dessutom inte behöver stämma.

personligt, webbutveckling

Arbetssemester – dag 2

Andra dagen av mitt semesterprojekt blev det inte så mycket gjort. Jag har verkligen svårt att koncentrera mig när jag jobbar hemma. Efter att ha avslutat frilansuppdraget från dagen innan lyckades jag prestera ungefär tre timmars arbete.

Tanken var att jag skulle börja på administrationssidorna och framförallt importfunktionen. Jag kom dock inte så mycket längre än till pappersskisser.

Målet är att importsystemet ska vara så automatiskt det går. Det ska kunna hämta information via RSS, xml-filer och via YQL när det gäller screenscraping.

Det måste vara enkelt att moderera och komplettera innehållet som hämtas. Det är viktigt att innehållet stämmer och att det inte bara blir en lista med evenemangsnamn och datum. Jag måste snabbt kunna gå igenom och komplettera hundratals poster. Det gör att adminsystemet måste vara ganska polerat och genomtänkt även om det bara är jag som använder det. Det betyder också att jag kommer att använda jQuery och AJAX flitigt.

Nu har jag i vilket fall en bild av hur jag vill att det ska fungera. Dag 3 ska jag ägna åt att bygga det.

webbutveckling

Dagens WTF, Stockholm City sommarstänger hela webbplatsen

Stockholm City sommarstänger

Letade efter surdegsbagerier i Stockholm (Bakery & Spice har sommarstängt) på Google och följde en länk till tidningen Stockholm City. Det verkar som om varenda sida är ersatt av en ”glad sommar”-skylt. Hur tänkte dom här? Ser söktjänsterna samma sak? Om dom inte gör det, räknas är inte det som cloaking?

Jag förstår om man vill stänga ner forum eller kommentarsfunktioner när ingen hinner granska nya inlägg. Men är det verkligen nödvändigt att stänga ner över 40.000 sidor med över 95.000 inlänkar?

Med lite otur hinner de få hela sajten avindexerad under semestern.

Uppdatering: Inte för att det är ett exakt mått, men i går kväll visade site:city.se 51.000 träffar. Nu ger samma sökning 21.000 resultat.

personligt, webbutveckling

Arbetssemester – dag 1

Då närmar sig första dagen på mitt lilla semesterprojekt sitt slut. Eftersom jag hade ett litet frilansjobb att göra under dagen så blev det bara 5 arbetade timmar på mitt egna projekt.

De första två veckorna kommer jag jobba med en evenemangsportal på evoo.se. Det finns ju en hel del sajter som listar evenemang runt om i Sverige, men jag har ännu inte hittat någon svensk motsvarighet till eventful och upcoming. De jag har sätt är antingen hopplöst föråldrade, lokala eller nischade.

Evoo ska vara:

  • En förmedlare av evenemengsinformation. Organisationer ska kunna använda den för att sprida sina kalendarier vidare till andra sajter, applikationer, communitys, mobiltelefoner, bloggar, tidningar, andra eventsajter.
  • Ett enkelt sätt att lägga upp kalendarier. Evoo ska ta emot information i de flesta format: excelfiler, rss-flöden, html-sidor med mera. Allt för att göra det så smärtfritt som möjligt för organisatörer med många arrangemang. Att lägga till evenemang på evoo.se ska vara så lätt att arrangörer hellre använder evoo än sitt egna publiceringssystem för att lägga upp evenemang på sin egen webbplats.
  • En bra plats att få personliga rekommendationer på saker att göra i hela Sverige. Enkel att använda, men med större djup för de lite mer vana användarna.
  • Sammankopplad både med andra webbplatser och den fysiska världen. Den kommer att använda sig av en hel del 3:e parts API:er, mobil positionering och 2d-koder.
Grundläggande filstruktur

Grundläggande filstruktur

Vad hann jag då med idag?

Förmiddagen gick åt att planera databasstrukturen och sätta upp de viktigaste tabellerna. När det gäller hur eventen ska sparas hämtade jag en del inspiration från hcalendar och ELF. Det stora problemet är att lösa hur återkommande events ska sparas – speciellt och de både är oändliga och har undantag från huvudmönstret.

På eftermiddagen började jag sätta upp grunderna för filstrukturen och MVC upplägget. Den här gången kommer jag inte att använda något externt framework.

Imorgon kommer jag fortsätta med ett bygga ett grundläggande system för import och administration av events.