<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><title>Marcus Olsson</title><link>http://marcusolsson.me/</link><description>I’m a blogger.</description><item><title>Mycket är på gång</title><link>http://marcusolsson.me/2013/05/22/mycket-ar-pa-gang</link><guid isPermaLink="false">/2013/05/22/mycket-ar-pa-gang</guid><pubDate>Wed, 22 May 2013 23:09:42 CEST</pubDate><description>&lt;p&gt;Det är många bollar i luften just nu; än så länge kan jag inte berätta allt för mycket – &lt;strong&gt;men klart är i alla fall att från början av augusti så kommer jag bland annat att börja ta emot uppdrag och projekt igen&lt;/strong&gt;. Kul!&lt;/p&gt;

&lt;p&gt;Kul är också att ha er trevliga läsare som tittar in titt som tätt, och diskuterar mina inlägg på Twitter (&lt;a href="http://twitter.com/olssonm"&gt;@olssonm&lt;/a&gt;). Nu har ni dessutom ett nytt sätt följa mig på; ett nyhetsbrev (kommer ni ihåg sådana?). Där i är det dessutom tänkt att meddela när, var och hur jag finns tillgänglig för projekt. Och eventuellt ha diskussioner kring sådant som jag kanske i vanliga fall inte tar upp i bloggen.&lt;/p&gt;

&lt;p&gt;Om du är det minsta intresserad (klart att du är!) så skriver du enklast upp dig på &lt;a href="http://tinyletter.com/olssonm"&gt;http://tinyletter.com/olssonm&lt;/a&gt; eller längst ner på &lt;a href="http://marcusolsson.me"&gt;framsidan&lt;/a&gt; där du finner ett formulär.&lt;/p&gt;

&lt;p&gt;Igen, tack igen till alla inspirerande, och engagerade läsare och vänner!&lt;/p&gt;
</description></item><item><title>→ Too scared to write a line of code</title><link>https://medium.com/i-m-h-o/eef96ea6f4cb</link><guid isPermaLink="false">https://medium.com/i-m-h-o/eef96ea6f4cb</guid><pubDate>Tue, 21 May 2013 10:26:43 CEST</pubDate><description>&lt;p&gt;Känner igen mig i mångt och mycket, sitter på tok för länge och går igenom &lt;em&gt;best practises&lt;/em&gt; och nya, smartare och bättre tillvägagångssätt – istället för att faktiskt bara sätta mig ner och koda.&lt;/p&gt;


&lt;p&gt;&lt;a href="http://marcusolsson.me/2013/05/21/too-scared-to-write-a-line-of-code"&gt;&amp;#8734; Permalink&lt;/a&gt;&lt;/p&gt;</description></item><item><title>→ Akiyoshi’s illusion pages</title><link>http://www.psy.ritsumei.ac.jp/~akitaoka/index-e.html</link><guid isPermaLink="false">http://www.psy.ritsumei.ac.jp/~akitaoka/index-e.html</guid><pubDate>Sat, 18 May 2013 11:40:15 CEST</pubDate><description>&lt;p&gt;En fantastisk samling av visuella illusioner, eller &amp;#8220;&lt;em&gt;anomalous motion illusion&lt;/em&gt;&amp;#8221; som &lt;a href="http://en.wikipedia.org/wiki/Akiyoshi_Kitaoka"&gt;Akiyoshi&lt;/a&gt; själv kallar dem för.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Via: &lt;a href="https://news.ycombinator.com/"&gt;Hacker News&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href="http://marcusolsson.me/2013/05/18/akiyoshis-illusion-pages"&gt;&amp;#8734; Permalink&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Kom runt SVDs paywall – för sista gången</title><link>http://marcusolsson.me/2013/05/17/kom-runt-svds-paywall-for-sista-gangen</link><guid isPermaLink="false">/2013/05/17/kom-runt-svds-paywall-for-sista-gangen</guid><pubDate>Fri, 17 May 2013 09:35:24 CEST</pubDate><description>&lt;p&gt;Tredje gången gilt. Börjar bli en rolig tradition det här med att komma runt SVDs betalvägg. Nu har de börjar slänga in flera olika funktioner med snarlika namn och lite annat roligt trixande – ingen mer for-loop då alltså.&lt;/p&gt;

&lt;p&gt;Istället så spinner vi vidare på det &lt;a href="http://marcusolsson.me/2013/05/13/kom-runt-svds-paywall-igen"&gt;reguljära uttrycket&lt;/a&gt; (tack igen, &lt;a href="https://twitter.com/wibron"&gt;@Wibron&lt;/a&gt;!), och laddar in en extern fil – så slipper man uppdatera det där bokmärket om och om igen. Filen ligger på &lt;a href="https://github.com/olssonm/bypassSvdPaywall"&gt;GitHub&lt;/a&gt; – kom gärna med en &amp;#8220;pull-request&amp;#8221; om ni upptäcker att mönstret har ändrats eller om ni vill förbättra den.&lt;/p&gt;

&lt;p&gt;Lär i alla fall fungera fram tills att SVD gör allt för stora ändringar.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Och som vanligt, ett bokmärke (dra och släpp länken till bokmärkesfältet):&lt;/strong&gt; &lt;a href='javascript:(function(){var a=(new Date).getTime(),b=document.createElement("script");b.setAttribute("src","https://raw.github.com/olssonm/bypassSvdPaywall/master/bypassSvdPaywall.js?v="+a),document.body.appendChild(b)})();'&gt;Läs&amp;nbsp;artikel&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Notera att detta är mest som en rolig sak, garanterar inte alls att det här fungerar för alltid. Och är du en frekvent SVD-besökare som absolut inte vill ha något med betalväggen att göra, då är det bästa alternativet att rensa alla kakor för webbplatsen.&lt;/p&gt;

&lt;p&gt;Idéer på hur man gör det här på ett bättre och/eller mer effektivt sätt? &lt;a href="https://twitter.com/olssonm"&gt;@olssonm&lt;/a&gt; heter jag på Twitter.&lt;/p&gt;
</description></item><item><title>Kom runt SVDs paywall – igen</title><link>http://marcusolsson.me/2013/05/13/kom-runt-svds-paywall-igen</link><guid isPermaLink="false">/2013/05/13/kom-runt-svds-paywall-igen</guid><pubDate>Mon, 13 May 2013 16:37:08 CEST</pubDate><description>&lt;p&gt;&lt;img src="http://marcusolsson.me/media/2013/05/svd-paywall-2.png" alt="SVD Betalvägg, del två" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Uppdaterad 17/5 2013:&lt;/strong&gt; Än en gång har SVD ändrat i sin betalvägg. För den allra nyaste, och förhoppningsvis sista, metoden för att komma runt betalväggen, läs &lt;em&gt;&lt;a href="http://marcusolsson.me/2013/05/17/kom-runt-svds-paywall-for-sista-gangen"&gt;Kom runt SVDs paywall – för sista gången&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Svenska Dagbladet verkar visst ha fixat sin betalvägg något (som var lite väl vek, som &lt;a href="http://marcusolsson.me/2013/04/29/kom-runt-svds-paywall"&gt;jag skrev om senast&lt;/a&gt;), nu kan man inte längre komma runt den genom att endast köra:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;svd_pw_close();
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Nu har de börjat trixa med en slumpmässig sträng som läggs till i funktionen, så nu ser den ut på följande sätt:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;svd_pw_close_298718();
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Det blir ju lite krångligare nu när det finns ett slumpmässigt element inblandat; strängen slumpas t.o.m. mellan sidladdningar (alltså inte beroende av någon cookie som man kan läsa av eller liknande).&lt;/p&gt;

&lt;p&gt;Hur löser vi det här nu då? Då strängen slumpas, så kan vi så klart gå igenom varje möjlig variant (som tur är består strängen endast av siffror, för stunden):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;for (var i = 999999; i &amp;gt;= 0; i--) {
    if(typeof(window['svd_pw_close_' + i]) == 'function') {
        window['svd_pw_close_' + i]();
    }
};
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Här har du ett smidigt bokmärke som du kan använda (dra och släpp i bokmärkesfältet): &lt;a href="javascript:for(var i=999999;i&gt;=0;i--)'function'==typeof window['svd_pw_close_'+i]&amp;&amp;window['svd_pw_close_'+i]();"&gt;Läs artikel&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;En annan variant är att köra hela innehållet i &lt;code&gt;svd_pw_close_xxx();&lt;/code&gt;, alltså:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;jQuery(window).unbind("scroll", svd_pw_prev_scr);
jQuery("#page").css("height", "auto");
jQuery(".svd_pw_alert_box").animate({
    top: -500,
}, 500, function () {
    jQuery("#svd_pw_alert").hide();
    jQuery("#svd_pw_curtain").hide();
    jQuery("body").removeClass("svd_pw_freeze");
});
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Även till denna får du ett trevligt litet bokmärke: &lt;a href="javascript:jQuery(window).unbind(&amp;quot;scroll&amp;quot;,svd_pw_prev_scr),jQuery(&amp;quot;#page&amp;quot;).css(&amp;quot;height&amp;quot;,&amp;quot;auto&amp;quot;),jQuery(&amp;quot;.svd_pw_alert_box&amp;quot;).animate({top:-500},500,function(){jQuery(&amp;quot;#svd_pw_alert&amp;quot;).hide(),jQuery(&amp;quot;#svd_pw_curtain&amp;quot;).hide(),jQuery(&amp;quot;body&amp;quot;).removeClass(&amp;quot;svd_pw_freeze&amp;quot;)});"&gt;Läs artikel&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sist men inte minst, man kan även rensa alla cookies för domänen. Se t.ex. det &lt;a href="http://stackoverflow.com/a/179535/684195"&gt;här bokmärket från en på Stackoverflow&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Mycket bättre SVD! Men lite till kan ni allt. Men tyvärr så kommer betalväggen förmodligen alltid att kunna kringgås så länge som det förlitas på javascript på klienten.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Uppdaterad 13/5 2013:&lt;/strong&gt; Patrik Wibron (&lt;a href="https://twitter.com/wibron"&gt;@wibron&lt;/a&gt;) var snäll nog att dela med sig av en kodsnutt som är betydligt mer effektiv (och snyggare) än den gamla for-loop:en här ovanför:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;for (d in window) {
    var r = /svd_pw_close\d/i,
        method = d.match(r);
    if (method) window[d]();
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Även den får ett behändigt bokmärke: &lt;a href="javascript:for(d in window){var r = /svd_pw_close\d/i, method = d.match(r); if(method)window[d]();}"&gt;Läs artikel&lt;/a&gt;.&lt;/p&gt;
</description></item><item><title>Kom runt SVDs paywall</title><link>http://marcusolsson.me/2013/04/29/kom-runt-svds-paywall</link><guid isPermaLink="false">/2013/04/29/kom-runt-svds-paywall</guid><pubDate>Mon, 29 Apr 2013 17:10:12 CEST</pubDate><description>&lt;p&gt;&lt;img src="http://marcusolsson.me/media/2013/04/svd-paywall.png" alt="SVDs Paywall" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Uppdaterad 17/5 2013:&lt;/strong&gt; Än en gång har SVD ändrat i sin betalvägg. För den allra nyaste, och förhoppningsvis sista, metoden för att komma runt betalväggen, läs &lt;em&gt;&lt;a href="http://marcusolsson.me/2013/05/17/kom-runt-svds-paywall-for-sista-gangen"&gt;Kom runt SVDs paywall – för sista gången&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Uppdaterad 13/5 2013:&lt;/strong&gt; SVD var ganska snabba med att lappa igen de värsta hålen, så den här artikeln är numera utdaterad. För en nyare version, läs: &lt;em&gt;&lt;a href="http://marcusolsson.me/2013/05/13/kom-runt-svds-paywall-igen"&gt;Kom&amp;nbsp;runt&amp;nbsp;SVDs&amp;nbsp;paywall&amp;nbsp;–&amp;nbsp;igen&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Idag så började SVD använda sig om en så kallad &amp;#8220;paywall&amp;#8221;. Man får läsa ett visst antal artiklar per dag, sedan så får man hosta upp med 15:- per dag därefter.&lt;/p&gt;

&lt;p&gt;Att göra det i alla fall lite svårt för användarna att komma runt den här &amp;#8220;betalväggen&amp;#8221; verkar dock inte ha varit en särskilt stor prioritet. Bara att köra funktionen &lt;code&gt;svd_pw_close();&lt;/code&gt; och läsa vidare artikeln (pw som i paywall antar jag).&lt;/p&gt;

&lt;p&gt;Här har du också ett smidigt bokmärke som du kan använda (dra och släpp länken i bokmärkesraden): &lt;a href="javascript:svd_pw_close();"&gt;Läs artikel&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Man kan också skriva följande direkt i adressfältet:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;javascript:svd_pw_close();
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Brukar för övrigt gilla utvecklarna på SVD, driver en väldigt intressant &lt;a href="http://blog.svd.se/utvecklingsblogg/"&gt;utvecklingsblogg&lt;/a&gt; – och har för det mesta en väldigt bra webbplats. Detta var lite sämre genomfört dock.&lt;/p&gt;
</description></item><item><title>Command line Russian roulette</title><link>http://marcusolsson.me/2013/04/21/command-line-russian-roulette</link><guid isPermaLink="false">/2013/04/21/command-line-russian-roulette</guid><pubDate>Sun, 21 Apr 2013 14:19:37 CEST</pubDate><description>&lt;p&gt;För modiga Linux-användare:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[ $[ $RANDOM % 6 ] == 0 ] &amp;amp;&amp;amp; rm -rf / || echo *Click*
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Bör absolut inte provas på OS X&amp;#8230;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Via &lt;a href="http://stackoverflow.com/questions/234075/what-is-your-best-programmer-joke"&gt;Stackoverflow&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
</description></item><item><title>TileMill – fantastiskt verktyg från MapBox</title><link>http://marcusolsson.me/2013/04/20/tilemill-fantastiskt-verktyg-fran-mapbox</link><guid isPermaLink="false">/2013/04/20/tilemill-fantastiskt-verktyg-fran-mapbox</guid><pubDate>Sat, 20 Apr 2013 13:02:11 CEST</pubDate><description>&lt;p&gt;Kartor och kartografi är alltid roligt, och inga gör det snyggare än &lt;a href="http://mapbox.com/"&gt;MapBox&lt;/a&gt;. Här om dagen hittade jag dessutom ett open source-verktyg som de utvecklar – &lt;a href="http://mapbox.com/tilemill/"&gt;TileMill&lt;/a&gt; – som en enkel och klar syntax möjliggör skapandet av otroligt fina interaktiva kartor.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://marcusolsson.me/media/2013/04/tilemill-sweden.png" alt="TileMill" /&gt;&lt;/p&gt;

&lt;p&gt;Verktyget är som sagt &lt;a href="https://github.com/mapbox/tilemill"&gt;open source&lt;/a&gt; (och gratis), och finns till OS X, Linux och Windows. Ett tips är att spana in exempelprojekten som följer med för att snabbt komma igång.&lt;/p&gt;
</description></item><item><title>Radiotjänsts häxjakt är i full rullning</title><link>http://marcusolsson.me/2013/04/20/radiotjansts-haxjakt-ar-i-full-rullning</link><guid isPermaLink="false">/2013/04/20/radiotjansts-haxjakt-ar-i-full-rullning</guid><pubDate>Sat, 20 Apr 2013 01:56:53 CEST</pubDate><description>&lt;p&gt;Idag var det min tur att råka ut för Radiotjänsts, och därmed Public Service:s, fullständigt ologiska indrivning av folks pengar.&lt;/p&gt;

&lt;p&gt;Man kan knappast ha missat nyheterna den senaste tiden att alla som har tillgång till internet och en dator eller &lt;a href="http://radiotjanst.se/Avgiften/Lagar-och-regler/Avgiftsplikt-for-t-ex-datorer-och-surfplattor/"&gt;ska numera betala tv-avgift&lt;/a&gt; tack vare att SVT sänder sina tablålagda program via internet.&lt;/p&gt;

&lt;p&gt;Detta är givetvis helt vansinnigt – bara för att man har möjligheten att använda något, så ska man självfallet inte behöva betala för det. Detta är precis lika logiskt som att en biluthyrningsfirma skickar en faktura för att man har &lt;em&gt;möjligheten&lt;/em&gt; att hyra en bil hos dem – om du brukar den möjligheten eller inte spelar ingen roll.&lt;/p&gt;

&lt;p&gt;Radiotjänst ABs och hela Public Service är en relik från en svunnen tid som vi snart får hoppas dör ut. Jag vill i alla fall lika motvilligt finansiera melodifestivalen och andra hobbyprojekt från Eva Hamilton &amp;amp; Co. som jag vill hyra en bil.&lt;/p&gt;
</description></item><item><title>Bineros problem fortsätter – nu förklarar de sig</title><link>http://marcusolsson.me/2013/03/31/bineros-problem-fortsatter-nu-forklarar-de-sig</link><guid isPermaLink="false">/2013/03/31/bineros-problem-fortsatter-nu-forklarar-de-sig</guid><pubDate>Sun, 31 Mar 2013 00:51:29 CET</pubDate><description>&lt;p&gt;&lt;strong&gt;Binero&lt;/strong&gt; som marknadsför sig som &amp;#8220;Sveriges vänligaste webbhotell&amp;#8221; har länge haft sina brister. Jag skrev om flera av dem redan i början av 2012 (&lt;a href="http://marcusolsson.me/2012/02/28/binero-fran-hero-till-zero"&gt;Binero – från hero till zero&lt;/a&gt;), men först nu verkar de ta sina egna brister på allvar.&lt;/p&gt;

&lt;p&gt;Tidigare i veckan så drabbades många av deras (inklusive mig, som av ren lathet inte har orkat flytta ett par av mina mindre viktiga sajter – t.ex. &lt;a href="http://namnapi.se"&gt;NamnAPI&lt;/a&gt;) av diverse problem. Kundernas sajter gick inte att komma åt – och ännu värre för flera var att de inte gick att komma åt sin mail.&lt;/p&gt;

&lt;p&gt;I ett blogginlägg undertecknat VD:n Anders Aleborg själv så skriver de att problemen beror på ett storage-problem, där leverantören har felat. De tar också upp, det som jag skrev tidigare, att problemen började med att de växte för fort (eller i deras egna ord; &amp;#8220;De senaste åren har Binero vuxit mer än något annat webbhotell i branschen&amp;#8221;). Men växtverk är inte mycket att skylla på, om ens kunder inte får vad de betalar för? Om &lt;em&gt;alla&lt;/em&gt; drabbas av nertid? Att där samtidigt locka till sig ännu fler kunder med diverse domänkampanjer kan ses som direkt oansvarsfullt.&lt;/p&gt;

&lt;p&gt;Men det är bara ett i raden problem för Binero. Tidigare så väntade kunder i år (bokstavligt talat) för att bli portade till deras nya system. De erbjuder ännu inte &lt;em&gt;cron job&lt;/em&gt; som lovades flera år tillbaka och PHP-versionen verkar fortfarande gå till 5.2.17 som default (5.2.17 släpptes januari 2011&amp;#8230;).&lt;/p&gt;

&lt;p&gt;Än en gång utfärdar jag samma varning som jag gjorde i fjol: ställer du höga krav på ditt webbhotell, välj inte Binero. Deras DNS- och domänverktyg håller fortfarande måttet, men som webbhotell duger de endast för enklare hobbyprojekt (de har ju fortfarande ett okej pris, sina många brister till trots).&lt;/p&gt;

&lt;p&gt;Kan passa på att göra en shoutout till &lt;a href="http://glesys.se"&gt;GleSYS&lt;/a&gt;, som har varit fruktansvärt kompetenta och stabila sedan jag bytte till dem i fjol (&lt;a href="http://stats.pingdom.com/wn22v4u89fuw/597460/history"&gt;uptime report hos Pingdom&lt;/a&gt;). Andra svenska webbhotell som verkar ta sina kunder på allvar är &lt;a href="https://fsdata.se/"&gt;FS Data&lt;/a&gt; och &lt;a href="https://www.citynetwork.se/"&gt;City Network&lt;/a&gt;. Ett tips är också att spana in &lt;a href="http://mediatemple.net/"&gt;MediaTemple&lt;/a&gt; samt &lt;a href="https://www.digitalocean.com/"&gt;DigitalOcean&lt;/a&gt; (båda USA-baserade) som man har hört mycket gott om på sistone.&lt;/p&gt;
</description></item><item><title>→ PHP Weekly</title><link>http://phpweekly.info/</link><guid isPermaLink="false">http://phpweekly.info/</guid><pubDate>Sun, 31 Mar 2013 00:07:41 CET</pubDate><description>&lt;p&gt;Nyhetsbrev, eller &amp;#8220;Mailing lists&amp;#8221;, är kanske inte lika vanliga idag som förr. Men &lt;a href="https://twitter.com/1stvamp"&gt;Wes Mason&lt;/a&gt; sammanställer varje vecka ett fantastiskt matnyttigt sådant där han samlar länkar om nyheter i PHP-världen. Även intressanta projekt och artiklar finns med.&lt;/p&gt;


&lt;p&gt;&lt;a href="http://marcusolsson.me/2013/03/31/php-weekly"&gt;&amp;#8734; Permalink&lt;/a&gt;&lt;/p&gt;</description></item><item><title>→ Fight Code</title><link>http://fightcodegame.com/</link><guid isPermaLink="false">http://fightcodegame.com/</guid><pubDate>Mon, 25 Mar 2013 21:11:58 CET</pubDate><description>&lt;p&gt;Programmera digitala robotar med Javascript. Väldigt kul, beroendeframkallande och lärorikt.&lt;/p&gt;


&lt;p&gt;&lt;a href="http://marcusolsson.me/2013/03/25/fight-code-game"&gt;&amp;#8734; Permalink&lt;/a&gt;&lt;/p&gt;</description></item><item><title>MailComs spam fortsätter</title><link>http://marcusolsson.me/2013/03/12/mailcoms-spam-fortsatter</link><guid isPermaLink="false">/2013/03/12/mailcoms-spam-fortsatter</guid><pubDate>Tue, 12 Mar 2013 23:30:02 CET</pubDate><description>&lt;p&gt;I mitten av förra året fick &lt;a href="http://marcusolsson.me/2012/06/27/mailcom-europe-ab-trampar-i-klaveret"&gt;MailCom&lt;/a&gt; utstå en hel del kritik efter att de gick och hotade en bloggare.&lt;/p&gt;

&lt;p&gt;Slutat att hota folk må de ha gjort (jag har i alla fall inte hört något nytt), men de fortsätter fortfarande att leta upp e-postadresser på nätet för att spara undan och sedan spam:a. Det här mailet fick jag från dem tidigare i veckan (till min jobbmail):&lt;/p&gt;

&lt;p&gt;&lt;img src="http://marcusolsson.me/media/2013/03/mailcom.png" alt="MailCom Spam" /&gt;&lt;/p&gt;

&lt;p&gt;De erbjöd i alla fall en &amp;#8220;unsubscribe&amp;#8221;-länk i mailet. Synd bara att de inte använder normala metoder för att låta folk prenumerera på deras &lt;del&gt;nyhetsbrev&lt;/del&gt; spam.&lt;/p&gt;

&lt;p&gt;Vill ni läsa mer om &lt;strong&gt;MailComs&lt;/strong&gt; affärsmetoder rekommenderar jag att spana in den &lt;a href="http://www.wn.se/showthread.php?t=1049754"&gt;här tråden på WN.se&lt;/a&gt; eller det &lt;a href="http://www.gester.se/spamforetag/mailcom-europe-ab/"&gt;här tidigare blogginlägget av Urban Grotherus&lt;/a&gt;.&lt;/p&gt;
</description></item><item><title>Snabbstarta ditt projekt med Flight, php-activerecord och Twig</title><link>http://marcusolsson.me/2013/03/07/snabbstarta-ditt-projekt-med-flight-php-activerecord-och-twig</link><guid isPermaLink="false">/2013/03/07/snabbstarta-ditt-projekt-med-flight-php-activerecord-och-twig</guid><pubDate>Thu, 07 Mar 2013 00:32:28 CET</pubDate><description>&lt;p&gt;Jag nämde i &lt;a href="http://marcusolsson.me/2013/03/01/php-fortfarande-storst"&gt;mitt tidigare inlägg om att PHP fortfarande är störst&lt;/a&gt; &amp;#8220;microramverket&amp;#8221; &lt;a href="http://flightphp.com/"&gt;Flight&lt;/a&gt; som jag har använt mig av en hel del på sistone.&lt;/p&gt;

&lt;p&gt;Likt &lt;a href="http://flask.pocoo.org/"&gt;Flask&lt;/a&gt;, &lt;a href="http://www.sinatrarb.com/"&gt;Sinatra&lt;/a&gt; och för all del &lt;a href="http://www.slimframework.com"&gt;Slim&lt;/a&gt; – är Flight ett enkelt ramverk som är gjort för att byggas vidare på helt efter tycke och smak.&lt;/p&gt;

&lt;p&gt;Flight är väldigt &amp;#8220;barebone&amp;#8221; i standardutförande, du får inte så mycket mer en enkla metoder att route:a trafik och ett &lt;em&gt;mycket&lt;/em&gt; grundläggande template-språk. Men med &lt;a href="http://www.phpactiverecord.org/"&gt;php-activerecord&lt;/a&gt; och &lt;a href="http://twig.sensiolabs.org/"&gt;Twig&lt;/a&gt; så blir Flight en perfekt start för både små och mellanstora webbapplikationer.&lt;/p&gt;

&lt;p&gt;Börja med att sätta upp en struktur liknande det här:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://marcusolsson.me/media/2013/03/flight-phpactiverecord-twig.png" alt="Flight, php-activerecord and Twig" /&gt;&lt;/p&gt;

&lt;p&gt;Nu ska vi använda &lt;a href="http://getcomposer.org/"&gt;composer&lt;/a&gt; för dra in Flight, php-activerecord och Twig till vårt projekt. Alla finns på &lt;a href="https://packagist.org/"&gt;Packagist&lt;/a&gt;, så skapa en composer.json-fil som ser ut ungefär så här:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;{
    "require": {
        "twig/twig": "1.*",
        "mikecao/flight": "dev-master",
        "php-activerecord/php-activerecord": "dev-master"
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Dra sedan ner composer till ditt projekt:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ curl -s http://getcomposer.org/installer | php
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Och installera modulerna (notera att du måste ha Git installerat):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ php composer.phar install
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Släng också in en .htaccess-fil (om du använder Apache):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Nu borde du ha allt installerat i &lt;code&gt;/vendor&lt;/code&gt;, och vara redo för att skriva lite PHP!&lt;/p&gt;

&lt;p&gt;Skapa en &lt;code&gt;index.php&lt;/code&gt; i projektmappen och inkludera composer:ns &lt;code&gt;autoload.php&lt;/code&gt;. Testa sedan att med Flight skapa et route till /test:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;?php
    include dirname(__FILE__) . '/vendor/autoload.php';

    Flight::route('/test', function(){
        echo "hello world!";
    });

    Flight::start();
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;På &lt;code&gt;localhost/test&lt;/code&gt; (eller hur du nu har din miljö uppsatt) bör du kort och gott se &amp;#8220;&lt;code&gt;hello world!&lt;/code&gt;&amp;#8221;.&lt;/p&gt;

&lt;p&gt;Nu kommer det roliga, att få alla delarna att leka snällt med varandra. Börja med att konfigurera upp Twig:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;?php
    /**
    * Initiate Twig, and register to Flight
    */
    $loader = new Twig_Loader_Filesystem(dirname(__FILE__) . '/views'); 
    $twigConfig = array(
        // 'cache'  =&amp;gt;  './cache/twig/',
        // 'cache'  =&amp;gt;  false,
        'debug' =&amp;gt;  true,
    );
    Flight::register('view', 'Twig_Environment', array($loader, $twigConfig), function($twig) {
        $twig-&amp;gt;addExtension(new Twig_Extension_Debug()); // Add the debug extension
    });
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;På detta vis når vi nu Twig via&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;?php
    Flight::view()-&amp;gt;display('template.html', $data);
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Testa så att allt fungerar genom att skapa en mall och lägg den i din views-mapp.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;?php
    // template.html
    hello {{name}}!

    // index.php
    Flight::route('/hello', function(){
        $data = array(
            'name' =&amp;gt; Flight::request()-&amp;gt;query-&amp;gt;name
        );
        Flight::view()-&amp;gt;display('template.html', $data);
    });
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;localhost/hello?name=Marcus&lt;/code&gt; borde ge &amp;#8220;&lt;code&gt;hello Marcus!&lt;/code&gt;&amp;#8221;.&lt;/p&gt;

&lt;p&gt;Nu var det php-activerecord också. Om du har använt CodeIgniter eller Lithium så är chanserna stora att du har använt något derivat av php-activerecord, så du borde känna igen syntaxen – det är anledningen till att jag brukar köra på det. Men om du föredrar något annat ORM, kör för all del på det istället. För att ladda in det i Flight gör vi på följande vis:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;?php
    /**
    * Initiate ActiveRecord
    */
    ActiveRecord\Config::initialize(function($cfg) {
        $cfg-&amp;gt;set_model_directory('./models');
        $cfg-&amp;gt;set_connections(
            // mysql://
            array('development' =&amp;gt; 'mysql://username:password@localhost/database')
        );
        $cfg-&amp;gt;set_default_connection('development');
    });
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;För det här testet kan vi använda en väldigt enkel users-tabell:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `firstname` varchar(255) COLLATE utf8_swedish_ci NOT NULL,
  `surname` varchar(255) COLLATE utf8_swedish_ci NOT NULL,
  `email` varchar(255) COLLATE utf8_swedish_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci AUTO_INCREMENT=1 ;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Sätt också upp en user-modell i &lt;code&gt;/models&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;?php
    class User extends ActiveRecord\Model {
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Nu borde du enkelt kunna skapa en ny användare genom:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;?php 
    $user = new User();
    $user-&amp;gt;firstname = 'Marcus';
    $user-&amp;gt;surname = 'Olsson';
    $user-&amp;gt;email = 'trash@thedumpster.com';
    $user-&amp;gt;save();

    print_r(User::last());

    // User Object
    // (
    //     [...]
    //     [attributes:ActiveRecord\Model:private] =&amp;gt; Array
    //         (
    //             [id] =&amp;gt; 1
    //             [firstname] =&amp;gt; Marcus
    //             [surname] =&amp;gt; Olsson
    //             [email] =&amp;gt; trash@dumpster.com
    //         )
    //         [...]
    // )
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Det var allt egentligen – du har nu grunden för att snabbt kunna skapa en riktigt bra webbapplikation. Om du undrar varför vi satte upp &lt;code&gt;/controllers&lt;/code&gt; i början är det för att man inte ska behöva ha allt i sin &lt;code&gt;index.php&lt;/code&gt; – utan man kan mappa en route till en controller och metod, likt:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;?php 
    // index.php
    Flight::path(dirname(__FILE__) . '/controllers');
    Flight::route('/', array('IndexController', 'index'));

    // controllers/indexController.php
    class IndexController {
        public function __construct() {}

        public static function index() {
            echo 'Hello world!';
        }
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Hela den här guiden finns på &lt;a href="https://github.com/olssonm/flight-phpactiverecord-twig"&gt;GitHub&lt;/a&gt; för den som är intresserad, och jag är mer än &lt;a href="http://twitter.com/olssonm"&gt;intresserad av att höra&lt;/a&gt; vad du tycker om Flight, och andra microramverk för den delen.&lt;/p&gt;
</description></item><item><title>PHP fortfarande störst</title><link>http://marcusolsson.me/2013/03/01/php-fortfarande-storst</link><guid isPermaLink="false">/2013/03/01/php-fortfarande-storst</guid><pubDate>Fri, 01 Mar 2013 13:41:01 CET</pubDate><description>&lt;p&gt;Kollade igenom lite statistik på &lt;a href="http://w3techs.com/"&gt;W3techs&lt;/a&gt; över de vanligaste server-side språken i bruk idag. PHP är fortfarande överlägset störst. &lt;a href="http://w3techs.com/technologies/overview/programming_language/all"&gt;78.7% av alla webbplatser&lt;/a&gt; drivs av PHP, och inte nog med det – språkets popularitet har dessutom ökat, upp från 72,5% i mars 2012.&lt;/p&gt;

&lt;p&gt;PHP har aldrig tidigare varit ett sådant spännande språk att arbeta med, nya ramverk hittar nya lösningar på problem. Och ramverk som &lt;a href="http://www.slimframework.com/"&gt;Slim&lt;/a&gt; och &lt;a href="http://flightphp.com/"&gt;Flightphp&lt;/a&gt; gör det enkelt och snabbt att sätta upp nya projekt så att man istället kan fokusera på det viktiga. Även i själva &lt;a href="http://php.net/ChangeLog-5.php"&gt;PHP-core&lt;/a&gt; händer det en rad ändringar och förbättringar.&lt;/p&gt;

&lt;p&gt;Flera nya tjänster och plattformar som t.ex. &lt;a href="http://fortrabbit.com/"&gt;Fortrabbit&lt;/a&gt; och &lt;a href="https://pagodabox.com/"&gt;Pagoda Box&lt;/a&gt; har gjort det enkelt att driva, underhålla, testa och lansera sina applikationer med enkla och smarta metoder.&lt;/p&gt;

&lt;p&gt;PHP är ofta något av ett hånat – kanske till och med ett ibland hatat språk, &lt;a href="http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/"&gt;med ibland viss rätt&lt;/a&gt;. Men med det faktumet att nästan vem som helst kan snabbt och enkelt få ut &lt;code&gt;hello world!&lt;/code&gt; på ett par minuter på vilket webbhotell som helst – det är nästintill oslagbart.&lt;/p&gt;

&lt;p&gt;Därmed är det inte sagt att andra språk är dåliga, eller ens sämre (Python är ett språk som jag &lt;em&gt;verkligen&lt;/em&gt; gillar). Men PHP får oförtjänt mycket smuts kastat på sig.&lt;/p&gt;
</description></item><item><title>Världens dyraste webbläsare</title><link>http://marcusolsson.me/2013/02/27/varldens-dyraste-webblasare</link><guid isPermaLink="false">/2013/02/27/varldens-dyraste-webblasare</guid><pubDate>Wed, 27 Feb 2013 12:58:36 CET</pubDate><description>&lt;p&gt;&lt;img src="http://marcusolsson.me/media/2013/02/Chromebook-Pixel.jpg" alt="&amp;quot;Chromebook Pixel&amp;quot;" /&gt;&lt;/p&gt;

&lt;p&gt;Visst, Googles senaste tillskott till den lilla Chromebook-familjen är en fantastiskt designad dator – men i praktiken är det en väldigt dyr webbläsare då det är Chrome OS som gäller. $1299 begär Google för den, kom ihåg att det är $100 &lt;strong&gt;mer&lt;/strong&gt; än Apples MacBook Air 13&amp;#8221; med liknande specifikationer.&lt;/p&gt;

&lt;p&gt;Jag älskar idén med Chrome OS, men plattformen står just nu väldigt mycket i skymundan med ett ytterst litet stöd från utvecklarna – så den duger inte mycket mer till att ha som en sekundär dator, alternativt om Google Docs är det enda man använder (who does that?). Med liknande komponenter, så är valet av en sekundär dator mellan MacBook Air och Chrome Pixel ett enkelt sådant.&lt;/p&gt;

&lt;p&gt;Vilka som tillhör målgruppen och som faktiskt kommer att köpa den är och förblir ett stort mysterium.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="http://www.google.com/intl/en/chrome/devices/chromebook-pixel/"&gt;Googles site för Chromebook Pixel&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
</description></item><item><title>Klart att J.J. Abrams gör Episode VII</title><link>http://marcusolsson.me/2013/01/26/klart-att-j-j-abrams-gor-episode-vii</link><guid isPermaLink="false">/2013/01/26/klart-att-j-j-abrams-gor-episode-vii</guid><pubDate>Sat, 26 Jan 2013 11:40:54 CET</pubDate><description>&lt;p&gt;Det är nu officiellt att &lt;a href="http://www.imdb.com/name/nm0009190/"&gt;J.J. Abrams&lt;/a&gt; kommer att regissera, och hans produktionsbolag &lt;a href="http://en.wikipedia.org/wiki/Bad_Robot"&gt;Bad Robot&lt;/a&gt; kommer att producera Star Wars Episode VII.&lt;/p&gt;

&lt;p&gt;En person gör alltså de båda två största rymdfilmserierna någonsin (Star Trek &lt;em&gt;och&lt;/em&gt; Star Wars). Som om icke-insatta inte redan hade svårt att se skillnaden mellan dem.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Via: &lt;a href="http://starwars.com/news/star-wars-is-being-kick-started-with-dynamite-jj-abrams-to-direct-star-wars-episode-vii.html"&gt;Lucasfilm&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
</description></item><item><title>Årets sajter korade – lika förbluffad som vanligt</title><link>http://marcusolsson.me/2013/01/18/arets-sajter-korade-lika-forbluffad-som-vanligt</link><guid isPermaLink="false">/2013/01/18/arets-sajter-korade-lika-forbluffad-som-vanligt</guid><pubDate>Fri, 18 Jan 2013 01:05:35 CET</pubDate><description>&lt;p&gt;Varje år utser &lt;a href="http://www.idg.se/"&gt;IDG&lt;/a&gt; Sveriges bästa sajter. Vad de tycker är bäst (eller t.o.m.) bra kan man spåna långt och länge om.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.idg.se/2.22675/1.487174"&gt;I år vann Tv4.se&lt;/a&gt; – vilket jag antar kan vara en någorlunda okej vinnare, för en gång skull. Streaming kan vara teknisk utmaning, vilket Tv4 verkar ha löst bra, och sidan är stilren och attraktiv.&lt;/p&gt;

&lt;p&gt;Tidigare år har vinnaren varit lika mycket ett utropstecken som ett frågetecken.&lt;/p&gt;

&lt;p&gt;Många andra platser på listan i år är dock fortfarande stora frågetecken. Antagningen.se är ett bra exempel, som vann kategorin &amp;#8220;utbildning&amp;#8221; med motiveringen:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Enkelhet har alltid varit en vinnare på webben och Antagning.se gör det komplicerade extremt enkelt och tydligt. Med användaren i centrum, inte avsändaren, blir webbtjänsten ett föredöme för hur många fler myndigheter och organisationer kan arbeta. Antagning.se, med systersajten www.universityadmissions.se, öppnar dörrarna för hela utbildningsvärlden och drar sitt tydliga och viktiga strå till den stora utbildningsstacken.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Alla som någon gång har använt &lt;a href="http://antagning.se"&gt;antagning.se&lt;/a&gt; är vet att det inte är det bästa lösningen, inte är den särskilt rolig att använda eller titta på heller. Vidare så kan man inte heller hålla med om motiveringen &amp;#8220;gör det komplicerade extremt enkelt och tydligt&amp;#8221;. Förr var allt samlat på en sida, studera.nu, för att numera splittas mellan dessa två. Det är inte att göra det enkelt.&lt;/p&gt;

&lt;p&gt;Jag tycker att IDG borde byta namn på priset till &amp;#8220;De 100 sajterna vi tycker bäst om&amp;#8221;, alternativt plocka in några utvecklare och designers till juryn (hittar ingenstans om vilka som faktiskt sitter i juryn) så att det blir mindre &lt;em&gt;skaka-hand-och-klappa-på-axeln-för-bra-jobb&lt;/em&gt; och mer &lt;em&gt;snygg-smart-och-intressanta-lösningar-bra&lt;/em&gt;.&lt;/p&gt;
</description></item><item><title>Apple ber iPhone-användare att vänta ut “Do not disturb” buggen</title><link>http://marcusolsson.me/2013/01/02/apple-ber-iphone-anvandare-att-vanta-ut-do-not-disturb-buggen</link><guid isPermaLink="false">/2013/01/02/apple-ber-iphone-anvandare-att-vanta-ut-do-not-disturb-buggen</guid><pubDate>Wed, 02 Jan 2013 21:22:44 CET</pubDate><description>&lt;p&gt;Jag är en av många som har råkat ut för en bugg som uppstod efter nyår där &amp;#8220;Do not disturb&amp;#8221;-funktionen inte går efter ens uppsatta schema. Funktionen startar som vanligt, men går aldrig ur läget.&lt;/p&gt;

&lt;p&gt;På &lt;a href="http://support.apple.com/kb/TS4510"&gt;support.apple.com&lt;/a&gt; skriver de helt enkelt att man får vänta tills den 7:e januari, då ska allt vara normalt igen.&lt;/p&gt;

&lt;p&gt;Vad är det med Apple och nyårsbuggar?&lt;/p&gt;

&lt;p&gt;Via &lt;a href="http://www.macrumors.com/2013/01/02/apple-says-do-not-disturb-bug-to-resolve-itself-on-monday-january-7th/"&gt;Macrumors&lt;/a&gt;.&lt;/p&gt;
</description></item><item><title>Årets mest lästa inlägg – 2012</title><link>http://marcusolsson.me/2012/12/31/arets-mest-lasta-inlagg-2012</link><guid isPermaLink="false">/2012/12/31/arets-mest-lasta-inlagg-2012</guid><pubDate>Mon, 31 Dec 2012 03:17:37 CET</pubDate><description>&lt;p&gt;Så här på slutet av året brukar man titta tillbaka på året som har gått – så gör även jag. Och jag har även spenderat (på tok för stor del av) dagen till att analysera olika data i Google Analytics (mer om det senare kanske).&lt;/p&gt;

&lt;p&gt;Här är i alla fall mina tio mest lästa inlägg under året.&lt;/p&gt;

&lt;h2&gt;1 &lt;a href="http://marcusolsson.me/2010/12/08/ipad-tips-las-pdf-filer-i-ibooks-utan-itunes"&gt;iPad tips – Läs pdf-filer i iBooks, utan iTunes&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Riktigt gammal artikel från december 2010. Men det är den sidan (exklusive startsidan) som lockar absolut flest besökare via Google.&lt;/p&gt;

&lt;h2&gt;2 &lt;a href="http://marcusolsson.me/2012/07/28/gomda-nyheter-i-mac-os-x"&gt;Gömda nyheter i OS X Mountain Lion&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Ett par mindre kända nyheter i OS X 10.8 Mountain Lion.&lt;/p&gt;

&lt;h2&gt;3 &lt;a href="http://marcusolsson.me/2012/06/05/webbutvecklare-soker-nytt-jobb"&gt;Webbutvecklare söker #nyttjobb&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Tack vare många snälla vänner och andra på Twitter så fick jag en topp på 400 unika besökare under en enda dag till mitt inlägg där jag förklarade att jag sökte jobb. Fick otroligt bra respons från en rad olika företag. Så tack alla (igen) för alla retweets!&lt;/p&gt;

&lt;h2&gt;4 &lt;a href="http://marcusolsson.me/2012/09/27/frontendutvecklare-eller-front-end-utvecklare"&gt;Frontendutvecklare eller front end-utvecklare?&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Det ständiga dilemmat&amp;#8230;&lt;/p&gt;

&lt;h2&gt;5 &lt;a href="http://marcusolsson.me/2012/06/27/mailcom-europe-ab-trampar-i-klaveret"&gt;MailCom Europe AB trampar i klaveret&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;MailCom hotade Urban Grotheus efter det &lt;a href="http://www.gester.se/spamforetag/mailcom-europe-ab/"&gt;här inlägget&lt;/a&gt;, och de som hotar andra på det sättet förtjänar att hängas ut. SERP:en för sökorden &amp;#8220;MailCom Europe AB&amp;#8221; har ännu inte hämtat sig.&lt;/p&gt;

&lt;h2&gt;6 &lt;a href="http://marcusolsson.me/2012/07/04/rdio-ar-nu-tillgangligt-i-sverige"&gt;Rdio är nu tillgängligt i Sverige&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Även här är det via Google folk kommer in – antar att Rdios debut i Sverige inte uppmärksammades tillräckligt väl, och därav min placering i SERP:en. Har dessutom sedan inlägget publicerades fått tre (!) supportmail rörande Rdio.&lt;/p&gt;

&lt;h2&gt;7 &lt;a href="http://marcusolsson.me/2012/07/31/notifikationer-i-os-x-mountain-lion-via-webblasaren"&gt;Notifikationer i OS X Mountain Lion – via webbläsaren&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Skrev ett populärt inlägg om hur man kan skicka notifikationer från webbläsaren till Mountain Lions &amp;#8220;Notifications Center&amp;#8221; med Javascript.&lt;/p&gt;

&lt;h2&gt;8 &lt;a href="http://marcusolsson.me/2012/06/04/datavisualisering-kul-med-statistik-och-d3-js"&gt;Datavisualisering – kul med statistik och D3.js&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Mer Javascript, från när jag satt och labbade med D3.js i somras (har sedan dess blivit mest &lt;a href="http://raphaeljs.com/"&gt;Raphaël.js&lt;/a&gt; dock).&lt;/p&gt;

&lt;h2&gt;9 &lt;a href="http://marcusolsson.me/2012/03/27/vidriga-saljmetoder-fran-tre"&gt;Vidriga säljmetoder från 3 (Tre)&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Jag var inte helt nöjd med att Tre förlängde mitt abonnemang med nio månader utan mitt samtycke.&lt;/p&gt;

&lt;h2&gt;10 &lt;a href="http://marcusolsson.me/2012/07/24/recension-nokia-lumia-900"&gt;Testat: Nokia Lumia 900&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Fick lånat en Lumia 900 från Nokia, och skrev en kort recension om vad jag tyckte.&lt;/p&gt;
</description></item></channel></rss>
