Niklas.Sjostrom (.fi)https://niklas.sjostrom.fi/2021-02-24T16:12:00+02:00Musiktjänster2021-02-24T16:12:00+02:002021-02-24T16:12:00+02:00Niklas 'Nicke' Sjostromtag:niklas.sjostrom.fi,2021-02-24:/articles/musiktjanster.html<p>Efter en kaotisk tid med Napster och LimeWire tog mediebranschen äntligen sitt förnuft till fånga år 2006 och insåg att tiden då man köpte fysisk media i affär var förbi. Spotify blev snabbt den starkast lysande stjärnan och även jag har alltid använt just Spotify.</p>
<p>Man kanske skulle kunna tro …</p><p>Efter en kaotisk tid med Napster och LimeWire tog mediebranschen äntligen sitt förnuft till fånga år 2006 och insåg att tiden då man köpte fysisk media i affär var förbi. Spotify blev snabbt den starkast lysande stjärnan och även jag har alltid använt just Spotify.</p>
<p>Man kanske skulle kunna tro att jag är en nöjd Spotify-användare, men i praktiken har jag alltid rastlöst tittat över staketet för att se om gräsmattan är grönare på andra sidan planket. För ett plank är det bokstavligen man behöver ta sig över om man vill byta tjänst. Tjänster som Soundiiz gör jobbet att byta musiktjänst hanterligt, men tyvärr tycker jag att resultatet ofta är att låtar visserligen hittas, men låtar från ursprungsskivor ersätts ofta av samma låter från någon "best of", eller i värsta fall, blandskivor eller soundtrack.</p>
<p>Min största biff med Spotify var länge begränsningen på hur många låtar man kunde like:a, men den begränsningen har ökats rejält eller försvunnit helt för ett tag sedan. Deras appar och webb-ui faller inte heller mig i smaken. Jag förstår att tanken är att Spotify ser lite liknande ut oberoende av plattform, men jag föredrar att en Android-app ser ut som andra Android-appar och att Windows applikationer följer Windows-riktlinjer. Men spiken i kistan gällande min relation till Spotify har alltid varit att de inte erbjudit något slags bättre ljudkvalitet än 320 kbps Ogg Vorbis. Det låter visserligen riktigt bra, men ibland vid lyssning med bra hörlurar får jag känslan att något fattas och att jag gärna skulle betala lite mera för att slippa sådana funderingar.</p>
<h2>Alternativ</h2>
<h3>Tidal HiFi</h3>
<p>I flera repriser sammanlagt åtminstone ett år har jag använt Tidal.</p>
<ul>
<li>Fungerar bra.</li>
<li>Gillar apparna.</li>
<li>Ljudkvaliteten är suverän.</li>
<li>Priset högt (19.90€/mån)</li>
</ul>
<p>Även om priset är högt är den slutliga deal-breakern allt detta fokus på rap (Jay Z I blame you...). Inget fel med rap i sig, men det visar på en total oförmåga att tolka mina preferenser att ge så stort fokus på just rap i mina rekommendationer.</p>
<h3>Deezer HiFi</h3>
<p>Wow, gillade Deezer något till min egen förvåning.</p>
<ul>
<li>Apparna ser ut som de borde i respektive miljö.</li>
<li>HiFi-ljudkvaliteten är helt ok.</li>
<li>Priset är rimligt (14.99€/mån)</li>
</ul>
<p>Den totala show-stoppern för Deezer var det urusla stöder för Chromecast. Jag lyssnar huvudsakligen via en Chromecast Audio som sitter fast i våra aktiva högtalare och från Deezer är det onekligen lätt att flytta över ljudet till Chromecasten, men genast du gör det förlorar du all kontroll över vad som spelas. Jag tycker om att efter hand ändra ordningen i spellistan och plocka in extra låtar som nästa i spelkön m.m., men det går inte alls med Deezer. Synd på ett annars intressant alternativ.</p>
<h3>Amazon Music HD</h3>
<p>Testade Amazon Music Unlimited i tre månader.</p>
<ul>
<li>Apparna lite klumpiga, men ok.</li>
<li>Ljudkvaliteten bra, förväntar mig att den är ännu bättre i HD.</li>
<li>Chromecast-stödet ok efter att Android-appen satts att få köra i bakgrunden. Gör man inte det så avslutas uppspelningen vid slutet av aktuell låt. Konstigt!</li>
</ul>
<p>Inte entuiasmerande men ok på det mesta. Ett problem är dock att det inte finns något API, eller ens planer på något sådant. Det här gör att det bl.a. är klumpigt att importera spellistor och liknande från andra tjänster. Soundiiz fungerar t.ex. inte alls. Jag antar också att det här är en orsak till att det inte finns någon bra Linux-klient utan man är begränsad till browsern.</p>
<p>Men den slutgiltiga spiken i kistan var att när jag väl bestämt mig för att trots allt betala för HD-planen upptäckte jag att den inte var tillgänglig i Finland. Hade svårt att få det riktigt verifierat, men så verkar det vara.</p>
<h3>Google YouTube Music</h3>
<p>YT Music har ingen HiFi eller okomprimerad ljudkvalitet. Jag var ändå lite intresserad eftersom det kommer <em>nästan</em> gratis om man ändå betalar för YouTube Prime. Efter några dagars testande måste jag säga att det här är den tjänst som låter kvalificerat sämst. Helt ovetenskapligt och subjektivt, men härifrån flyttade jag fort vidare.</p>
<h3>Spotify</h3>
<p>Cirkeln är sluten. Jag är tillbaka på Spotify eftersom jag ändå betalar för ett familjekonto där för resten av familjen. I förrgår skymtades t.o.m. lite ljus i slutet av tunneln då Spotify <a href="https://newsroom.spotify.com/2021-02-22/five-things-to-know-about-spotify-hifi/">annonserade</a> att de före slutet av året kommer att börja erbjuda Spotify HiFi på utvalda marknader. Nåmen äntligen! Var det så svårt? Det som nu oroar förutom pris-nivån är om "select markets" kommer att innefatta Finland.</p>Bloggen har städats och ytrenoverats2021-01-12T12:47:00+02:002021-01-12T12:47:00+02:00Niklas 'Nicke' Sjostromtag:niklas.sjostrom.fi,2021-01-12:/articles/bloggen-har-stadats-och-ytrenoverats.html<p>Bloggen har de senaste veckorna renoverats och strukturerats om. Det är flera år sedan jag alls skrivit här och jag beslöt nu att rensa bort 90% av allt möjligt gammalt skräp som hängt med genom åren fast den flyttats mellan olika plattformar.</p>
<p>Några utvalda inlägg lämnades kvar även om de …</p><p>Bloggen har de senaste veckorna renoverats och strukturerats om. Det är flera år sedan jag alls skrivit här och jag beslöt nu att rensa bort 90% av allt möjligt gammalt skräp som hängt med genom åren fast den flyttats mellan olika plattformar.</p>
<p>Några utvalda inlägg lämnades kvar även om de inte är tekniskt relevant i dagsläget. Jag tycker dock att de fungera som backspegel på utvecklingen sedan jul mellandagarna 2005 när jag installerade WordPress 2.0 och skrev mitt första inlägg.</p>
<p>Samtidigt passade jag också på att förenkla kategorierna så att jag antingen skriver om teknik eller något annat mera ospecifikt ("reflektioner"). På sikt funderar jag också på att börja skriva på engelska, men vi får se hur det går med den saken. Internet är fullt av bloggar med stora ambitioner och nästan inget innehåll.</p>
<p>P.S. Försökte desperat få WriteFreely att fungera som min bloggplattform och det var <em>sååå</em> nära, men till slut vann mitt gamla Pelican-koncept ändå klart.</p>Google Play Music till Spotify2018-03-25T22:35:00+03:002018-03-25T22:35:00+03:00Niklas 'Nicke' Sjostromtag:niklas.sjostrom.fi,2018-03-25:/articles/google-play-music-till-spotify.html<p>Efter att dottern använt slut sina tre gratismånader av Google Play Music beslöt jag inte börja betala hennes 9.99€ eftersom hon sist och slutligen lyssnade ganska lite.</p>
<p>Fast forward 12 timmar och föreställ dig den anklagande minen hon gav mig med hörlurarna runt nacken när inget fungerade. Eftersom Google …</p><p>Efter att dottern använt slut sina tre gratismånader av Google Play Music beslöt jag inte börja betala hennes 9.99€ eftersom hon sist och slutligen lyssnade ganska lite.</p>
<p>Fast forward 12 timmar och föreställ dig den anklagande minen hon gav mig med hörlurarna runt nacken när inget fungerade. Eftersom Google inte kan få ändan ur vagnen och börja erbjuda ett familje-konto alternativ i Finland beslöt jag ge Spotify en ny chans. Med familjeplanen betald och nöjdare dotter började jag fundera på att själv övergå till Spotify. Spellistor med ca 1500 låtar behövde alltså flyttas på bekvämaste sätt. Efter ytligt Googlande stod valet mellan att ge <a href="https://soundiiz.com">Soundiiz</a> eller <a href="https://freeyourmusic.com/">STAMP</a> uppdraget. Utan desto vidare undersökning satsade jag på STAMP. 10€ och 15 minuter senare hade jag alla utom ca 40 låtar över till Spotify. De flesta av de som misslyckades gick att fixa med några minuters manuellt arbetet. Vad jag inte fick med mig var Alizée (tidigt stuff), Peter Gabriel och Taxi Doll. Allt gick imponerande smidigt rent av.</p>
<p>Som en långtida Google Play Music användare måste jag säga att Spotify känns som ett steg tillbaka visuellt utan minsta lilla tillstymmelse till att följa Android designregler. Dessutom saknar jag möjligheten att ladda upp egna låter för att lappa hålen i spellistor för sånt som saknas (se ovan). På Googles tjänst fungerade det här sanslöst bra. Bara ladda upp till molnet och utnyttja sedan oberoende av plattform sömlöst integrerat i gränssnittet.</p>
<p>Det som Spotify verkar bättre på är rekommendationer över lag. Där har inte Google mycket att erbjuda trots att den biten logiskt kunde ha varit Googles starka sida. Möjligheten att följa andra länders listor är också ett klart plus jämfört med Google som vill att jag ska gilla Finlands-listan där jag bokstavligen kan hitta tre låtar av 50 som jag alls vill höra på. Till allt detta kommer integrationen med andra system, SoundHound m.fl., som fungerar klart bättre än med Googles lösning. Börjar småningom varmna lite inför tanken på Spotify, men stannar tillsvidare kvar som betalande Google Play Music-användare eftersom jag som en early-adopter har ett extra bra pris på det. Bara Google ger möjlighet till Youtube Red och Music familjekonton för oss i Norden så kan det bra hända att jag återvänder.</p>Resurrection Remix på OnePlus 3T2017-11-20T00:00:00+02:002017-11-20T00:00:00+02:00Niklas 'Nicke' Sjostromtag:niklas.sjostrom.fi,2017-11-20:/articles/resurrection-remix-pa-oneplus-3t.html<p>Ända sedan min OnePlus 3T:n var ny har jag kört firmware från OnePlus. Först den officiella Android 7:an (Nougat) tills jag i början på hösten flyttade över till beta-distributionen. För ungefär fem veckor sedan övergick beta-distributionen till att basera sig på Android 8 (Oreo). Till att börjas med …</p><p>Ända sedan min OnePlus 3T:n var ny har jag kört firmware från OnePlus. Först den officiella Android 7:an (Nougat) tills jag i början på hösten flyttade över till beta-distributionen. För ungefär fem veckor sedan övergick beta-distributionen till att basera sig på Android 8 (Oreo). Till att börjas med var den lite instabil, men den senaste inkarnationen från mitten av november fungerade den riktigt bra. Men eftersom Bluetooth fungerade sämre för mig än med Nougat och de konkreta fördelarna med Oreo var minimala i min användning ville jag ändå växla ner till den stabilare Nougat-distributionen.</p>
<p>När man nedgraderar går man dock miste om alla programinställningar. Och de går inte heller att återställa från Google efter boot eftersom det inte fungerar från en högre version till en lägre. Om jag ändå skulle hamna att installera allt från scratch så blev tröskeln plötsligt väldigt låg att övergå till en tredje-parts ROM precis som jag alltid gjort på mina tidigare Android-devices.</p>
<p>Det här är ingen kritik mot OnePlus - tvärt om! Det faktum att jag använt mig av leverantörens firmware i nästan ett helt år är nytt rekord. Moto X Stylen tror jag klarade sig ett par veckor och alla devices före det har oftast ROMmats om efter den första booten.</p>
<p>Sagt och gjort. Kollade runt lite och kom fram till att trots att AICP den senaste tiden varit min favorit så återgick jag i det här fallet till det tidigare valet Resurrection Remix.</p>
<p>Processen beskrivs här väldigt ytligt eftersom jag gjort det här åtskilliga gånger på tiotalet olika Android-enheter. För närmare detlajer rekommenderar jag <a href="https://www.androidexplained.com/oneplus/oneplus-3/">artiklarna relaterade till OnePlus 3T på Android Explained</a>. De utgår från att man vill fortsätta att köra OnePlus original-mjukvara med sin upplåsta, TWRP:ande eller Magisk-installerade telefon. Väljer man att köra en tredje-parts ROM som jag så är dock flera av stegen onödiga.</p>
<blockquote>
<p>Börja dock inte med den här sortens modifikationer till din Android-telefon om du inte är helt säker på att du vet vad du gör. Det <em>kan</em> gå galet.</p>
</blockquote>
<p>För några år sedan tillbringade jag flera dagar med att från olika obskyra service-lägen försöka rädda en LG G2:a som jag lyckades förstöra rejält. Även i det fallet redde det dock upp sig till slut och den fungerar som dotterns telefon ännu idag. LG G2 är förresten en av de mest långlivade telefoner jag haft. En ovanligt snygg telefon som ännu idag är still going strong med nya ROMar från bl.a. Resurrection Remix.</p>
<h2>Unlock</h2>
<p>Efter att laddat ner lämpliga drivers och installerat <a href="https://developer.android.com/studio/releases/platform-tools.html">SDK Platform-Tools</a> så var det i princip att på telefonen aktivera "Developer Mode" och där aktivera "USB Debugging" och "OEM Unlock" . På Windowsen körde jag adb devices och efter det USB-kopplade jag telefonen och godkände debug tillgången på telefonen.</p>
<p>Efter det var det dags att boota till fastboot. Väl där (telefonen syntes väl inte längre med "adb devices", men det var inget problem?). Gjorde</p>
<div class="highlight"><pre><span></span><code>fastboot flashing unlock
</code></pre></div>
<p>och följde instruktionerna på skärmen. Telefonen bootade om några gånger och i det här skedet förlorade jag allt data precis enligt plan.</p>
<h2>Recovery</h2>
<p>Dags för en custom recovery. Jag laddade ner <a href="https://twrp.me/oneplus/oneplus3t.html">TWRP</a>. I mitt fall blev det <code>twrp-3.1.1-2-oneplus3t.img</code>. Observera att trots att många ROM:ar är "unified", dvs. en och samma version fungerar både för OnePlus 3 och 3T så krävs det att man väljer rätt version av TWRP för respektive telefon. Fortsättningsvis i fastboot gjorde ja</p>
<div class="highlight"><pre><span></span><code>fastboot flash recovery twrp.img
</code></pre></div>
<p>och efter det</p>
<div class="highlight"><pre><span></span><code>fastboot boot twrp.img
</code></pre></div>
<p>Eftersom jag skulle installera Resurrection Remix som både är färdigt rootad och som struntar i och gömmer DM-Verity informationen behövde jag varken roota med SuperSU eller installera något i stil med "DM-Verity Disabler". Av samma orsak lät jag <em>inte</em> heller TWRP göra några ändringar vid första booten för att säkerställa att inte TWRP skrivs över med någon stock-recovery.</p>
<h2>ROM och Google Apps</h2>
<p>Dags för ROM och Google Apps. Körde som sagt med <a href="https://forum.xda-developers.com/oneplus-3/oneplus-3--3t-cross-device-development/rom-kernel-resurrectionremix-n-t3524715">Resurrection Remix</a> och trots att Bean Gapps rekommenderas där så använde jag det jag är van med dvs. Open Gapps från <a href="http://opengapps.org/">http://opengapps.org/</a>. Rent konkret innebar det <code>RR-N-v5.8.5-20171017-oneplus3-Final.zip</code> och <code>open_gapps-arm64-7.1-pico-20171118.zip</code>.</p>
<p>Före jag körde in dem gjorde jag "factory reset" i TWRP eftersom den klagade på att den ville dekryptera <code>/data</code> och jag inte hade något lämpligt lösenord att ge. Det här kan ju potentiellt vara väldigt störande, men jag hade från början accepterat att jag skulle bli av med allt och börja på ny kula så jag ägnade inte den saken en andra tanke. Eventuellt kunde jag ha dekrypterat telefonen innan processen inleddes, men efter en factory reset verkar datapartitionen ha skapats på nytt (okrypterad antar jag) och allt rullar på bra.</p>
<p>Jag installerade Resurrection Remix och Open Gapps varefter jag bootade och allt var frid och fröjd. Till min glädje och rent ut sagt överraskning så fungerar rootandet med Magisk vilken är inbyggd i Resurrection Remix så pass bra att alla appar jag använder, även bank-appar fungerar som de ska.</p>
<h2>Efterspel</h2>
<p>Eller egentligen var allt inte <em>alldeles</em> bra. Första gången valde jag nämligen att installera en minimal variant av Open Gapps, men med "pico" fick jag problem med att få Exchange-synkroniseringen att fungera. E-posten gick ok, men varken kalender eller kontakter lyckades jag synkronisera. Dessutom ersätter inte "pico" några appar så man sitter sen där med två olika sätt att koppla upp sig mot Exchange. Ett från Gapps och ett från Gmail. På samma sätt har man två browsers efter att man installerat Chrome osv. Nä, då föredrar jag "stock" varianten av Open Gapps där Gmail och Chrome med mera finns från början och verkligen ersätter och tar bort de förhistoriska Android-relikerna med samma funktioner. En dag senare efter att jag sent om sider upptäckt problemet med Exchange gjorde jag alltså hela operationen igen, den gången med "stock"-varianten av Open Gapps och allt fungerade därefter utmärkt.</p>
<p>Några dagar senare är jag fortsättningsvis helt nöjd med resultatet av operationen även om den har inneburit ett sanslöst installerande och konfigurerande av över 200 appar. Den första nya Resurrection Remix-releasen på en månad kom förresten ut idag och inkluderade bl.a. Googles säkerhetsfixar från november. Annars verkar det ha släppts betydligt färre nya varianter av Resurrection Remix den senaste månaden. Jag gissar att utvecklarna har fullt upp med att flytta över till Oreo-källkod.</p>
<p>Och på tal om Oreo så annonserade OnePlus också just idag att de börjar släppa skarpa versioner Oreo för 3 och 3T. Lite ironiskt med tanke på att jag gav upp med deras Oreo för bara några dagar sedan. Jag är ändå nöjd med mitt val eftersom Resurrection Remix Nougat funktionsmässigt innehåller mera av det som är viktigt för mig. Jag prioriterar fungerande Bluetooth och, framför allt, "Do not disturb"-funktionalitet så som Google avsåg att det skulle fungera. Jag vet att många tycker om OnePlussarnas slider-knapp med tre lägen som kan användas för att bestämma hur ljudlig telefonen är. Själv hatar jag den och har hela året längtat tillbaka till att tiden på dygnet och bokningar i kalendern automatiskt ska bestämma om telefonen ska vara ljudlös eller normal</p>
<p>I början av 2018 lär väl användbara Oreo-varianter av Resurrection Remix börja hitta ut till olika telefoner. Blir väl att uppgradera då, men förhoppningsvis ska det gå lite smidigare.</p>AICP för hela slanten2016-01-29T00:00:00+02:002016-01-29T00:00:00+02:00Niklas 'Nicke' Sjostromtag:niklas.sjostrom.fi,2016-01-29:/articles/aicp-for-hela-slanten.html<p>Efter att sannolikt ha kört stock Android längre än på något annat Android-device någonsin (bra gjort Motorola) blev jag intresserad av att uppgradera till Marshmallow på min Moto X Style. Eftersom jag hade låst upp bootloadern, installerat TWRP som recovery och rootat min telefon skulle det dock ha inneburit att …</p><p>Efter att sannolikt ha kört stock Android längre än på något annat Android-device någonsin (bra gjort Motorola) blev jag intresserad av att uppgradera till Marshmallow på min Moto X Style. Eftersom jag hade låst upp bootloadern, installerat TWRP som recovery och rootat min telefon skulle det dock ha inneburit att med fastboot trycka tillbaka telefonen i ursprungsskick för att kunna köra in OTA (over the air) uppdateringen till Marshmallow.</p>
<p>När jag ändå hamnade att få händerna smutsiga passade jag samtidigt på att frångå Motorolas Android till förmån för AICP som var en ny bekantskap för mig. På sista tiden hade jag kört Resurrection Remix på t.ex. LG G2:an vilket jag var mycket nöjd med, men Moto X Stylen fanns inte bland deras Marshmallow-rommar när jag kollade i slutet av januari 2016. Det gjorde inte heller mina två plattor, dvs. första generationen av Nexus 7:an och Nexus 10:an, så Resurrection Remix föll bort totalt från min radar. AICP (Android Ice Cold Project) verkade vara de som hunnit längst med en Marshmallow ROM för Moto X Stylen. Dessutom hade de även Marshmallow ROM:ar till alla Android devices som jag använder:</p>
<ul>
<li>Motorolo Moto X Style (xt1572)</li>
<li>LG G2 International (d802)</li>
<li>Samsung S3 (i9300)</li>
<li>Nexus 7 2012 (grouper)</li>
<li>Nexus 10 (manta)</li>
</ul>
<p>Sagt och gjort AICP fick det bli. Började från mitt testdevice i9300:an som jag inte faktiskt fick att funger. Något med att "Unfortunately, Setup Wizard has stopped" vid boot efter att sett ut att gå alldeles bra så långt.</p>
<p>Enligt teorin om att dåligt genrep ger bra premiär beslöt jag dock att göra om alla andra grunkor. Först såg jag till att recoveryn TWRP var up to date på alla. Sedan säkerhetskoperade jag genom att både göra en Nandroid-backup med TWRP på alla partitioner och genom att med Titanium Backup säkerhetskopiera alla appar, inklusive data. De här säkerhetskopiorna tog jag till en USB-sticka som både har micro och vanlig USB i samma sticka. I mitt fall en Kingston DataTraveller microDuo. En sådan sticka är i mitt tycke nästan oumbärlig för att jobba med rootade Android-devices. Idealiskt borde man ha två för att undvika alla chanser till misttag. En för säkerhetskopior som sedan skulle sättas åt sidan och en för de images och annat som behövs vid flashandet av ny ROM.</p>
<p>Efter säkerhetskopierande var det bara att sätta igång. Eftersom det är länge sedan jag gjort en fullständigt clean install på vissa av grunkorna gjorde jag nu en sådan för alla, dvs.</p>
<ul>
<li>
<p>Preparera minnespinnen (ovan) på datorn med de AICP ROM:ar som
behövdes för olika devices samt lämpliga OpenGapps paket (64 bits
för Moto X Stylen). Dessutom kom modem att krävas för Moto X Stylen
och bootstack för D802.</p>
</li>
<li>
<p>Boota till TWRP-recovery. Full wipe av precis alla partitioner:
cache, dalvik cache, system, data och internal data. T.ex. internal
data skulle säkert inte ha behövts, men jag ville tömma bort allts
som samlats under åren och börja på nytt.</p>
</li>
<li>
<p>Mounta pinnen (USB-OTG) och installerade rätt AICP mm 11.0 2016-01-2X
för respektive device.</p>
</li>
<li>
<p>På Nexus 7:an och 10:an hamnade jag att kör TWRP:s Resize-funktion
under Wipe -> Advanced Wipe för att alls få in något slags Gapps att
rymmas i system.</p>
</li>
<li>
<p>OpenGapps Stock på telefonerna och medan plattorna fick nöja sig med
mindre versioner pga. utrymmesbrist. Micro på Nexus 10:an och minsta
Pico-varianten på Nexus 7:an.</p>
</li>
<li>
<p>Wipe Dalvik & Cache</p>
</li>
<li>
<p>Reboot och restore från Titanium Backup</p>
</li>
<li>
<p>Trimma och fila för att få alla systeminställningar som jag vill.</p>
</li>
</ul>
<p>Allt gick bra förutom LG G2:an och Moto X Stylen, de viktigaste naturligtvis.</p>
<p>På LG G2:an hamnade jag att ändra bootstack eller bootloader. Kommer inte ihåg exakt, men har nu något slags Lollipop bumped (tror jag).</p>
<p>På Moto X Stylen hade jag större problem. Efter Wipe Dalvik & Cache började den boota men kom aldrig förbi AICP-logon. Trixade på ett gott tag och provade bl.a. göra allt från scratch utan Gapps, men inget hjälpte. Restoreade min backup av Motorolas eget 5.1.1 som jag tog innan jag började. Som väntat bootade den snyggt, men utan radio. Ingen Wifi eller telefoni och under About fanns ingen versionsnummer för Broadband. Försökte åter installera modemen via TWRP, men inget gav något broadband. Upptäckte i samband med det här att om man bootar till fastboot så sa den uttryckligen att Broadband: None.</p>
<p>Jag drog slutsatsen att TWRP kanke inte gör allt korrekt vid installation av modem så tänkte fastboota in moden istället. Förutom lite problem med att använda Motorolas Fastboot.exe så lyckades jag till sist peta in Lollipop-modemet för EU vilket efter boot gav precis samma versionssträng som jag hade innan jag alls började. Nu fungerade också radiona i telefonen och jag var tillbaka till situationen före jag började. Men för att inte låta mina 5 timmar av arbete gå helt till spillo provade jag ändå att flasha Marhmallow EU-modemet och därefter AICP och OpenGapps enligt den ursprungliga planen. Och <em>då</em> bootar telefonen helt ok och allt verkar fungera. Kan det vara så att första försöket misslyckades pga. av avsaknad av fungerande modem? Och varför fixar TWRP inte modemen korrekt? Tog samtidigt och fastboot-flashade TWRP 2.8.7.1. Tror jag hade den redan tidigare med eftersom versionsnummern i den är fel så var jag inte säker på om var 2.8.7.0 eller .1. Det står alltså fortsättningsvis .0, men är garanterat .1.</p>
<p>Ett dygn senare har jag alla mina devices konfigurerade och är mycket nöjd med de funktioner AICP adderar till standard Android. Jag får nästan alla modifikationer som jag gjorde med Xposed-modulen GravityBox gjorda så skippar helt Xposed i det här skedet. Marshmallow är väldigt likt Lollipop, men förfinat och filat. Stabiliteten på AICP är också bra, ja rent av 100%:ig tillsvidare för alla fyra devices.</p>
<p>Mycket nöjd alltså! Ifall du behöver en tredjeparts-ROM till din Android-grunka så kolla in om AICP har den på menyn. Jag tror inte du blir besviken.</p>
<p>Updaterat 2016-02-02: Några dagar senare finns det både trovärdiga Resurrection Remix och CyanogenMod för Moto X Pure/Style. Är dock själv nöjd med AICP och fortsätter med den tills vidare.</p>Semantic Scuttle miniatyrbilder med WordPress.com2012-03-05T11:33:00+02:002012-03-05T11:33:00+02:00Niklas 'Nicke' Sjostromtag:niklas.sjostrom.fi,2012-03-05:/articles/semantic-scuttle-miniatyrbilder-med-wordpresscom.html<p><img alt="Empty" class="image-process-article-image" src="https://niklas.sjostrom.fi/images/Bookmark-»-niklassjostrom-photography-Google-Chrome_2012-03-05_09-32-391.jpg"></p>
<p>Det är ingen hemlighet att jag tycker om att självhosta allt tänkbart. Som ett led i det flyttade jag för några månader sedan alla mina bokmärken från <a href="https://delicious.com/" title="Delicious">Delicious</a> till en egen installation av <a href="http://sourceforge.net/projects/semanticscuttle/" title="Semantic Scuttle">Semantic Scuttle</a>. Det som blev ogjort i det skedet var att generera miniatyrbilder av webbplatserna bredvid varje …</p><p><img alt="Empty" class="image-process-article-image" src="https://niklas.sjostrom.fi/images/derivatives/article-image/Bookmark-»-niklassjostrom-photography-Google-Chrome_2012-03-05_09-32-391.jpg"/></p>
<p>Det är ingen hemlighet att jag tycker om att självhosta allt tänkbart. Som ett led i det flyttade jag för några månader sedan alla mina bokmärken från <a href="https://delicious.com/" title="Delicious">Delicious</a> till en egen installation av <a href="http://sourceforge.net/projects/semanticscuttle/" title="Semantic Scuttle">Semantic Scuttle</a>. Det som blev ogjort i det skedet var att generera miniatyrbilder av webbplatserna bredvid varje bokmärke. Det beslöt jag fixa idag.</p>
<p>Sematic Scuttle stöder utnyttjandet av <a href="http://www.artviper.net/" title="artViper">artViper</a> för att generera miniatyrbilder. ArtViper är visserligen fritt att använda för icke-kommersiella ändamål, men kräver att man registrerar sig. Registrerandet lyckades inte alls för mig så jag funderade över alternativa tjänster som skulle göra samma sak. I andra sammanhang har jag använt WordPress.com för att generera miniatyrbilder så jag beslöt prova det spåret.</p>
<p>WordPress.com miniatyrbilder visade sig vara mycket enkelt att tas i bruk. I korthet är det bara att byta ut filen <code>data/templates/default/bookmarks-thumbnail.inc.tpl.php</code> mot:</p>
<div class="highlight"><pre><span></span><code><span class="cp"><?php</span>
<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nv">$GLOBALS</span><span class="p">[</span><span class="s1">'enableWebsiteThumbnails'</span><span class="p">])</span> <span class="p">{</span>
<span class="k">return</span><span class="p">;</span>
<span class="p">}</span>
<span class="k">echo</span> <span class="s1">'<img class="thumbnail" o"="" onclick="window.location.href=\''</span><span class="/>.</span><span class="nb">htmlspecialchars</span><span class="p">(</span><span class="nv">$address</span><span class="p">)</span><span class="o">.</span><span class="s1">'\'" src="http://s.wordpress.com/mshots/v1/'</span><span class="o">.</span><span class="nb">urlencode</span><span class="p">(</span><span class="nb">htmlspecialchars</span><span class="p">(</span><span class="nv">$address</span><span class="p">))</span><span class="o">.</span><span class="s1">'?w=120" width="120" alt="" />'</span><span class="p">;</span>
<span class="cp">?></span>
</span></code></pre></div>
<p>och aktivera genererandet av miniatyrbilder genom att definiera <code>enableWebsiteThumbnails</code> till sant i <code>data/config.php</code></p>
<div class="highlight"><pre><span></span><code><span class="x"> $enableWebsiteThumbnails = true; </span>
</code></pre></div>
<p>Klart!</p>
<p>Observera att det här inte kräver någon installation av WordPress utan utnyttjar funktioner vid WordPress.com som är tillgängliga även för andra än WordPress-bloggare. Det kan också ta ett par minuter att generera miniatyrer så ge dig till tåls ett par minuter ifall vissa miniatyrer är svarta vid första sidladdningen.</p>
<p>Resultatet av mina bokmärken finns förresten på <a href="http://bookmark.sjostrom.fi/">bookmark.sjostrom.fi</a>.</p>CyanogenMod 7 på HTC Desire Z2012-01-15T13:23:00+02:002012-01-15T13:23:00+02:00Niklas 'Nicke' Sjostromtag:niklas.sjostrom.fi,2012-01-15:/articles/cyanogenmod-7-pa-htc-desire-z.html<p><img alt="Empty" class="image-process-article-image" src="https://niklas.sjostrom.fi/images/NS_D700_2011-05-04_4147.jpg"></p>
<p>Ungefär i samband med att jag fick min HTC Desire Z med Android 2.2 kom Google ut med 2.3:an, Gingerbread kallad. Det störde mig inte desto vidare då eftersom jag tyckte att 2.2:an fungerade alldeles bra och HTC lovade Gingerbread för andra kvartalet 2011. Efter …</p><p><img alt="Empty" class="image-process-article-image" src="https://niklas.sjostrom.fi/images/derivatives/article-image/NS_D700_2011-05-04_4147.jpg"/></p>
<p>Ungefär i samband med att jag fick min HTC Desire Z med Android 2.2 kom Google ut med 2.3:an, Gingerbread kallad. Det störde mig inte desto vidare då eftersom jag tyckte att 2.2:an fungerade alldeles bra och HTC lovade Gingerbread för andra kvartalet 2011. Efter hand har dock allt extra "skräp" som HTC sätter med börjat störa mig alltmer. Lite onödigt är t.ex. att det finns HTC-varianter som skiljer sig mestadels visuellt från Googles standard-applikationer. Vad som stör ännu mera är de extra applikationer som man tvingas dras med i stil med t.ex. Amazon MP3 som inte kan användas i min region (Finland), men ändå inte kan avinstalleras.</p>
<p>Jag har sneglat ett tag på <a href="http://www.cyanogenmod.com/" title="CyanogenMod">CyanogenMod</a>, men alltid kunnat behärska mig när jag börjat läsa igenom de relativt komplicerade instruktionerna för hur man rootar och installerar på HTC Desire Z. Men i.o.m. att CyanogenMod 7 nyligen kom ut i slutgiltig version blev det allt svårare att motstå. Att en bekant med en ZTE Blade installerade och konstaterade att det inte alls var så svårt fick mig slutligen att ge mig i kast med projektet. Halvvägs igenom började jag tycka att kompisen hade varit lite överslätande och att det trots allt var ganska trådigt och väldigt många steg. Efter att ha kollat in instruktionerna för ZTE Blade insåg jag att min HTC onekligen kräver <em>betydligt</em> mera jobb. Skulle jag köpa en ny Android-telefon idag skulle ett tungt vägande argument vara att den borde gå lätt att roota. (Och på tal om det så verkar HTC ha <a href="https://www.facebook.com/HTC/posts/10150307320018084" title="HTC root-friendly statement">sett ljuset</a>)</p>
<p>Men efter att ha följt instruktionerna på CyanogenMods webbplats till punkt och pricka och däremellan Googlat och dubbel-Googlat allt som kändes ens det minsta oklart har jag enligt boot-skärmen "uppgraderat" min HTC Desire Z från:</p>
<blockquote>
<p>VISION PVT SHIP S-ON
HBOOT-0.85.0010
MICROP-0425
RADIO-26.04.02.17_M2
eMMC-boot
Dec 27 2010,22:19:17</p>
</blockquote>
<p>till:</p>
<blockquote>
<p>VISION PVT SHIP S-OFF
HBOOT-0.85.0005
MICROP-0425
RADIO-26.03.02.26_M
eMMC-boot
Oct 11 2010,20:10:38</p>
</blockquote>
<p>Det mesta är alltså snäppet äldre, men vad som är viktigt och som inte syns är att den bootar CyanogenMod 7.0, dvs. en variant av Gingerbread.</p>
<p>Efter ett par dagar uppgraderade jag radion till 26.08.04.16_M även om det väl strängt taget inte var nödvändigt eller synligt ändrade på något.</p>
<p>Slutsaten efter två dagar av användning:</p>
<ul>
<li>Fungerande automatisk justering av ljusstyrkan som kan skräddarsys i
minsta detalj</li>
<li>Påtagligt snabbare användargränssnitt</li>
<li>ADW Launcher som jag tycker om</li>
<li>VPN med PPTP fungerar</li>
<li>Och framför allt inga extra program som inte kan avinstalleras</li>
</ul>
<p>Vissa av de här förbättringarna är nödvändigtvis inte CyanogenMod:s förtjänst utan kanske fungerar i HTC:s egen kommande Gingerbread.</p>
<p>Jag tog medvetet uppgraderingen som ett tillfälle att göra ordentlig vårstädning och tömde fullständigt telefonen i samband med uppgraderingen. Det här gjorde att förutom gällande de program som sparar sina inställningar i Goolge-profilen så var det en del att ställa in efteråt. Vissa inställningar önskar jag absolut att jag hade sparat undan som t.ex. allt fiffigt automatiserat som jag utförde med Tasker.</p>
<p>Är jag nöjd att jag rootade? Absolut! Skulle jag rekommendera att någon annan gör det? Tveksamt... De något motstridiga slutsatserna beror på att allt visserligen gick helt bra för mig, men med just den här telefonmodellen är det onekligen en hel del steg som kan gå fel.</p>
<p>Ett halvt år senare kunde jag inte vara nöjdare med min CyanogenMod:ade telefon. När jag fick en ZTE Blade som jobb-lur satte jag CyanogenMod även på den för att få båda telefonerna att fungera likadant. Nu väntar jag bara på att Cyanogen-gänget ska få ut version 9, d.v.s. Ice Cream Sandwich-versionen av sin utmärkta Android.</p>Ut med det gamla, in med det nya2011-01-08T11:07:00+02:002011-01-08T11:07:00+02:00Niklas 'Nicke' Sjostromtag:niklas.sjostrom.fi,2011-01-08:/articles/ut-med-det-gamla-in-med-det-nya.html<p><img alt="Empty" class="image-process-article-image" src="https://niklas.sjostrom.fi/images/NS_D200_2008-12-31_3514.jpg"></p>
<p>Lämpligt till början av det nya året har jag gjort en del ändringar i de verktyg jag använder. Katalysatorn för förändringarna är vår en månad gamla dotter som sett till att jag haft åtskilliga nattvakade timmar som gått att fylla med småpetande som det annars bara inte funnit tid för …</p><p><img alt="Empty" class="image-process-article-image" src="https://niklas.sjostrom.fi/images/derivatives/article-image/NS_D200_2008-12-31_3514.jpg"/></p>
<p>Lämpligt till början av det nya året har jag gjort en del ändringar i de verktyg jag använder. Katalysatorn för förändringarna är vår en månad gamla dotter som sett till att jag haft åtskilliga nattvakade timmar som gått att fylla med småpetande som det annars bara inte funnit tid för.</p>
<p>En genomgående tråd i alla de här förändringarna är vikten av synkronisering mellan flera olika datorer och även mobila miljöer i.o.m. att jag dagligen använder tre PC:n och mobilt både iDevices och Android.</p>
<h2>Firefox Sync -> Xmarks</h2>
<p>För att synkronisera bokmärken mellan Firefox på olika datorer använde jag långa tider Xmarks, men efter att de <a href="http://blog.xmarks.com/?p=1945">annonserade att de skulle stänga</a> ner tidigare under hösten flyttade jag över till Firefox Sync. Förutom problem med Sync som allt emellanåt slutade fungera eller ville skapa nya nycklar så är problemet med Firefox Sync att det, just det, är begränsat endast till Firefox. Så när Xmarks <a href="http://blog.xmarks.com/?p=2033">annonserade att de blivit uppköpta av LastPass</a> (som jag också använder) så registrerade jag snabbt ett nytt Xmarks-konto åt mig och övergav Firefox Sync utan en andra tanke. Vissa typer av bokmärken hade jag inkonsekvent nog dessutom i Google Bookmarks, men även de anförtroddes nu Xmarks. Efter att ha konfigurerat bort all extra "discovery"-funktionalitet och valt att synkronisera endast bokmärken fungerar allt nu precis som jag alltid velat.</p>
<h2>Firefox -> Chrome</h2>
<p>Jag är (eller "var" egentligen) en fanatisk Firefox-användare. Under åren har Firefox utrustats till max med tillägg och ställts in på alla tänkbara vis. Chrome har jag faktiskt använt, men endast i syfte att ha två sessioner med olika användare (typiskt "vanlig" användare och administratör) öppna till samma webbplats. Med jämna mellanrum när nya Chrome versioner ha annonserats och jag sett marknadsandelen stiga upp mot 10% har jag funderat på att övergå, men det har alltid känts som ett stort jobb och väldigt avlägset. Men helt plötsligt och till min egen förvåning är jag nu Chrome-användare som en följd av Xmarks-bytet ovan som gjorde att jag fick in mina bokmärken i Chrome och ett par timmars installation av (sist och slutligen relativt få) tillägg. Allt är kanske inte trimmat till döds ännu, men redan nu fungerar det lika bra som min tidigare Firefox-miljö och framför allt går allt avsevärt snabbare. På tal om synkronisering förresten så verkar Chrome egen synkronisering fungera utmärkt. Även om jag använder Xmarks för bokmärken så kör jag Chromes inbyggda synkronisering för tillägg och inställningar vilket sparar enormt mycket tid när det gäller att hålla flera datormiljöer så lika som möjligt. Den enda missen, som jag ser det nu, är att jag inte övergick till Chrome avsevärt tidigare.</p>
<h2>Windows Live Mesh -> Dropbox</h2>
<p>Under de senaste åren har jag hunnit använda mig av <a href="https://niklas.sjostrom.fi/articles/synkronisering-av-filer.html">åskilliga synkroniseringslösningar för filer</a>. Novell iFolder ersattes av Windows Live Sync som senare blev att heta Live Mesh. Eftersom Live Mesh inte stöder mobila enheter har jag dessutom de senaste månaderna parallellt kört SugarSync för att täcka den biten. Allas favorit Dropbox har också funnits installerad och även för mig fungerat enastående bra. Tyvärr har begränsningen med synkronisering av endast en folder-hierarki som dessutom alltid distribuerats till alla maskiner gjort att Dropbox inte uppfyllt mina behov. <a href="http://blog.dropbox.com/?p=581">Annonseringen i december</a> om stöd för selektiv synkronisering av foldrar ändrade dock en hel del för mig. Och genom att utnyttja <a href="http://wiki.dropbox.com/TipsAndTricks/SyncOtherFolders">tricket med junction points</a> som ger skenet av att synkronisera data även utanför Dropbox-foldern var jag mogen att ta i bruk Dropbox fullt ut och ersätta mitt tidigare överkomplicerade system. Tyvärr innebar det här också att gratis kontots kvot på 2GB snabbt blev för liten, men jag betalar gärna för en bra produkt.</p>
<p>Större ändringar är på gång framöver i.o.m. att vår bords-PC fick flytta till jobbet när vår kontorshörna togs i bruk av babyn. För tillfället bildbehandlar jag över Remote Desktop till PC:n på jobbet och även om det går överraskande bra så är det långt ifrån någon hållbar lösning. En bärbar PC eller iMac (jo, alternativen är bärbar PC eller bords-Mac) kommer sannolikt att ersätta, men eftersom ingen av de rymmer flera hårdskivor borde lagringen och nätet hemma också ses över. Spännade tider...</p>Migrera till WordPress 3 multisite2010-09-04T17:57:00+03:002010-09-04T17:57:00+03:00Niklas 'Nicke' Sjostromtag:niklas.sjostrom.fi,2010-09-04:/articles/migrera-till-wordpress-3-multisite.html<p><img alt="Empty" class="image-process-article-image" src="https://niklas.sjostrom.fi/images/NS_D700_2010-09-08_2370-Edit.jpg"></p>
<p>WordPress 3.x lanserades för några månader sedan fanns det förutom synliga nya finesser även en del förändringar bakom kulisserna. En av de stora var <a href="http://codex.wordpress.org/Custom_Post_Types">custom post types</a>, men här ska jag istället koncentrera mig på den för den vanliga bloggaren nästan osynliga multisite möjligheten.</p>
<p>Jag har inte mindre än …</p><p><img alt="Empty" class="image-process-article-image" src="https://niklas.sjostrom.fi/images/derivatives/article-image/NS_D700_2010-09-08_2370-Edit.jpg"/></p>
<p>WordPress 3.x lanserades för några månader sedan fanns det förutom synliga nya finesser även en del förändringar bakom kulisserna. En av de stora var <a href="http://codex.wordpress.org/Custom_Post_Types">custom post types</a>, men här ska jag istället koncentrera mig på den för den vanliga bloggaren nästan osynliga multisite möjligheten.</p>
<p>Jag har inte mindre än fem bloggar som alla kör WordPress. Med fem diskreta installationer av WordPress kändes det alltid som lite väl mycket möda att hålla allt uppdaterat. För ca. ett år sedan började jag därför fundera på att flytta allt till WordPress MU och testade också lite, men hade aldrig tid att bena ut alla detaljer för att riktigt komma till skott. Budskapet att den skilda MU-distributionen skulle försvinna, eller rättare sagt bli inkluderad i normal WordPress från och med version 3 gjorde också att jag satt planerna på hyllan i det skedet.</p>
<p>Nu när WordPress 3.x varit ute ett tag och jag hade lite extra tid i somras beslöt jag mig för att på allvar försöka mig på att migrera mina fem installationer av WordPress till en enda multisite-installation. Målen var framför allt att:</p>
<ul>
<li>minska på jobbet med att hålla plugins uppdaterade</li>
<li>förbättra prestanda genom att utnyttja det snålt tilltagna minnet i min hostade server effektivare</li>
<li>förenkla administrationen och skrivandet genom att bara behöva logga in en gång för att administrera alla bloggar</li>
</ul>
<p>Jag utnyttjade inte WordPress export och import-funktionaliteten för att flytta data mellan bloggarna eftersom jag tidigare haft problem och inte tyckt att den gjort ett bra jobb. Men den som står inför samma situation som jag kan gott börja med att <a href="http://codex.wordpress.org/Migrating_Multiple_Blogs_into_WordPress_3.0_Multisite">prova det</a> och se hur långt det bär.</p>
<p>Jag valde istället att göra en helt ny installation och endast ta över det nödvändiga, dvs. själva inläggen och de media-filer som laddats upp och refereras från dessa inlägg. Hela processen var i mitt tycke ganska smärtfri, men allt är relativt.</p>
<p>Om du vill göra något motsvarande så har jag här skrivit ner från minnet hur det gick till. Det rör sig inte om ett absolut steg för steg recept, men om du är lite van med WordPress och MySQL är det inte speciellt svårt. Som vanligt är det första och viktigaste steget att göra en säkerhetskopia på databaser och WordPress-installationer.</p>
<h2>Bakgrund</h2>
<p>Jag hade alltså fem vanliga WordPress-installationer som redan uppgraderats till 3.0 som jag ville flytta till en WP 3.0 installation med multisite-stöd.</p>
<p>Det gällde specifikt följande bloggar som tidigare var hostade som skilda domäner på Dreamhost.</p>
<ul>
<li><a href="http://fickludd.sjostrom.fi/">fickludd.sjostrom.fi</a></li>
<li><a href="http://klipptoklistrat.sjostrom.fi/">klipptoklistrat.sjostrom.fi</a></li>
<li><a href="http://niklas.sjostrom.fi/">niklas.sjostrom.fi</a></li>
<li><a href="http://stranden.sjostrom.fi/">stranden.sjostrom.fi</a></li>
<li><a href="http://teknobabbel.sjostrom.fi/">teknobabbel.sjostrom.fi</a></li>
</ul>
<p>Jag började med att installera WP multisite på sjostrom.fi enligt <a href="http://codex.wordpress.org/Create_A_Network">instruktionerna</a> på WordPress.org. Även om det ser lite långrandigt ut så består det i praktiken av att:</p>
<ul>
<li>installera en vanlig WordPress</li>
<li>modifiera wp-config.php för att göra multisite möjligt</li>
<li>logga ut/in</li>
<li>aktivera multisite</li>
<li>modifiera filerna <code>wp-config.php</code> och <code>.htaccess</code></li>
</ul>
<p>Om en vanlig WordPress installation tar 3 minuter att göra tar det visserligen kanske 3 gånger så länge att göra en multisite installation, men på 10 minuter ska det vara möjligt att få det gjort. Mycket enkelt alltså.</p>
<p>Multisite kan göras på ett av två sätt vilket måste bestämmas en gång för alla vid aktiveringen. Alternativen är att antingen göra varje blogg till en subblogg under huvudbloggen.</p>
<ul>
<li>http://sjostrom.fi/stranden</li>
<li>http://sjostrom.fi/teknobabbel</li>
</ul>
<p>eller också göra bloggarna till skilda subdomäner i huvuddomänen</p>
<ul>
<li>http://stranden.sjostrom.fi/</li>
<li>http://teknobabbel.sjostrom.fi/</li>
</ul>
<p>Eftersom jag ville att min bloggar skulle behålla sina gamla adresser var valet lätt; subdomän skulle det vara.</p>
<p>Problemet med subdomän-alternativet är att man måste få förändringar gjorda i domändatat så att t.ex. i mitt fall stranden.sjostrom.fi presenterar WordPress-installationen under sjostrom.fi. Någon vanlig vidarestyrning ("redirect") med omskrivning av url:en som följd duger inte eftersom WordPress måste se den ursprungliga url:en för att kunna presentera rätt blogg. S.k. jokertecken i domändatat rekommenderas, men det ville jag inte använda eftersom jag har andra (icke WordPress) sites på sjostrom.fi (t.ex. url-förkortaren strm.sjostrom.fi) som jag ville att skulle fortsätta att fungera. Lösningen för mig var att använda mirror-funktionen i Dreamhosts (där jag hostar) administrationspanel. Med den kunde jag styra om enbart de fem aktuella subdomänerna till sjostrom.fi och lämna de övriga orörda.</p>
<p>Med en ny fungerande WordPress var det sedan bara att logga in som SuperAdmin och definiera de fem bloggarna. Så här långt var allt väldigt rakt på sak.</p>
<h2>Hur multisite påverkar hur data lagras</h2>
<p>En liten paus för allmän information om hur en multisite-installation ändrar på hur data i databaser och filer lagras.</p>
<h3>Databasen</h3>
<p>Databasen i en normal "singel-installation" av WordPress innehåller tabeller med namn som börjar på wp_. I en multisite-installation har den ursprungsinstallationen tabeller med samma namn, medan övriga bloggar i samma installation har tabeller med namn börjande på wp_{ID}_ och där {ID} bestämmer vilken blogg tabellen hör till. Vilka {ID}:n som gäller för bloggar får man lätt reda på genom att i WordPress administratörsgränssnitt gå till SuperAdmin → Sites och notera ID och Domain-kolumnerna.</p>
<h3>Uppladdade filer</h3>
<p>De uppladdade filerna i en singel-installation av WordPress lagras i <code>/wp-content/uploads</code> mappen, medan uppladdade filer i en multisite-installation lagras i <code>/wp-content/blogs.dir/{ID}/files</code> mappen.</p>
<p>I en singel-installation av WordPress refereras uppladdade filer direkt med url:ar i stil med http://{BLOGG}.{DOMÄN}/wp-content/uploads/ där urlen direkt motsvarar mappstrukturen i filsystemet. För en multisite-installation gör WordPress däremot vidarestyrningar vilka variera beroende på om det rör sig om en submapp eller subdomän multisite-installation. För en submapp multisite-installation refereras uppladdade filer med urlar i stil med http://{DOMÄN}/{BLOGG}/files/ medan de för en subdomän multisite-installation refereras med http://{BLOGG}.{DOMÄN}/files/.</p>
<p>Ett konkret exempel för att belysa. Filen NS_D200_2010-02-28_5308-Edit.jpg ansluten till ett inlägg bloggat på Teknobabbel i mars 2010 skulle alltså lagras följande olika ställen beroende på installation.
- <code>/wp-content/uploads/2010/03/NS_D200_2010-02-28_5308-Edit.jpg</code>
(gammal singel-installation)
- <code>/wp-content/blogs.dir/4/files/2010/03/NS_D200_2010-02-28_5308-Edit.jpg</code>
(multisite installation oberoende av typ)</p>
<p>Samma fil skulle refereras i html-koden i inlägget som</p>
<ul>
<li>http://teknobabbel.sjostrom.fi/uploads/2010/03/NS_D200_2010-02-28_5308-Edit.jpg
(gammal singel-installation)</li>
<li>http://teknobabbel.sjostrom.fi/files/2010/03/NS_D200_2010-02-28_5308-Edit.jpg
(subdomän multisite-installation)</li>
<li>http://sjostrom.fi/teknobabbel/files/2010/03/NS_D200_2010-02-28_5308-Edit.jpg
(submapp multisite-installation)</li>
</ul>
<p>Förhoppningsvis någorlunda klart? Bra, då fortsätter vi.</p>
<h2>Exportera och importera data</h2>
<p>För varje blogg gjorde jag sedan följande för att flytta över mina inlägg och mina filer.</p>
<p>Jag dumpade följande tabeller från den gamla installationen av en blogg med phpMyAdmin i Dreamhosts administrationspanel.</p>
<ul>
<li>wp_comments</li>
<li>wp_links</li>
<li>wp_postmeta</li>
<li>wp_posts</li>
<li>wp_terms</li>
<li>wp_term_relationships</li>
<li>wp_term_taxonomy</li>
</ul>
<p>wp_commentmeta verkade i allmänhet tomma på mina bloggar så jag struntade i dem. Eftersom jag är den enda användaren brydde jag mig heller inte om att flytta över informationen i wp_users och wp_usermeta.</p>
<p>Jag adderade <em>Add DROP TABLE/VIEW/PROCEDURE/FUNCTION</em> till export-optionerna i phpMyAdmin, men körde annars med standard inställningar och valde att spara som fil.</p>
<p>Innan den sparade filen kunde laddas upp måste den modifieras lite för att laddas in i rätta tabeller i den nya installationens databas.</p>
<p>Jag editerade den dumpade filen med en text-editor och korrigerade <code>`wp_</code> till lämpligt <code>`wp_{ID}_</code> (apostrof för att hindra att t.ex. <code>_wp_</code> i tabelldata också byts ut). Här gäller det ändå att vara försiktig. I en av mina bloggars data finns en sträng som matchar men som inte ska bytas ut. Här liksom i instruktionerna i fortsättningen ska {ID} bytas ut mot den aktuella bloggens {ID}. Hoppa under inga omständigheter över det här steget eftersom du i så fall skriver över själva multisite-installationens tabeller.</p>
<p>Sedan importera jag den sparade filen till den nya installationens databas. Också här använde jag phpMyAdmin.</p>
<h2>Flytta uppladdade filer</h2>
<p>Jag flyttade över allt från den gamla installationens <code>/wp-content/uploads</code> mapp till den nya installationens <code>/wp-content/blogs.dir/{ID}/files.</code></p>
<p>Sedan hamnade jag att korrigera databasen så att inläggen korrekt refererar till de nyss flyttade filerna enligt beskrivningen ovan.</p>
<p>För en submapp-installerad MU-installation ändrar detta från t.ex. http://{BLOGG}.sjostrom.fi/wp-content/uploads/ till http://test.sjostrom.fi/{BLOGG}/files/. För en subdomän-installerad åter till http://{BLOGG}.sjostrom.fi/files/.</p>
<p>I mitt fall med en subdomän-installation gällde det alltså att köra SQL-kommandon i stil med (åter igen använde jag phpMyAdmin) och SQL-fliken där.</p>
<div class="highlight"><pre><span></span><code><span class="k">update</span><span class="w"> </span><span class="n">wp_</span><span class="err">{</span><span class="n">ID</span><span class="err">}</span><span class="n">_posts</span><span class="w"> </span><span class="k">set</span><span class="w"> </span><span class="n">POST_CONTENT</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">replace</span><span class="p">(</span><span class="n">POST_CONTENT</span><span class="p">,</span><span class="w"> </span><span class="s1">'http://{BLOGG}.{DOMÄN}/wp-content/uploads/'</span><span class="p">,</span><span class="w"> </span><span class="s1">'http://{BLOGG}.{DOMÄN}/files/'</span><span class="p">)</span>
</code></pre></div>
<p>Allt innnanför klamrar i meta-kommandot ovan ska naturligtvis bytas ut
så t.ex. i mitt fall så såg det konkreta kommandot ut så här:</p>
<div class="highlight"><pre><span></span><code><span class="k">update</span><span class="w"> </span><span class="n">wp_4_posts</span><span class="w"> </span><span class="k">set</span><span class="w"> </span><span class="n">POST_CONTENT</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">replace</span><span class="p">(</span><span class="n">POST_CONTENT</span><span class="p">,</span><span class="w"> </span><span class="s1">'http://teknobabbel.sjostrom.fi/wp-content/uploads/'</span><span class="p">,</span><span class="w"> </span><span class="s1">'http://teknobabbel.sjostrom.fi/files/'</span><span class="p">)</span>
</code></pre></div>
<p>Det kommandot gör är alltså att det går igen post_content-fälten i wp_4_posts-tabellen och byter ut http://teknobabbel.sjostrom.fi/wp-content/uploads/ mot http://teknobabbel.sjostrom.fi/files/.</p>
<h2>Lösa ändor</h2>
<p>Efter instruktionerna ovan hade jag alltså flyttat över allt mitt data (inlägg och bilder) för bloggarna. Ännu återstod att ominstallera alla plugins, teman och liknande. De här försökte jag inte ens migrera eftersom jag såg det som en direkt fördel att börja från tomt bord gällande plugins eftersom det under fem års användning samlats allt möjligt som fyllt wp_options-tabellen med skräp.</p>
<p>När WordPress görs multisite försvinner vissa inställningar från de enskilda bloggarnas "Settings" och flyttar istället till Super Adminens Sites-><blog>->Edit. Här hittas bl.a. localitet och ping-servrar. Ping servrarna verkar behöva radbyten och uppdateras nästan enklast direkt med SQL i stil med:</blog></p>
<div class="highlight"><pre><span></span><code><span class="k">update</span><span class="w"> </span><span class="n">mns_</span><span class="err">{</span><span class="n">ID</span><span class="err">}</span><span class="n">_options</span><span class="w"> </span><span class="k">set</span><span class="w"> </span><span class="n">option_value</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ss">"http://rpc.pingomatic.com/\nhttp://topicexchange.com/RPC2\nhttp://rpc.weblogs.com/RPC2\nhttp://blogsearch.google.com/ping/RPC2\nhttp://rpc.technorati.com/rpc/ping\nhttp://ping.weblogs.se/\nhttp://nyligen.se/ping/\nhttp://rpc.pingomatic.com\nhttp://rpc.twingly.com\nhttp://ping.bloggnytt.se\nhttp://rpc.aitellu.com"</span><span class="w"> </span><span class="k">where</span><span class="w"> </span><span class="n">option_name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ss">"ping_sites"</span>
</code></pre></div>
<p>I mina tidigare singel-installationer använde jag Thesis och WP Zooms Gallery som teman. Inget av dessa fungerade riktigt klockrent i en multisite-installation utan framför allt <a href="http://www.darrenhoyt.com/2008/04/02/timthumb-php-script-released/">TimThumb</a>-funktionen som dynamisk genererar olika storlekars bilder ställde till med problem. Sannolikt skulle problemen ha gått att lösa, men eftersom jag ändå funderat på att övergå till <a href="http://www.studiopress.com/themes/genesis">Genesis</a> temat genomgående beslöt jag att göra det samtidigt. Genesis och dess subteman har visat sig fungera utan problem även i en multisite-installation.</p>
<p>Efter några veckor med den nya multisite-installationen kan jag konstatera att det absolut var värt jobbet att göra konverteringen i.o.m. att de ursprungliga målsättningarna alla har uppfyllts.</p>Mina iPhone-favoriter2010-09-03T14:56:00+03:002010-09-03T14:56:00+03:00Niklas 'Nicke' Sjostromtag:niklas.sjostrom.fi,2010-09-03:/articles/mina-iphone-favoriter.html<p><img alt="Empty" class="image-process-article-image" src="https://niklas.sjostrom.fi/images/iTouch-applications.jpg"></p>
<p>Som komplement till listan över <a href="https://niklas.sjostrom.fi/articles/nokia-s60-program-som-overlevt-utrensning.html">mina favoriter bland Symbian-applikationerna</a> kommer här motsvarande lista för iPhone.</p>
<p>För Symbian-plattformen existerar det endast ett fåtal egentliga pärlor kompletterat av några hyggliga applikationer. För iPhonen är situationen den rakt motsatta med bokstavligen 100000-tals applikationer för allt tänkbart. Det säger sig självt att långt ifrån …</p><p><img alt="Empty" class="image-process-article-image" src="https://niklas.sjostrom.fi/images/derivatives/article-image/iTouch-applications.jpg"/></p>
<p>Som komplement till listan över <a href="https://niklas.sjostrom.fi/articles/nokia-s60-program-som-overlevt-utrensning.html">mina favoriter bland Symbian-applikationerna</a> kommer här motsvarande lista för iPhone.</p>
<p>För Symbian-plattformen existerar det endast ett fåtal egentliga pärlor kompletterat av några hyggliga applikationer. För iPhonen är situationen den rakt motsatta med bokstavligen 100000-tals applikationer för allt tänkbart. Det säger sig självt att långt ifrån alla av dessa är briljanta, men utbudet av riktigt bra applikationer är på en fundamentalt annan nivå.</p>
<p>Det viktiga med mobila applikationer är att de inte existerar i ett vakuum utan behöver fungerande och smidig synkronisering med motsvarande applikationer på en dator eller någonstans i molnet. Att ha någon viss typ av data eller funktion enbart på ett mobil enhet känns för mig inte bara osäkert utan också osmidigt eftersom det utan tvekan finns saker som är enklare ett göra vid ett ordentligt tangentbord, stor skärm och med en skrivare inom räckhåll.</p>
<p>Efter ett halv år med iPhonen gör jag saker som jag aldrig trodde att jag skulle göra med en telefon eller handdator. Det handlar mycket om att skärmen är tillräckligt stor och handhavandet är tillräckligt smidigt för att utnyttja all den döda tiden i vardagen till att göra nyttiga eller underhållande saker. Som plattform för den här typen av användning tror jag att iPhonen ännu ett bra tag kommer att vara oslagbar även om Android-lägret gjort stora framsteg det senaste året.</p>
<p>Observera att även om jag genomgående använder termen iPhone använder jag egentligen en iPod Touch. "iPhone" får helt enkelt representera namnet på applikationsplattformen. Men det är klart att avsaknaden av telefon, kamera och GPS utan tvekan har påverkat valet av favoriter nedan.</p>
<h2>Inbyggda applikationer</h2>
<h3>Safari</h3>
<p>Även om det börjar finnas alternativa webbläsare till iPhonen (t.ex. Opera) har jag aldrig sett någon orsak att se bortom Safari. Debatten om Flash-stöd, specifikt då avsaknaden av sådant, lämnar mig också ganska oberörd.</p>
<h3>Music</h3>
<p>Jag använder Music ganska mycket men inte alls till det som namnet antyder. Musik lyssnar jag nämligen på nästan uteslutande med Spotify, Music använder jag för ljudböcker och podcasts. Ingendera lyssnade jag egentligen alls på före jag skaffade iPhonen, men tack vare det smidiga handhavandet på iPhonen gör jag det däremot nu allt mer.</p>
<h2>Sociala nätverk</h2>
<h3>Facebook</h3>
<p>Facbooks officiella applikation gör ett ganska komplett jobb av att överföra Facebook-upplevelsen till iPhone. Den fungerar utan extra glam, men smidigt och funktionellt.</p>
<h3>Twitter for iPhone (tidigare Tweetie)</h3>
<p>Bland alla utmärkta applikationer för att kolla Twitter på iPhonen är Tweetie för mig den överlägsna vinnaren. Läsandet och sparandet av längre saker till Read It Later går att utföra med några enstaka gester och programmet understöder flera konton vilket för mig är ett absolut krav. Tweetie hann bli Twitter for iPhone under skrivandet av det här inlägget i.o.m. att Twitter har tagit över utvecklingen av den. Samtidigt blev den gratis vilket jag hoppas att inte innebär att den kommer att fyllas med annonser och annat skräp efter hand.</p>
<h3>Twitterrific</h3>
<p>Förutom Tweetie använder jag också Twitter-applikationen Twitterrific. Medan Tweetie innehåller Twitter-konton får Twittirrific sköta mina StatusNet-konton. Twitterrific är nämligen en riktigt bra Twitter-klient som också hanterar StatusNet-konton bättre än de flesta riktiga applikationer för den tjänsten. Eftersom StatusNet (tidigare Identi.ca) långt är API-kompatibelt med Twitter går det i praktiken att använda många Twitter-applikationer förutsatt att de tillåter specificerande av en API-url. Även Tweetie går att använda, men råddar till det ifall man har samma användarnamn för olika tjänster vilket jag har och alltså är orsaken till att jag använder en skild app för StatusNet.</p>
<p>Orsaken till att jag alls använder StatusNet är att den alltså är en Twitter-liknande tjänst som går att hosta själv och göra privat för en mindre grupp användare. För tillfället använder vi den i testsyfte för intern kommunikation på jobbet.</p>
<h3>BuddyFeed</h3>
<p>En gång i tiden var jag en aktiv anhängare av FriendFeed. Sedan tog Facebook över och som de säger "The rest is history...", men ibland som tidsfördriv vill jag kolla in aktiviteten på FriendFeed och då använder jag i allmänhet BuddyFeed.</p>
<h3>Buzzie</h3>
<p>Med FriendFeed mer eller mindre dött försöker Google fylla gapet med Buzz. Personligen tycker jag ännu inte att de riktigt lyckas få ihop det på ett sätt som lockar mig, men visst finns där potential. Gällande iPhone-applikationer för Google Buzz väntar jag ännu på den optimala, men Buzzie fyller behovet ganska väl under väntetiden.</p>
<h3>my6sense</h3>
<p>När jag inte alls hinner följa med Twitter eller Google Reader, men ändå vill ha något slags koll på vad som hänt det senaste dygnen drar jag igång my6sense. Artificiell intelligens eller inte, men oftast lyckas my6sense faktiskt ge mig en ganska bra sammanfattning på vad som händer och är relevant för mig.</p>
<h2>Blogga</h2>
<h3>WordPress for iPhone</h3>
<p>Nyttig, men inte oumbärlig. Utmärkt för att kolla kommentarer och godkänna eller förkasta sådana. Några längre inlägg är jag ändå inte bekväm med att skriva på iPhone-skärmen så jag har inget behov av att posta regelrätta blogginlägg den här vägen.</p>
<h2>Läsa</h2>
<h3>Kindle</h3>
<p>Ytterligare en användning för iPhonen jag inte hade förutsett. Jag läser nu ofta böcker med Kindle och vad som gör det ännu mera oväntat att jag egentligen inte läste böcker tidigare. Jag ville visserligen göra det, men hade aldrig tid. Kindle löser det problemet fullständigt. Det går att läsa var som helst och hur korta snuttar som helst. På några sekunder är iPhonen ur fickan och Kindle igång precis där jag slutade senast. Synkandet med Kindle på andra plattformer fungerar också väldigt smidigt och jag kan knappt vänta på att iPad:en ska släppas i Europa för att få allt i ett lite större format. Enda nackdelen som jag ser det är att böcker för Kindle konstigt nog inte just alls är billigare än den traditionella pappersversionen.</p>
<h3>ComiXology</h3>
<p>Bästa sättet att beskriva ComiXology är som Kindle för serier. Samma fördelar, med bonusfördelen att de elektroniska seriemagasinen är avsevärt billigare än pappersversionen. Manövrerandet av de ofta väldigt olinjära seriesidorna är en utmaning för de som preparerar dem för läsning på iPhonen, men oftast fungerar allt överraskande smidigt.</p>
<h3>Reeder</h3>
<p>Jag är en storkonsument av Google Reader. Jag var därför lite besviken när jag aldrig höll på att hitta den optimala applikationen för läsande av Google Reader på iPhonen. Den senaste versionen av Reeder ändrar dock det totalt. Tillsammans med Tweetie (Twitter for iPhone) tycker jag att Reeder är den av alla iPhone-applikationer som utnyttjar gränssnittet på ett verkligt effektivt och smidigt sätt. I praktiken skummar jag idag oftast Google Reader med just Reeder på iPhonn och sparar de intressanta artiklarna till Read it Later för senare läsning.</p>
<h3>Read It Later</h3>
<p>Ofta när jag snavar över något intressant på nätet vill eller har jag inte möjlighet att läsa det just då. Många använder Instapaper eller någon speciell etikett i t.ex. delicios för att spara undan sådan artiklar, men jag föredrar Read it Later. Det passar mitt sätt att arbeta alldeles perfekt. Under mera stressade veckor kan jag samla på mig upp mot 300 artiklar att läsa som jag sedan läser igenom när det blir läge för det. Även på iPhonen sparar jag undan en massa att läsas senare och lyckligtvis stöder de flesta applikationer även där Read it Later. Read it Later applikationen för iPhonen behövs alltså inte för att spara artiklar utan för att läsa de artiklar som sparats tidigare. Att alltid ha text-versionerna av de artiklar som sparats i Read it Later med sig i fickan är ett utmärkt sätt att få material läst genom att utnyttja dödtid.</p>
<h2>Media</h2>
<h3>Spotify</h3>
<p>Spotify är orsaken till att jag inte alls använder iTouchen som en traditionell iPod. För månadsavgiften på ca 10€ får jag suveränt smidig tillgång till otroliga mängder musik. Hålen i Spotifys utbud kompletterar jag visserligen med mp3:or (från bl.a. eMusic) för hemmabruk, men till iTouchen hittar de sällan.</p>
<h3>Flickit Pro</h3>
<p>Elegant och snabbt sätt att göra ungefär allt du normalt vill göra på Flickr. Det ultimata tidsfördrivet.</p>
<h2>Övrigt</h2>
<h3>Todo/Notebook</h3>
<p>Förutom spel känns det som om kategorin kom-ihåg och anteckna är den kategori som har nästan mest produkter på Apples App Store. Jag har provat ett otal, men kommer alltid tillbaka till Appigos radarpar Todo och Notebook. De synkroniseras båda mot <a href="http://www.toodledo.com/">Toodledo</a>.</p>
<h3>SplashID</h3>
<p>Ända sedan jag började använda Palm Pilot grunkor har jag använd SplashID som allmänt verktyg för att lagra lösenord, licenskoder m.m. på ett säkert sätt. Jag vet inte om SplashID nödvändigtvis är det bästa alternativet idag (KeePass, 1Password), men vanans makt har gjort att jag fortsatt med SplashID. I praktiken fungerar det också riktigt bra; även synkroniseringen med PC-versionen.</p>Egen url-förkortare med YOURLS2010-03-10T11:48:00+02:002010-03-10T11:48:00+02:00Niklas 'Nicke' Sjostromtag:niklas.sjostrom.fi,2010-03-10:/articles/egen-url-forkortare-med-yourls.html<p><img alt="Empty" class="image-process-article-image" src="https://niklas.sjostrom.fi/images/NS_D200_2010-02-28_5308-Edit.jpg"></p>
<p>Efter att ha testat bit.ly Pro som ger möjlighet att använda ett eget domännamn som url-förkortare beslöt jag att ta steget fullt ut och hosta min egen.</p>
<p>För ungefär ett halvt år sedan kollade jag alternativen, men tyckte inte då att det fanns något som kändes tillräckligt polerat och …</p><p><img alt="Empty" class="image-process-article-image" src="https://niklas.sjostrom.fi/images/derivatives/article-image/NS_D200_2010-02-28_5308-Edit.jpg"/></p>
<p>Efter att ha testat bit.ly Pro som ger möjlighet att använda ett eget domännamn som url-förkortare beslöt jag att ta steget fullt ut och hosta min egen.</p>
<p>För ungefär ett halvt år sedan kollade jag alternativen, men tyckte inte då att det fanns något som kändes tillräckligt polerat och under aktiv utveckling för att vara värt att satsa på, men de senaste månaderna har jag hört en hel del gott om <a href="http://yourls.org/">YOURLS</a> och beslöt mig för att prova sätta upp min egen privata url-förkortare.</p>
<p>Till att börjas med gällde det att hitta ett lämpligt, och framför allt kort, domännamn för ändamålet. Eftersom jag normalt hostar allt på sjostrom.fi så beslöt jag att registrera strm.fi som en kort variant av det. Även om det inte är jättekort, framför allt jämfört med t.ex. j.mp så blir ändå de slutliga urlarna lika korta eftersom jag med en egen domän klarar mig ett gott tag på strm.fi (7 tecken) följt av 2-3 tecken, medan en url förkortad med j.mp (4 tecken) idag måste följas av minst 6 tecken för att vara unik.</p>
<p>Med en egen domän att hosta yourls på och tillgång till PHP och MySQL var den egentliga installationen en bagatell. Man kan välja att göra YOURLS tillgänglig för alla eller skyddad med användarnamn och lösenord. Jag valde att göra min installation privat. Med YOURLS bookmarklet går det sedan smidigt att skapa korta urlar av webbsidor. Förutom att urlen naturligtvis kan genereras automatisk går det också att manuellt specificera mera förklarande urlar om så önskas. Det går också att direkt posta den förkortade url:en vidare till Twitter, FriendFeed eller Facebook. Admin-gränssnittet ger sedan utförlig statistik gällande hur de olika förkortade url:arna har använts (antal klick, geografisk fördelning, m.m.). Efter en månads användning måste jag säga att jag tycker att det fungerar mycket bra. Framför allt som YOURLS även går att integrera smidigt med andra verktyg jag använder.</p>
<h2>Tweetie 2 för iPhone</h2>
<p>Tweetie 2 som är min oftast använda Twitter-klient på iPhonen ger möjlighet att specificera en "Custom" url-förkortare och följer man <a href="http://blog.mirthlab.com/2009/10/09/using-yourls-with-tweetie-2-for-iphone/">instruktionerna</a> så fungera en egen YOURLS-installation precis lika smidigt och transparent som t.ex. bit.ly. Tyvärr har jag inte hittat andra Twitter-klienter som ger möjlighet att fritt specificera sin egen url-förkortare vilket verkligen är synd. Om någon känner till sådana är jag intresserad.</p>
<h2>Twitter Tools för WordPress</h2>
<p>För mina WordPress-bloggar använder jag <a href="http://wordpress.org/extend/plugins/twitter-tools/">Twitter Tools</a> av Alex King för att bl.a. posta till Twitter om att ett nytt blogginlägg lagts ut. Twitter Tools understöder inte YOURLS direkt, men efter lite Googlande hittade jag <a href="http://www.johngirvin.com/blog/archives/yourls-for-twitter-tools-update-1-1.html">John Girvins tillägg</a> som gör jobbet så att även Twitter-uppdateringarna utnyttjar min egen url-förkortare.</p>
<p>Med min installation (Twitter Tools 2.2.1 och Twitter Tools YOURLS 1.1) hade jag tyvärr lite problem med JSON-funktionerna vilka har ändrat lite i WordPress 2.9 och gett vissa plugins problem. Om du får ett felmeddelanden vid postning av ett inlägg eller det bara inte dyker upp i Twitter kanske du har samma problem som jag.</p>
<p>Båda de nedan föreslagna lösningarna fungerade för mig, men den senare är bra mycket enklare så prova den först.</p>
<p>Första försöket till lösning byggde på att jag laddade ner <a href="http://pear.php.net/pepr/pepr-proposal-show.php?id=198">Pear:s JSON paket</a>. Packade upp det och strök allt utom filen JSON.php som jag placerade i samma mapp som twitter-tools-yourls pluginen. Sedan adderade jag följande rad till twitter-tools-yourls.php ganska i början, men efter definitionen av PLUGINDIR</p>
<div class="highlight"><pre><span></span><code><span class="k">if</span><span class="p">(</span><span class="w"> </span><span class="o">!</span><span class="nx">class_exists</span><span class="p">(</span><span class="s1">'Services_JSON'</span><span class="p">)</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="nx">include</span><span class="w"> </span><span class="p">(</span><span class="nx">ABSPATH</span><span class="w"> </span><span class="p">.</span><span class="w"> </span><span class="nx">PLUGINDIR</span><span class="w"> </span><span class="p">.</span><span class="w"> </span><span class="s1">'/twitter-tools-yourls/JSON.php'</span><span class="p">);</span>
</code></pre></div>
<p>Senare upptäckte jag ett ännu enklare alternativ till fix som åtminstone fungerade på min PHP-version, dvs. att direkt utnyttja PHP:s inbyggda json-funktioner. För att göra det så gäller det att från <code>twitter-tools-yourls.php</code> helt stryka raden</p>
<div class="highlight"><pre><span></span><code><span class="nx">$json</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ow">new</span><span class="w"> </span><span class="nx">Services_JSON</span><span class="p">();</span>
</code></pre></div>
<p>och sedan ändra raden</p>
<div class="highlight"><pre><span></span><code><span class="nx">$result</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$json</span><span class="o">-&</span><span class="nx">gt</span><span class="p">;</span><span class="nx">decode</span><span class="p">(</span><span class="nx">$snoop</span><span class="o">-&</span><span class="nx">gt</span><span class="p">;</span><span class="nx">results</span><span class="p">);</span>
<span class="nx">$result</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">$json</span><span class="o">-&</span><span class="nx">gt</span><span class="p">;</span><span class="nx">decode</span><span class="p">(</span><span class="nx">$snoop</span><span class="o">-&</span><span class="nx">gt</span><span class="p">;</span><span class="nx">results</span><span class="p">);</span>
</code></pre></div>
<p>till</p>
<div class="highlight"><pre><span></span><code><span class="nx">$result</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">json_decode</span><span class="p">(</span><span class="nx">$snoop</span><span class="o">-&</span><span class="nx">gt</span><span class="p">;</span><span class="nx">results</span><span class="p">);</span>
</code></pre></div>
<p>Tillägg 2011-03-28: Kolla in <a href="http://remkusdevries.com/how-to-setup-tweetdeck-with-yourls/" title="Remkus de Vries">Remkus de Vries</a> instruktioner om hur YOURLS kan användas tillsammans med TweetDeck. De kan sannolikt anpassas för användning på andra ställen där API-url kan specificeras.</p>Spotify + Squeezebox = nästan sant2009-12-10T12:48:00+02:002009-12-10T12:48:00+02:00Niklas 'Nicke' Sjostromtag:niklas.sjostrom.fi,2009-12-10:/articles/spotify-squeezebox-nastan-sant.html<p><img alt="Empty" class="image-process-article-image" src="https://niklas.sjostrom.fi/images/NS_D200_2009-12-21_48891.jpg"></p>
<p>Uppdaterat oktober 2010: Metoden som beskrivs nedan behövs i praktiken inte längre. Åtminstone inte för de av oss som har Spotify Premium och alltså kan utnyttja <a href="http://forums.slimdevices.com/showthread.php?s=d34993d7a487a37854f7804909c9738b&t=79706">Triodes plugin</a> för Squeezebox Server.</p>
<p>Nu är det inte fullt så bra som rubriken låter antyda, dvs. alla som hoppas (och det är ganska …</p><p><img alt="Empty" class="image-process-article-image" src="https://niklas.sjostrom.fi/images/derivatives/article-image/NS_D200_2009-12-21_48891.jpg"/></p>
<p>Uppdaterat oktober 2010: Metoden som beskrivs nedan behövs i praktiken inte längre. Åtminstone inte för de av oss som har Spotify Premium och alltså kan utnyttja <a href="http://forums.slimdevices.com/showthread.php?s=d34993d7a487a37854f7804909c9738b&t=79706">Triodes plugin</a> för Squeezebox Server.</p>
<p>Nu är det inte fullt så bra som rubriken låter antyda, dvs. alla som hoppas (och det är ganska många) att Spotify ska ha börjat stöda Squeezeboxen fullt ut på samma sätt som t.ex. iPhonen och nu senast Symbian S60 telefoner riskerar bli besvikna. Men med hjälp av DSBridge kommer man åtminstone en bra bit på väg gällande att få Spotify över till Squeezeboxen. Enbart ljudet dock, du måste fortsättningsvis använda datorn för att välja vad du lyssnar på. Desstuom fungerar DSBridge enbart för Windows, även om det kanske finns motsvarande lösningar i Mac-världen.</p>
<p>Börja med att ladda ner nyaste versionen av <a href="http://code.google.com/p/dsbridge/">DSBridge</a>. Just nu verkar det vara <a href="http://dsbridge.googlecode.com/files/dsbridge-20090727-bin.zip">20090727-bin.zip</a>. Förutom DSBridge behöver du LAME MP3-enkodaren. Jag valde att ladda ner den från <a href="http://www.free-codecs.com/download/Lame_Encoder.htm">codecs.com</a> och åtminstone version <a href="http://www.free-codecs.com/download_soft.php?d=5195&s=22">3.98.2</a> har fungerat bra för mig.</p>
<p>Leta reda på mappen där Spotify finns installerad. I de flesta fall <code>C:\Program Files\Spotify</code>. I den här mappen placerar du filerna <code>dsbridge.ini</code> och <code>dsound.dll</code>från DSBridge-arkivet och filen <code>lame_enc.dll</code> från LAME-arkivet.</p>
<p>Nu är du färdig med inställningarna på Windows-datorn där Spotify körs. Det återstår ännu att definiera en favorit på Squeezeboxen för att få det här att fungera smidigt. Surfa till webbgränssnittet för Squeezebox Server, välj Favorites, Edit, New Favorite och definiera en favorit med namnet Spotify med urlen till port 8124 på den maskin där Spotify/DSBridge kör t.ex. http://localhost:8124/ ifall Spotify och Squeezebox Server kör på samma maskin.</p>
<p>Nu är du färdig med förberedelserna och äntligen klar att använda vad du ovan åstadkommit. Starta bara Spotify på vanligt vis. I nedre högra kanten av skärmen borde du förutom Spotify-ikonen ha ytterligare en blå rund ikon. Välj sedan Favoriten du definierade ovan på Squeezeboxen. Om allt går bra borde den runda ikonen på PC:n ändra färg till grönt och Squeezeboxen spela vad du än spelar i Spotify.</p>Nokia S60-program som överlevt utrensning2009-08-25T16:00:00+03:002009-08-25T16:00:00+03:00Niklas 'Nicke' Sjostromtag:niklas.sjostrom.fi,2009-08-25:/articles/nokia-s60-program-som-overlevt-utrensning.html<p><img alt="Empty" class="image-process-article-image" src="https://niklas.sjostrom.fi/images/NS_DMC-FZ18_2009-11-15_305661.jpg"></p>
<p>I många år använde jag olika Windows Mobile och Palm Treo-telefoner med något slag QWERTY-liknande tangentbord. När jag sökte mig tillbaka till Nokia-fållan gjorde jag först misstaget att ta en telefon utan tangentbord, men korrigerade det i våras när E75:an lanserades. Utrustad med tangentbord gav jag mig snabbt på …</p><p><img alt="Empty" class="image-process-article-image" src="https://niklas.sjostrom.fi/images/derivatives/article-image/NS_DMC-FZ18_2009-11-15_305661.jpg"/></p>
<p>I många år använde jag olika Windows Mobile och Palm Treo-telefoner med något slag QWERTY-liknande tangentbord. När jag sökte mig tillbaka till Nokia-fållan gjorde jag först misstaget att ta en telefon utan tangentbord, men korrigerade det i våras när E75:an lanserades. Utrustad med tangentbord gav jag mig snabbt på jakt efter program att utnyttja telefonen till annat än samtal. Fyra månader och säkert 40 olika installerade program senare finns det några få som överlevt alla utrensningar. ProfiMail och Gravity använder jag kontinuerligt så det är kanske passande att de också är de av programmen här som kostar att använda fullt ut -- de övriga är gratis.</p>
<p>Förutom programmen listade nedan använder jag också aktivt vissa Google program (Google Maps t.ex.) och naturligtvis många av de som Nokia utrustat telefonen med (Maps igen...; Nokia Maps).</p>
<h2>ProfiMail</h2>
<p>Telefonen kommer visserligen med en inbyggd e-post, men den andra generationen av Nokia Messaging var ännu ganska omogen när jag fick telefonen i våras. Allmänna e-post-konton (GMail, ...) stöddes visserligen väldigt smidigt, men det var i det närmaste omöjligt att addera företagstjänster som inte var Exchange-baserade. Efter några uppgraderingar fungerar Nokia Messaging nu avsevärt bättre har jag förstått, men för mig är det för sent; jag är redan förlorad för Nokia.</p>
<p>När jag stred som mest med den alltför "fiffiga" Nokia Messaging rekommenderade nämligen en kollega <a href="http://www.lonelycatgames.com/?app=profimail">ProfiMail</a> och sedan dess har jag varit såld. Utseendet är kanske inte det mest eleganta, men till skillnad från Messaging som mest känns som att läsa e-posten som glorifierade SMS så känns ProfiMail som ett fullfjättrat e-post-program där det mesta går att göra. Med multipla IMAP-konton från jobbet och GMail som alla stöder IMAP IDLE-funktionalitet finns e-posten alltid i realtid med i fickan.</p>
<h2>Gravity</h2>
<p>En bra <a href="http://www.twitter.com/">Twitter</a>-klient stod högt på önskelistan i ett tidigt skede. Det finns många att välja på, men<a href="http://mobileways.de/products/gravity/gravity/">Gravity</a> står klart över de andra som det mest kompletta alternativet med en effektivt och snyggt presentation.</p>
<p>Förutom Twitter stöder Gravity även <a href="http://identi.ca/">Identi.ca</a> och <a href="http://www.facebook.com/">Facebook</a>. Twitter-funktionaliteten är dock den mest kompletta och som flitig Identi.ca-användare skulle jag desperat vilja se användarprofiler implementerade även för den tjänsten.</p>
<h2>Slick</h2>
<p>Även om många multiklienter som t.ex. <a href="http://www.fring.com/">Fring</a> innehåller stöd för de vanligaste instant messaging tjänsterna har jag valt att använda ett skilt program för att slippa alla extra funktioner jag ändå inte använder. <a href="http://www.lonelycatgames.com/?app=slick">Slick</a> är ett program som stöder GTalk, Jabber, Yahoo, MSN och AIM/ICQ och gör det effektivt och bra. Programmet utvecklas av <a href="http://www.lonelycatgames.com/">Lonely Cat Games</a> som även gör ProfiMail och med det delar Slick konceptet att funktion går före form. Programmet är under utveckling och är åtminstone än så länge gratis att använda.</p>
<h2>Nokia Sports Tracker</h2>
<p>Om du motionerar eller (som i mitt fall) funderar på att börja och behöver en liten extra sporre är <a href="http://sportstracker.nokia.com/">Nokia Sports Tracker</a> ett intressant program. Sports Tracker gör det väldigt lätt att få en träningsdagbok för mitt gående/springande och cyklande. Programmet ger tillsammans med GPS och rörelsesensor ändlösa mängder med statistik som dessutom kan laddas upp till nätet för en mera grafisk presentation av ansträngningarna.</p>
<h2>Putty</h2>
<p>Inget för gemene man, men väldigt viktigt i mitt jobb för att få SSH-kontakt med någon server eller nätkomponent. Skärmen och tangentbordet begränsar längre användning, men för några akuta nödkommandon är <a href="http://s2putty.sourceforge.net/">Putty</a> en livräddare.</p>Synkronisering av filer2009-03-23T14:13:00+02:002009-03-23T14:13:00+02:00Niklas 'Nicke' Sjostromtag:niklas.sjostrom.fi,2009-03-23:/articles/synkronisering-av-filer.html<p>Tidigare när jag mest använde en dator var allt ännu ganska bra under kontroll, men den senaste tiden använder jag mer eller mindre aktivt fem olika datorer och efter ett tag blir det verkligen en soppa av filer, bokmärken och annat som är utspridda på de olika maskinerna, men aldrig …</p><p>Tidigare när jag mest använde en dator var allt ännu ganska bra under kontroll, men den senaste tiden använder jag mer eller mindre aktivt fem olika datorer och efter ett tag blir det verkligen en soppa av filer, bokmärken och annat som är utspridda på de olika maskinerna, men aldrig finns tillhanda på just den maskinen där jag för tillfället behöver dem. Här koncentrerar jag mig på filer av olika slag.</p>
<p>Nyligen tog jag och samlade ihop och sorterad upp allt under en egen “My” hierarki under mitt användarkonto på Windows. Jag föredrar en egen hierarki framom Windows “My Documents” (eller motsvarande) eftersom dit även placeras annat som jag inte har någon kontroll över. Under min egen My-hierarki har jag däremot endast dokument, bilder m.m. som jag uttryckligen skapat själv.</p>
<p>Det var första steget, men sen återstod problemet med att få med mig My-hierarkin till alla maskiner jag använder. Någon form av automatisk filsynkronisering behövdes alltså och uttryckligen då inte något i stil med <a href="http://www.microsoft.com/prophoto/downloads/synctoybeta.aspx">SyncToy</a> som måste köras manuellt utan någon lösning som skulle sköta sig mer eller mindre automatiskt. Som tur är finns det många riktigt bra lösningar att välja mellan. Ja det finns nästan <em>för</em> många upptäckte jag snabbt, men jag provade mig ändå igenom ganska många innan fastnade för min valda lösning.</p>
<p>Gemensamt för alla lösningar är att de på sätt eller annat upptäcker när filer ändras och uppdaterar dem på alla andra maskiner. Ofta fungerar det så att filerna lagras på en server ditt uppdateringarna sänds och därifrån sedan uppdateringen av andra maskiner sker. I praktiken skötte alla testade program synkroniseringen bra i min användning. Gällande hur bra de klarar av samtidiga konfliktande uppdateringar eller låsta filer lämnar jag osagt. Likaså understöder de flesta applikationer möjligheter att dela filer med andra, men inte heller det intresserade mig i det här sammanhanget.</p>
<h2>Microsoft Windows Live Sync</h2>
<p><a href="http://sync.live.com/">Windows Live Sync</a> är egentligen det nya namnet på FolderShare som Microsoft köpte för flera år sedan. Live Sync lagrar intressant nog inte själva datat på någon central server hos Microsoft. Endast informationen om vilka datorer och mappar som deltar i synkroniserandet lagras centralt. I övrigt bygger tekniken på att datorerna synkroniserar automatiskt med varandra när minst två parter i synkroniseringsförhållandet är online samtidigt. För att Live Sync ska fungera bra krävs det nästan alltså att du har någon dator som är påslagen mer eller mindre hela tiden och fungerar som server. Allt data är då åtminstone up-to-date på en maskin därifrån de andra kan uppdatera sig när de har behov.</p>
<p>Fördelen med Live Sync jämfört med alla andra tekniker i den här jämförelsen är att programmet är gratis och eftersom det inte heller finns några kostnader för datalagring eftersom allt sker lokalt på dina egna maskiner så förblir lösningen gratis även för stora datamängder. Något som för de andra produkterna i den här jämförelsen redan börjar kosta konkreta summor. En begränsning på totalt 20 olika mappar med högst 20000 filer per mapp finns visserligen. För synkronisering av oändliga mängder filer t.ex. digifoton lämpar sig alltså inte programmet.</p>
<p>En annan fördel med Live Sync:s avsaknad av central server är att programmet utnyttjar ett intelligent sätt att hämta ner datat från den maskin därifrån det kommer snabbast. När jag t.ex. med de andra produkterna vill få en mediafil över från bordsdatorn hemma till den bärbara i soffan så hamnar jag att vänta på att filen först laddas upp från bordsdatorn till någon server och först därefter påbörja nerladdningen till den bärbara datorn. Det här kan ta hyggligt länge för stora filer över normala bredbandsförbindelser. Live Sync å andra sidan upptäcker att filen finns på bordsdatorn och hämtar ner den direkt därifrån vilket går avsevärt snabbare.</p>
<p>En annan bra tanke är att mappar kan vara definierade att antingen synkronisera datat automatiskt (det normala) eller manuellt. Manuellt är praktiskt t.ex. för stora datamängder som man inte vill att automatiskt ska ta plats på alla datorer inblandade i samarbetet. Alla filer är ändå synliga och första gången man försöker öppna en fil laddas den ner automatiskt.</p>
<p>På det hela taget är Live Sync en väldigt slipad produkt som gör lite väsen av sig, men som sköter jobbet elegant och snabbt. Dessutom har man alltid tillgång till omfattande statusinformation om vad som görs och som har gjorts.</p>
<h2>SugarSync</h2>
<p><a href="http://www.sugarsync.com/">SugarSync</a> gör basjobbet lika bra som övriga produkter här. Mervärdet kommer i form av ett väldigt välfungerande webbgränssnitt som innehåller funktioner för att smidigt göra det mesta med filerna och bland annat klimpar ihop bildfiler till webb-album. Dessutom finns goda möjligheter för mobil åtkomst.</p>
<h2>Syncplicity</h2>
<p>Likt SugarSync har även <a href="http://www.syncplicity.com/">Synclicity</a> ett väldigt fungerande webbgränssnitt. Ytterligare med det tillägget att det går att använda andra webbtillämpningar (Google Docs, Zoho, m.fl.) för att editera filerna online.</p>
<h2>Dropbox</h2>
<p><a href="http://www.getdropbox.com/">Dropbox</a> understöder tillsvidare synkronisering av endast en mapp, men gör det snabbt och med ett snyggt webbgränssnitt. Jag har själv använt det långa tider och har bara gott att säga om produkten.</p>
<h2>ZumoDrive</h2>
<p><a href="http://www.zumodrive.com/">ZumoDrive</a> är ytterligare en produkt för synkronisering av filer, den här gången med lite avvikande finesser. I praktiken fungerar ZumoDrive mest som en nätskiva. Alla filer verkar alltid vara online, men först när någon används laddas den ner i bakgrunden. Det här fungerar väldigt smidigt så att när t.ex. en mp3-fil börjar spelas så påbörjas spelandet genast medan filen laddas ner färdigt i bakgrunden. Det här fungerar oberoende av vilken applikation som används för att öppna filen. Filer eller mappar kan också explicit laddas ner så att man kan garantera att ha tillgång till dem även när nätkontakt saknas. Elegant!</p>
<h2>iFolder</h2>
<p><a href="http://www.ifolder.com/">iFolder</a> är numera en komponent i Novell Open Enterprise Server, men existerar även i en skild open source version. Open source versionen av iFolder är en av mina gamla favoriter som jag använde mycket för ett par år sedan, men slutade utnyttja efter att utvecklingen av produkten verkade ha blivit satt i malpåse. Medan jag höll på med den här jämförelsen har dock iFolder väldigt lägligt åter <a href="http://www.novell.com/news/press/ifolder-project-releases-latest-source-code-and-packages-for-linux-mac-os-x-and-windows/">väckts ur sitt ide</a> och allt ser igen ganska lovande ut. Tillsvidare har server-programvaran ganska specifika krav på versioner hos operativsystem och bibliotek, men efter att ha installerat och kört iFolder några dagar kan jag intyga att det fungerar alldeles utmärkt.</p>
<p>iFolder gör det alltså möjligt att sätta upp en egen server för att synkronisera dina filer i samma anda som de övriga produkterna i den här jämförelsen. På serversidan är funktionen direkt avancerad med load-balancing, slave-servrar m.m. På klientsidan finns numera stöd för både Windows, OS X och Linux och dessutom existerar en visserligen ganska primitiv, men ändå, webbåtkomst till filerna.</p>
<p>Jag, hoppas verkligen att Novell fortsätter att satsa på utvecklingen av den här produkten. Med lite smidigare webbgränssnitt, filversioner och ännu noggrannare kontroll av synkroniseringen av specifika filer skulle det här vara en inte enbart bra utan sensationellt enastående produkt.</p>
<h2>Jungle Disk</h2>
<p><a href="http://www.jungledisk.com/">Jungle Disk</a> faller egentligen ur ramen för den här jämförelsen. Den gör inte alls synkronisering utan fungerar istället som en skiva i nätet. Fördelen är att filerna inte tar någon plats alls på den lokala datorns skiva, medan den största och fatala nackdelen är att filerna inte naturligtvis alls är åtkomliga när nätkontakt saknas. Annars är Jungle Disk en stabil produkt som jag använt och gärna rekommenderar för den som nästan alltid har tillgång till hyggligt snabbt nät.</p>
<h2>Om jag får drömma…</h2>
<p>Om jag får önska mig den ultimata produkten så skulle den vara en kombination av produkterna ovan kryddat med ytterligare några funktioner.</p>
<ul>
<li>Självhostat som iFolder. Jag älskar cloud-lösningar, men de får gärna vara i mitt eget moln så att jag har kontroll över integritet, säkerhetskopierande m.m. * Klienten på bordsdatorn borde vara som en kombination av Live Sync och Syncplicity. Lätt att använda och med bra kontroll över vad som pågår. * Webbgränssnitt med funktionen från Syncplicity och SugarSync kombinerat med stilen hos Dropbox. * Mobilåtkomst á la SugarSync. * Filversioner som t.ex. SugarSync, Syncplicity och Dropbox. * Möjlighet att på fil- och mappnivå kontrollera exakt hur synkroniseringen görs med bl.a. ZumoDrives fiffiga streamande av filer. * Och avslutningsvis: <a href="http://www.box.net/">Box.net</a>:s möjlighet att direkt i webbgränssnittet modifiera filer genom en hel uppsjö av andra webbtjänster.</li>
</ul>
<p>Om någon produkt i framtiden uppfyller alla andra önskemål kan jag t.o.m. tänka mig att ge avkall på behovet att hosta själv och betala för mig.</p>
<h2>Och vinnaren är?</h2>
<p>Säg det -- det finns egentligen ingen klar vinnare. Alla produkter är bra och går att utnyttja, men ingen uppfyller ensam alla mina krav. Jag behöver absolut möjlighet att synkronisera flera mappar vilket lämnar bort t.ex. Dropbox och ZumoDrive. Helst vill jag inte heller betala, inte ens för större mängder data, vilket ytterligare utesluter Syncplicity och SugarSync. Efter den utrensningen återstår Live Sync och iFolder. Lyckligtvis är de inga dåliga alternativ utan båda är utmärkta för ändamålet. Tillsvidare kommer jag att fortsätta att mestadels använda mig av Live Sync, men efter begynnande testande med iFolder är tanken nu klart att gå in för det på lite sikt.</p>
<p>Alla produkter existerar i någon form av prov- eller annars begränsad version. Eftersom de olika gratisalternativen inte räcker till för mina behov har jag inte bemödat mig om att beskriva de olika begränsningarna för gratisanvändning ovan, men har du små behov kan det alltså bra hända att flera av produkterna beskrivna här kan användas helt utan kostnad. I vart fall lämpar sig gratisanvändningen utmärkt för att testa och se om en viss produkt passar just din användning.</p>
<p>Tankar, åsikter, andra produkter jag borde testa?</p>Dokumentera online2008-05-11T18:05:00+03:002008-05-11T18:05:00+03:00Niklas 'Nicke' Sjostromtag:niklas.sjostrom.fi,2008-05-11:/articles/dokumentera-online.html<p>Jag installerade Vista på min jobbmaskin i veckan. Trots att det bara är tre månader sedan jag gjorde samma operation på hemmamaskinen så konstaterade jag att det inte skulle ha varit alldeles fel att ha de olika momenten och t.ex. vilka Firefox-tillägg jag brukar använda dokumenterat någonstans. Behovet av …</p><p>Jag installerade Vista på min jobbmaskin i veckan. Trots att det bara är tre månader sedan jag gjorde samma operation på hemmamaskinen så konstaterade jag att det inte skulle ha varit alldeles fel att ha de olika momenten och t.ex. vilka Firefox-tillägg jag brukar använda dokumenterat någonstans. Behovet av dokumentation tillsammans med tanken att desto mindre personlig data man har på en maskin desto lättare går den att installera om ledde mig iväg på en några timmars undersökning och testning av vilka alternativ det riktigt finns som skulle fylla mitt behov.</p>
<p>Ett ytterst ovetenskapligt och ofullständigt testande med ett tre sidors dokument med namnet “Vista installation” och därtill hörande två konfigurationsfiler som jag ville spara tillsammans med dokumentet gav följande observationer.</p>
<h2>Google</h2>
<p>Googles verktyg använder jag i övrigt friskt. Toolbar och Browser Sync i Firefox, Reader, Mail och i viss mån Notebook är basredskap i vardagen. Därför var det naturligt att se vad Google har att erbjuda först. Både ordbehandlaren Docs och den nya wiki-liknande lösningen Sites intresserade.</p>
<p>Docs verkar vara ett helt hygglig enkel editor. Någon direkt ordbehandling i MS Word-mening är det inte fråga om eftersom en hel massa kritiska funktioner för mera seriöst skrivande fattas. Trots, eller tack vare, det här verkar det vara ett alldeles utmärkt verktyg för dokumenterande online. Mitt behov skulle Docs fylla lämpligt om det inte var för att jag inte hittade på något snyggt sätt att ansluta mina två bifogade konfigurationsfiler.</p>
<p>På det hela taget hade jag känslan att en Wiki-aktig lösning skulle lämpa sig bättre för mitt behov i och med just behovet för mitt slags dokumenterande mera är att ansluta olika former av filer eller bilder än att få text-formatteringen precis rätt i alla situationer.</p>
<p>Vidare till Sites alltså. Sites är på så sätt lite speciellt att det fungerar endast på Google Apps-konton. De flesta Google nymodigheter brukar få vänta på sig ett tag innan de introduceras för Google Apps, men här har vi alltså undantaget som bekräftar regeln. Eftersom jag har ett Apps-konto sedan tidigare var det här dock inget problem.</p>
<p>När Google Docs är en omarbetning av den inhandlade Writely-editorn har även Sites sitt ursprung i att Google har varit på uppköpsfärd. Jotspot inhandlades för över ett år sedan men vi har fått vänta ända tills nu innan Google hittat en form att släppa den omklädda produkten under eget namn.</p>
<p>Sites verkar vara en helt ok wiki-lösning som ändå lämnar mig något kall. Basfunktionaliteten finns där och allt fungerar helt bra, men på något sätt hade jag väntat mera. Jag hoppas att Google fortsätter att slipa på produkten den närmaste tiden så att den skulle kännas lite mera färdig. Med över ett år på sig att integrera Jotspot i Google-sviten hade jag tänkt mig att det åtminstone skulle gå att länka till t.ex. Google Docs dokument mera smidigt och integrerat än genom att specificera URL:en som till vilken annan internetresurs som helst.</p>
<p>För att inte låta alltför negativ så måste jag ändå avsluta med att konstatera att Sites lämpade sig alldeles utmärkt för mitt dokumentationsbehov. Även bilagorna gick lätt att koppla ihop med basdokumentet och dokumentet med listan över Firefox-tillägg blev snyggt en "subpage" under huvudsidan.</p>
<p>Ju mera jag använde Sites desto mera gick besvikelsen över avsaknaden av flash och stil över och ersattes av en känsla att allt fungerade precis som det skulle. Låt alltså inte det första intrycket avskräcka.</p>
<h2>Zoho</h2>
<p><a href="http://www.zoho.com/">Zoho</a> spelar in en helt annan liga jämfört med Google känns det som. Här finns produkter som på allvar verkar sikta på att försöka göra ett online MS Office. Sannolikt är de helt utmärkta produkter även om de förstås inte ännu är några MS Office-dödare direkt. Zoho:s Writer och Wiki skulle båda fylla mina behov hyggligt, men bättre verktyg finns.</p>
<h2>PBwiki</h2>
<p><a href="http://www.pbwiki.com/">PBwiki</a> föll jag för nästan genast. Produkten ser verkligen stilig och slipad ut och funktionaliteten verkar finnas där. Åtminstone mina enkla behov uppfylldes smidigt. PBwiki:s gratiskonton kommer dock med endast 10MB:s lagringsutrymme. Trots att det ryms en hel del text på det utrymmet så blev jag ändå lite avskräckt av att en uppgradering till 1GB kostade så pass mycket som $9.95/mån i en tid då vi vant oss med stora mängder gratisutrymme hos Google och andra. Synd.</p>
<h2>Wetpaint</h2>
<p>Även om alla de andra verktyg jag ser på här understöder delning av dokument och samarbete med andra så driver <a href="http://www.wetpaint.com/">Wetpaint</a> den här sociala aspekten till alldeles nya höjder. Wetpaint känns mest som en blandning mellan en Wiki och privata sociala nätverk som t.ex. Ning.</p>
<p>Wetpaint fyller mina behov även om PBwikis wow-känsla helt uteblir. Och även om det går att skapa en helt privat wiki så känns det lite avigt omgiven av alla verktyg för samarbete med andra. Helt fri utrymmesanvändning ska dock klart noteras till Wetpaints fördelar.</p>
<h2>Deki Wiki</h2>
<p><a href="http://wiki.mindtouch.com/">Deki Wiki</a> drogs jag till eftersom den dels verkade snygg och smidig och dels görs källkoden tillgänglig vilket skulle göra det möjligt att hosta den själv. Att hosta själv föll dock snabbt bort eftersom det verkade vara svårt/omöjligt att få att lyckas på t.ex. Dreamhost.</p>
<p>Efter endast några dagar är det ännu för tidigt att säga vilken av de här produkterna jag sist och slutligen går in för, men just nu känns det som att valet står mellan Google Sites och PBwiki.</p>
<p>Precis som när det gäller bloggplattformar finns den uppsjö av olika wiki:n att välja mellan. Kolla t.ex. <a href="http://www.wikimatrix.org/">WikiMatrix</a> för andra alternativ.</p>Tumblebloggar och lifestreamar2007-04-25T14:06:00+03:002007-04-25T14:06:00+03:00Niklas 'Nicke' Sjostromtag:niklas.sjostrom.fi,2007-04-25:/articles/tumblebloggar-och-lifestreamar.html<p>(i ack så svenska termer)</p>
<p>För ett par dagar sedan fick jag idén att samla all min aktivitet på nätet på ett enda ställe. För att göra det enkelt för mig använde jag Drupals normala aggregator-funktion och körde ihop mina olika bloggar och länkar till annan information på en enda …</p><p>(i ack så svenska termer)</p>
<p>För ett par dagar sedan fick jag idén att samla all min aktivitet på nätet på ett enda ställe. För att göra det enkelt för mig använde jag Drupals normala aggregator-funktion och körde ihop mina olika bloggar och länkar till annan information på en enda sida. Resultatet kan beskådas över på <a href="http://nicke.sjostrom.fi/">nicke.sjostrom.fi</a>.</p>
<p>Hyggligt nöjd med formatet snavade jag igår över begreppet <a href="http://adactio.com/journal/1202/">lifestream</a> och insåg att det egentligen är det jag skulle ha velat åstadkomma. Forfarande baserat Drupal gjorde jag den snabba förändringen att alternativt kan man få inläggen från alla källor kronologiskt på en enda sida om man klickar Lifestream-linken i headern. Men, men, men... ...det vad jag egentligen skulle ha velat åstadkomma är något i stil med <a href="http://chrisjdavis.org/lifestream">Chris J. Davis lifestrem</a>. Kompakt, estetiskt och to the point.</p>
<p>Om Jaiku skulle fungera som det borde så skulle det gå att komma ganska nära det jag vill åstadkomma med hjälp av det, men de senaste dagarna tycker jag att Jaiku varit verkligen slö med att uppdatera aggregerat data och även i övrigt fungerat lite osäkert. Men om någon vill kolla så ser det ut så <a href="http://nicke.jaiku.com/">här</a>. Skulle Jaiku inte ha problem med belastningen (får man anta) så skulle det verkligen vara en trevlig micro-blogging plattform. Föredrar den om Twitter alla gånger, men använder ändå Twitter eftersom jag är lat och tycker om att micro-blogga via Jabber. Så, please Jaiku-utvecklare, please, en jabber-gateway, please!</p>
<p>Vidare till Tumblr, vilket känns varken som lifestream eller micro-blogging. Mera som mini-blogging. Har även provat att aggregera dit alla mina källor. Slutresultatet finns <a href="http://nicke.tumblr.com/">här</a>. Njaää, jag tror inte.</p>
<p>(Det som ännu kunde vara värt att prova är snygga till RSS-feedarna med t.ex. Feedrinse, Feed shake innan de aggregeras ihop.)</p>
<p>Så vad jag efterlyser är en mini-aggregator som ändå är hyggligt konfigurerbar. Idealiskt borde det åtminstone gå att formattera informationen som de olika källorna olika gällande färger och någon slags ikon. Dessutom borde det gå att filtrera data med t.ex. regular expressions. Ja, och, gärna som en Drupal modul.</p>
<p>Tack på förhand :-)</p>Hemma-hemma radio2006-12-23T18:14:00+02:002006-12-23T18:14:00+02:00Niklas 'Nicke' Sjostromtag:niklas.sjostrom.fi,2006-12-23:/articles/hemma-hemma-radio.html<p>Det är inte mera än ett par blogg-postningar sedan senast men nu är
julen här igen. Lite mörk och kulen men ändå så kär.</p>
<p>Traditionsenligt firas julen hemma-hemma i Vasa och det lovar redan från
första stund att bli en riktigt traditionell jul. Morgonen började
nämligen med att jag var …</p><p>Det är inte mera än ett par blogg-postningar sedan senast men nu är
julen här igen. Lite mörk och kulen men ändå så kär.</p>
<p>Traditionsenligt firas julen hemma-hemma i Vasa och det lovar redan från
första stund att bli en riktigt traditionell jul. Morgonen började
nämligen med att jag var vagt medveten om att klassisk musik silade
genom väggen. Nästa gång jag var vid medvetande hörde jag en på-annons
för ett program om spelmansmusik (Per Spelman). Upp steg jag 15 minuter
in i ett program som kunde ha hetat “digiboxen är din vän” (men hette
“Inblick i konsumentkosmos”!!) vilket fortsatte under duschen och hela
morgonmålet. Fenomenet digibox granskades från alla tänkbara vinklar
medan diverse experter envist upprepade mantrat “en sladd till väggen
och en sladd till TV:n, det är faktiskt inte så svårt”. Nä, just det!</p>
<p>Och så språket sedan. Finlandssvensk radio går verkligen på något slags
nybörjarsvenska. Inga satsförkortningar används och de klara pauserna
mellan orden borde göra programmen idealiska för noviser på svenska.
Kompletterat med en lärobok från 40-talet med lite halvgammalt vokabulär
kunde de revolutionera svenskaundervisningen i vilken svensk
invandrartät förort som helst. Snabbare än man hinner säga hattifnatt
skulle alla prata som mumintroll i kassakön på ICA-butiken.</p>
<p>Det som hämtas ur etern hemma-hemma är förstås Radio Vega, men X3M
skiljer sig inte speciellt mycket. Det är samma bassmet kompletterad med
lite (överraskande mycket egentligen...) svordomar, några infantila
underlivsskämt och “coola” (verkligen?) ord som “chickar”.</p>
<p>Nähä, jag gissar att jag inte kommer att få några julklappar av YLE i år
heller...</p>
<p>Hoppas att alla andra också får en skön jul och att tomten inte landar
på julkappssäcken när han dimper ner genom skorstenen. God Jul!</p>Cat nap2006-09-03T17:56:00+03:002006-09-03T17:56:00+03:00Niklas 'Nicke' Sjostromtag:niklas.sjostrom.fi,2006-09-03:/articles/cat-nap.html<p>Efter flera år med katt vet jag visserligen att det inte enbart är
tordyveln som flyger, utan även katten som smyger i skymningen, men
ibland skär sig Katts dygnsrytm ganska ordentligt med resten av
familjens.</p>
<p>Extra tydligt blev det här efter att Katt varit bortrest på sommar-kollo
i nästan två …</p><p>Efter flera år med katt vet jag visserligen att det inte enbart är
tordyveln som flyger, utan även katten som smyger i skymningen, men
ibland skär sig Katts dygnsrytm ganska ordentligt med resten av
familjens.</p>
<p>Extra tydligt blev det här efter att Katt varit bortrest på sommar-kollo
i nästan två månader och för ett tag sedan flyttade tillbaka hem. Helt
plötsligt är nattsömnen igen splittrad av idel katt-logistik som nästan
helt fallit i glömska under den tid hon varit borta. Efter att ha sovit
och varit mera död än levande mest hela dagen är Katt nämligen särdeles
utvilad kring midnatt. I värsta fall kan en natt se ut som för några
helger sedan på villan.</p>
<p>00:30 Katt nattas och sätts i bastun där det är fint bäddat med handduk
och en fräsch portion med nattmat. En katt i sängen är visserligen
trevligt i en norsk fjällstuga med kölden knäppande i knutarna, men nu
pratar vi om en "sol den senaste månaden"-sommar då skinn med inbyggd
värmekälla inte är lika välkommet i sängen.</p>
<p>00:47 Katt vill ut ur bastun. Problemet är att nattandet har blivit
slarvigt gjort, men efter några huvudbuffar, lite omkringbärande och
guidad rundtur av hur mörkt det är och hur djupt matte redan sover så
inser Katt sitt misstag och lägger sig snällt i bastun.</p>
<p>02:22 Hysteriskt skrapande. Katt vill <strong>verkligen</strong> ut, får som hon vill
och somnar förnöjt på flicksidan av sängen.</p>
<p>04:44 Katt vill ut - ut genom ytterdörren ut. Det är lite halvgrått
ännu, ryssland brinner så att röklukten sticker i näsan och nosen, men
Katt är övertygad om att det är nu gnagarna är i farten och ska absolut
ut och decimera stammen.</p>
<p>06:16 Katt är färdig med att leka lieman och har tråkigt. Släpps in och
lägger sig förnöjt i sängen med förvissningen likt en
morgontidningsutbärare om att dagen jobb redan är gjort.</p>
<p>06:23 Uff, fästing plockas av Katt och sängen kollas lite tafatt för
andra otäckingar. Nope, inga andra. Inga andra som vi kan hitta dvs.</p>
<p>07:45 Hopplöst klösande i soffan. Nej, klorna är i topptrim från
tidigare klösande på andra möbler - målet nu är att få fart på de slöa
människorna som ännu sover och inte gett henne morgonmål.</p>
<p>08:30 Ok, ok, går ändå inte att sova. Stiger upp och ger Katt mat.
Bäddar sängen medan Katt bister och förväntansfullt ser på.</p>
<p>08:37 Katt lägger sig med en förnöjsam suck på sängen och påbörjar
återhämtningen för att nästa natt orka med samma schema.</p>Observationer från en flytt2006-01-27T12:42:00+02:002006-01-27T12:42:00+02:00Niklas 'Nicke' Sjostromtag:niklas.sjostrom.fi,2006-01-27:/articles/observationer-fran-en-flytt.html<p>I helgen var vi och flyttade en kompis och som M mycket riktigt konstaterade så skulle det vara ett ganska bra delmoment när personer ska anställas att observera hur de fungerar i en flyttsituation.</p>
<p>Inte att jag har någon tjänst att besätta, men följande karaktärer gick åtminstone att urskilja bland …</p><p>I helgen var vi och flyttade en kompis och som M mycket riktigt konstaterade så skulle det vara ett ganska bra delmoment när personer ska anställas att observera hur de fungerar i en flyttsituation.</p>
<p>Inte att jag har någon tjänst att besätta, men följande karaktärer gick åtminstone att urskilja bland medhjälparna:</p>
<ul>
<li><strong>Administratören</strong> är den som ser till att något blir gjort. Början
är inte så svår, men allt efter att dagen lider krävs det allt mera
av administratören för att hålla igång alla trötta och hungriga
eller mätta och slöa (beroende på om är före eller efter den
obligatoriska pizza-pausen) välmenare.</li>
<li><strong>Modern</strong> diskar, städar och, framför allt, rotar fritt i
flyttarens kylskåp och skrubbar och slänger utan att fråga allt vars
bäst före ligger på fel sida om millenniumskiftet eller saker som
annars bara ser skumma och onödiga ut.</li>
<li><strong>Mätaren</strong> provar inte om något passar eller ryms utan att först ha
kollat med måttband. Oberoende om det rör sig om omtanke om möblerna
eller om mätandet i sig självt lockar blir saker noggrant gjorda
efter moget övervägande.</li>
<li><strong>Lysaren</strong> får sitt namn efter en bekant i scouterna i min ungdom
som sällan anmälde sig som frivillig till något som borde utföras
men som alltid stolt deklamerade "jag kan lysa". Han hade
visserligen en hygglig ficklampa, men ändå... Lysaren har kanske
inte hittat sin plats i gruppen ännu och är orolig för att fatta
egna beslut och vill desperat bli upptagen med något ofarligt.</li>
<li><strong>Sagotanten/-farbrorn</strong> har förmågan till en aldrig sinande ström
av historier. Inte nödvändigtvis effektiv själv, men fungerar som en
kompletterande humörhöjare. Idealiskt bör personen inte höra till
den närmaste bekantskapskretsen eftersom man i så fall säkert kan
alla monologer sedan tidigare.</li>
</ul>
<p>Flytten gick bra trots, eller sannolikt tack vare, att alla kategorier var representerade.</p>Onsdagen den 11:e2006-01-26T14:35:00+02:002006-01-26T14:35:00+02:00Niklas 'Nicke' Sjostromtag:niklas.sjostrom.fi,2006-01-26:/articles/onsdagen-den-11e.html<p><img alt="Empty" class="image-process-article-image" src="https://niklas.sjostrom.fi/images/NS_D100_2006-01-26_7588.JPG"></p>
<p>Fredagen den 13:de kom och gick utan desto vidare missöden. Det gjorde däremot inte onsdagen den 11:e då elektronik-Murphy vid sängdags kunde glädjas åt åtminstone en TV och en digikamera som inte längre fungerade.</p>
<p>Helt plötsligt mitt i ett telefonsamtal konstaterade M "nu luktar här rök!". Den naturliga …</p><p><img alt="Empty" class="image-process-article-image" src="https://niklas.sjostrom.fi/images/derivatives/article-image/NS_D100_2006-01-26_7588.JPG"/></p>
<p>Fredagen den 13:de kom och gick utan desto vidare missöden. Det gjorde däremot inte onsdagen den 11:e då elektronik-Murphy vid sängdags kunde glädjas åt åtminstone en TV och en digikamera som inte längre fungerade.</p>
<p>Helt plötsligt mitt i ett telefonsamtal konstaterade M "nu luktar här rök!". Den naturliga (?) tanken i de här sammanhangen är att konstatera att det är någon annans fel. Någon har förstås lämnat ljusen obevakade. Jäkla klåpare! Men efter att ha vädrat näsan både i trappuppgången och på balkongen kunde vi konstatera att världen i övrigt var rökfri, dock inte vår lägenhet. Någon minut senare var alla apparater, ljus och de flesta lampor släckta och för ett kort ögonblick funderade jag på vad vi skulle ta med oss när vi evakuerar. Husets katt hade förlängt jullov så hon behöver inte räddas vilket i sig var skönt.</p>
<p>Då slår det oss! Det är TV:n som luktar. Det borde inte komma som någon överraskning. En tid var det nämligen ett årligen återkommande programnummer att den lade av med en rökpuff och behövde lite tlc. De senaste åren har den dock fungerat så snällt att jag var oförberedd på onsdagens vredesutbrott, men nu har tydligen M:s tittande av TV-serieavsnitt från julens skörd av DVD-boxar knuffat TV:n över stupet.</p>
<p>Så nu är vi utan TV. Eller egentligen inte för vi har faktiskt en liten 16":are, men den känns inte alls vid moderna medier som DVD:n, datorer eller PlayStations så underhållningsvärdet är något begränsat.</p>
<p>Behöver världen träna inför fredagen den 13:de? Valde den i så fall oss som en liten uppmjukning för att kolla att den var i form? I oktober är det dags igen...</p>Snösvängen2005-12-27T16:23:00+02:002005-12-27T16:23:00+02:00Niklas 'Nicke' Sjostromtag:niklas.sjostrom.fi,2005-12-27:/articles/snosvangen.html<p>Julen med sin skinka till alla 7-9(!) mål mat per dag är avklarad igen en gång. Som vanligt (i positiv bemärkelse!) innehöll den allt jag väntar mig. Släkt och vänner, god mat, snö, kyla (-22 i dag på morgonen) och en och annan klapp.</p>
<p>Det lustiga är att varje gång …</p><p>Julen med sin skinka till alla 7-9(!) mål mat per dag är avklarad igen en gång. Som vanligt (i positiv bemärkelse!) innehöll den allt jag väntar mig. Släkt och vänner, god mat, snö, kyla (-22 i dag på morgonen) och en och annan klapp.</p>
<p>Det lustiga är att varje gång jag är hemma över jul så ser jag riktigt fram emot snöskottandet. Den aktivitet som säkert de flesta inbitna villaägare ser som något nödvändigt ont har på något sätt fått ett nostalgiskt rosa skimmer av barndomsminne. Som ung blev det en hel del skottande. När det snöade såg jag inte bara fram emot att skidspåren i skogen fick sig en påfyllning utan även själva snöskottandet av gården. Skillnaden mot situationen i dag är närmast den att då var skottandet förknippat med möjlighet att dryga ut veckopengen för att ha möjlighet att köpa stereo- och foto-utrustning av olika slag. Ibland känns det som om hela mitt materiella välstånd i ett tidigt skede var grundat på snöskottning och lingonplockning.</p>
<p>Nåjaa, de tiderna är förbi. I julhelgen skottade jag utan betalning för mitt höga nöjes skull.</p>