Pirate Party Ad

tisdag 5 januari 2010

Hiding master tickets in Trac

Are you using the MasterTicketsPlugin for Trac? Have you ever wanted to hide the tickets assigned to you that cannot be fixed because they are blocked by other tickets? Here's a nifty code that does just that.

To do this you need to have Trac permission to create a custom ticket report.

  1. Open up Trac in a browser of your choice.
  2. Click "View Tickets".
  3. Click the button "Create new report".

  4. Add a description like "My tickets, also showing tickets that are blocked.

  5. Name the report something like "My tickets deluxe".
  6. Paste the following code into "Query for Report":

    SELECT p.value AS __color__,
    (CASE LENGTH(tc.value) WHEN 0 THEN CASE status WHEN 'assigned' THEN 'Assigned' ELSE 'Owned' END ELSE 'Blocked by another ticket' END) AS __group__,
    id AS ticket, summary, component, version, milestone,
    t.type AS type, severity, priority, time AS created,
    changetime AS _changetime, description AS _description,
    reporter AS _reporter
    FROM ticket t, enum p
    LEFT JOIN ticket_custom tc ON (t.id=tc.ticket AND tc.name='blockedby')
    WHERE
    t.status <> 'closed'
    AND
    p.name = t.priority
    AND
    p.type = 'priority'
    AND
    owner = '$USER'
    GROUP BY t.id
    ORDER BY LENGTH(tc.value), (status = 'assigned') DESC, p.value, milestone, severity, time


  7. Click "Save report", and you're done!


Good luck!

torsdag 18 december 2008

Demokrati, hotad.

Demokratin hotas - från både höger och vänster. Det anser integrations- och jämställdhetsminister Nyamko Sabuni (fp).

Så inleder Dagens Nyheter sin artikel Miljonsatsning mot extremism. Nyamko Sabuni vill av denna anledning starta en utredning som kartlägger vilka unga som drar sig mot extremvänster/-höger kretsar. Är inte det att hota demokrati, om något?!

Det måste vara ett skämt när en minister i den sittande Regeringen hävdar att andra hotar demokratin. Det är dom, Regeringen, som har genomdrivit FRA-lagen, det är dom som driver igenom IPRED trots att de har majoriteten emot sig och det är dom som har gått sina väljare bakom ryggen. Jag har med många tappat tron på dagens större partier just på grund av detta. Vafan är det för jävla sätt?

Åsiktsregistrering hör hemma i gamla STASI, eller i boken 1984. Om det ska startas en utredning så borde det vara en om hur demokrati skall försvaras i Sverige istället för hur den skall nedläggas!

Ibland önskar jag att vi hade en mer levande debatt i skolan om vad Demokrati egentligen är. Även jag halvsov, men jag har tagit igen det med egenstudier. Begreppet är mycket svävande och kan sväva iväg, lite som en ballong. Just därför måste man alltid aktivt hålla begreppet på rätt plats och försvara det. Alltid.

Det är just därför Nyamkos utspel bör ifrågasättas. Tror ni att hon vill att alla som har folkpartistiska åsikter ska registreras i en speciell databas?

tisdag 16 december 2008

Jordbävning

Inatt vaknade jag upp av att saker föll.

Med ett ryck vaknar jag upp. Mina jongleringskäglor som stod i bokhyllan föll i golvet och med dom en del andra dekorationer. Tillsammans med dom ett ljud i väggarna, något sorts eko, eller är det en smäll? Har något kört in i huset?

Klockan är ungefär 6:30 på morgonen i Lund och mina käglor kan omöjligen ha varit på väg att falla en hel natt. Jag är förbryllad - är det någon i rummet? Jag blir rädd och sätter mig upp. Eftersom att jag har vaknat med ett ryck är kroppen redan vidvaken. Ingen i rummet. Har grannarna fest? Jävlar vad de måste ha stampat i golvet för att få saker i min hylla att falla. Men fest...klockan 6:30 på morgonen? Jag går ett varv i lägenheten och kollar och kryper därefter tillbaka till sängs och tänker:
- Det kanske skulle kunna vara en jordbävning? Jag ler och leker med tanken och somnar visst om att jordbävningar, de händer såklart aldrig i Skandinavien!

Tänk vad fel man kan ha.

Tack och lov verkar ingen ha skadats i sånna här incidenter:



...men man blir ju lite skakis, hehe.

måndag 8 december 2008

Drupal-utvecklare sökes

I förra veckan blev jag uppringd av en rekryteringsfirma i Malmö, Framtiden AB, som sökte Drupal-utvecklare. Detta var tredje gången på ett år som någon ringer upp mig och frågar om jag vill ha jobb. Inspirerande!

Lite smickrad blev jag allt att de ringde upp lilla mig och bestämde mig att iallafall gå dit på intervju och se vad de hade att säga. Jag hade aldrig varit på en regelrätt intervju, så det skulle bli kul.

Det kan inte vara lätt på ett rekryteringsföretag att veta någonting om området de ska anställa någon inom. Det gällde även i detta fall. Jag fick förklara både vad Drupal var som sådant, backend, frontend, MVC... Resultatet? Jag var deras bästa kandidat och gick med till nästa intervju på företaget som sökte Drupal-utvecklare.

För er som inte har varit på ett rekryteringsföretag tidigare så måste man, innan man får information om företaget skall anställa, skriva på ett kontrakt där man förbinder sig att inte börja jobba åt företaget direkt (utan förmedlaren som mellanhand dvs.). Detta kontrakt "sades" gälla i sex månader, men jag kritiserade Framtiden AB hårt att detta inte stod på kontraktet. Jag fick en muntlig försäkran, men tycker att det är pinsamt. Antag att jag vill jobba åt detta företag om fem år? Ska jag inte få det då?

Eftersom att jag ska göra examensarbete nästa termin så är frågan dock hur mycket tid man vill lägga ner. Jag skall tala med min examenscompadre Frode om saker imorgon. Drupal kanske är roligare om det förblir en hobby.

söndag 7 december 2008

Django...


...men jag glömde i förra inlägget att ge Django cred för sina riktigt snygga sajt - speciellt förstasidan är imponerande väldesignad.

Att få in mycket information på en förstasida utan att den blir plottrig är mycket svårt. Om man föredrar fix bredd eller varierande bredd kan alltid diskuteras och Djangos förstasida är ett utmärkt exempel på en väldesignad sida som hanterar variabel bredd.

fredag 5 december 2008

MVC, Django och webbgränssnitt

Häromdagen skrev Slashdot om Model-View-Controller-modellen, allmänt kallad MVC. Intressant läsning om en design pattern som har tappat sin ursprungliga betydelse. Kul timing, då jag den senaste månaden har provat en hel del olika ramverk för webbutveckling som säger sig ha baserat sig just på MVC.

Slashdot artikeln hänvisar till blogginlägget Removing the Model-View-Controller Straitjacket av Malcolm Tredinnick, ett inlägg som ger en sammanfattad bakgrund till vad MVC är och brukade vara. Inlägget förtsätter och ger inblick i hur hela designmönstret (en: design pattern) har blivit luddigt då man försökt att applicera det på icke-GUI-program.

MVC användes ursprungligen för att enkelt utveckla grafiska användargränssnitt, alltså t.ex. vanliga Windows-program med fönster och knappar mm. I allmän mun brukar MVC beskrivas i tre delar


  • Modellen, som hanterar datastrukturerna som programmet använder sig av. Ibland kan detta vara en databas. Exempel kan t.ex. vara en lista över namn och telefonnummer.

  • Vyn, som är det som användaren ser, i GUI-implementation är detta det fönster du ser framför ögonen.

  • Controllern, som hanterar kommunikation mellan Modell och Vy.

Den ursprungliga idéen med MVC var att Vyn skulle bli påmind om någonting i modellen förändrades (liknande Observer). Ett problem är att detta inte kan implementeras på en webbplattform då sidorna generas vid behov. Av den anledningen modifierades den ursprungliga idéen så att Controller-delen var den del som fick ta emot anrop från klienterna och som tillsammans med mallar genererade den HTML som skickades tillbaka.

Malcolm menar att denna 'modifikation' är större än man tror. Hela idéen med MVC baserade sig på GUI-utveckling och genom att föra in MVC i webbutvecklingen så har man modifierat designmönstret alltför grovt för att kunna säga att man fortfarande håller på med MVC-utveckling. Malcolm tar Django som exempel, även om han påpekar att Django inte är ett undantag. Då jag lagt några dagar på att utveckla en halvklar sajt i Django, blev Malcolms analys ännu mer intressant.

Django är en ramverk för att utveckla hemsidor som slaviskt följer (det modifierade, asynkrona, om man så vill) MVC-mönstret. Ramverket är skrivet i Python och tanken är att man genom att tvinga utvecklaren att dela upp sin kod i löst kopplade delar (Modell, Vyn och Controllern) ska göra hemsidans kod mer strukturerad och lättadministrerad.

Min erfarenhet av Django och många andra ramverk för webbutveckling, som hävdar att de bygger på MVC-modellen, är att de i fel spår. MASSOR av dessa ramverk ställer för stora krav på programmeraren och saknar den flexibilitet som kan behövas. Exempelvis så är Djangos template-system (sv: mall) Kid riktigt förfärligt med en knölig syntax som dessutom inte tillåter att data modifieras i mallarna, något som aldrig krävdes i det ursprungliga MVC-mönstret. Idéen är god med det blir mer knöligt och mer hopp i kod än kontinuitet när man läser den.

Ruby-on-Rails i all ära, men syntaxen är förfärlig. Kanske PHP är det bästa vägvalet ändå, trots att det inte kräver någonting av ens programmerare alls. Än.

lördag 29 november 2008

Dålig webbdesign: Stadium.se

Stadium.se står det att de vunnit pris för bästa E-handel. Grattis - men hur?!

Det är på ett sätt sorgligt att en sajt som Stadium.se vinner priser för en hemsida som är både slö, ointuitiv och saknar produkter.

Att Stadium.se är slö tar det inte många sekunder att inse (även om det tar många sekunder, heh). Försök att förflytta er runt på sajten så känns det. Man somnar. Vanligtvis brukar flaskhalsen vara sökning på sajter, men i detta fall så är det även de flesta andra sidor inräknade i denna kritik.

Sajtens design. är heller inget att hänga i julgranen. Dagens sajter brukar vara hierarkiskt strukturerade. Anledningen är att det ger en intuitiv upplevelse för besökaren, som lätt kan hitta tillbaka vägen man har kommit från. Hierarkin är också en möjlighet att dela upp sajten i större delar. Denna uppdelning brukar göras med en primärmeny då man just väljer en sektion av sajten (ex. butik, nyheter, kundtjänst). Varje klick på en primärlänk genererar en sekundärmeny där man kan välja vad man vill läsa om under den valda sektionen. Man kan även ha ytterliggare en tredje menynivå som genereras av sekundärmenyvalen, även om många argumenterar att två nivåer gott och väl räcker för de flesta sajten.

Stadium har tre nivåer, och det är ingenting fel i det så länge menyerna är placerade på ett intuitivt sätt, men det är de inte. Högst upp på sidan finns Min Sida, Träning, Trend, Om Stadium. Detta är deras primära meny, men menyn direkt under agerar både sekundärmeny och tredjenivåmeny! Om man surfar runt bland produkter så är den en tredje nivå, medan man t.ex. under Om Stadium är en sekundärmeny.

Jag är övertygad att jag inte är den enda som var förbryllad. Till råga på att menyplaceringen är ointuitiv så ligger sajten flera år bakåt i tiden vad gäller andra standardverktyg idag för att göra en sajt lättnavigerad, sökmotoroptimerad och saknar även standardverktyg för att extrahera information. Jag talar om:

Inte nog med det så lyckades jag inte hitta det jag sökte, nämligen koner till handbollslaget som skall startas i vår. Hela sajten var en stor besvikelse vad gäller att hitta, hastighet med mera. Jag tror domarna i E-handelstävlingen helt enkelt jämförde förstasidorna.