Tankar om Androidutveckling

På jobbet har vi börjat med utveckling för Googles operativsystem Android (för er som vill är nyfikna på vad det är finns mer info här och här). Det är ganska annorlunda mot för all annan utveckling jag har gjort tidigare, då jag mest har sysslat med webbutveckling. Det är ganska annorlunda mot för vad någon på Exait har gjort innan (med några undantag), vilket både är lite kul och lite synd. Kul på så sätt att man är lite pionjärer, många är nyfikna på vad man gör osv. Lite synd är det dock också, när man stöter på problem har man ingen att fråga förutom, ja, Google.

Som jag sa innan sÃ¥ skiljer det sig en hel del frÃ¥n webbutveckling. Själva teknikerna är kanske inte sÃ¥ himla annorlunda, XML för layout och Java för logik, det känner ju ändÃ¥ de flesta igen, men sättet man programmerar pÃ¥ skiljer sig desto mer. Inte bara pÃ¥ sÃ¥ vis att det är mer traditionell klientprogrammering man gör, utan även sÃ¥klart för att det är en handhÃ¥llen enhet med inte speciellt mycket kräm. Det gör att man fÃ¥r tänka till lite extra när man gör vissa saker, man kan inte slösa hur som helst med resurser (vilket man inte bör göra hur som helst), och vissa saker i Android fungerar pÃ¥ ett sätt man inte är van vid just för att det är en handhÃ¥llen enhet. Ett exempel pÃ¥ det är listor i Android, som jag har upplevt som väldigt jobbiga att ha att göra med. När du scrollar i en lista sÃ¥ existerar bara de objekten som syns pÃ¥ skärmen, sÃ¥ scrollar du upp eller ned sÃ¥ skapas nya objekt “on the fly” för att den inte ska behöva ha sÃ¥ mÃ¥nga i minnet. Detta är iofs ganska logiskt, annars skulle det ta aplänge att ladda lÃ¥nga listor, men det är inte nÃ¥got man tänker pÃ¥ i första taget.

Ett annat problem som det har skrivits lite om är att det redan finns tre version av Android ute (1.5, 1.6 och 2.0), och alla tre används dessutom i nya telefoner. 1.6 och 2.0 är inte nödvändigtvis bakåtkompatibelt med 1.5 heller, så man får vara lite försiktig att man inte använder för mycket nya grejer.

Avslutningsvis, jag som är lite pro open source tycker att det är riktigt roligt att Google ändå har kommit så långt som de har med Android, och jag tror att de på allvar kan utmana Apples monopol på användbara smartphones. Det finns några hinder på vägen men de har definitivt kommit en bra bit på vägen.

25 november 2009   Inga kommentarer

Städa upp i Firefoxs gränssnitt

När man installerar Firefox 3.5 i Windows 7 ser det ut såhär från början:

fx-bloated

Ganska tråkigt utséende va? För det första, och det här gäller bara om man kör Vista/Windows 7, så använder det ju inte Glassgränssnittet speciellt mycket, och den blå-/grådaskiga färgen är ärligt talat inte speciellt tilltalande. För det andra står tar det upp onödigt stor plats. Plats som istället kan användas till att visa webbsidan du är på. Tänk istället att det kan se ut såhär istället:

fx-clean

Att fÃ¥ till det här utséendet är heller inte speciellt svÃ¥rt. För det första är det ett par tillägg du behöver, dels för att fÃ¥ till Glassgränssnitet pÃ¥ mer än titelraden och ramen: GlasserPojo. Det andra tillägget du behöver heter Hide Menubar och används föga förvÃ¥nande till att dölja menyraden (likt t.ex. program med ribbongränssnittet, det som är i Office 2007 m.m., sÃ¥ kan du fÃ¥ fram den tillfälligt genom att trycka ner Alt-knappen pÃ¥ tangentbordet). När du väl fÃ¥tt in dessa tillägg startar du om Firefox och döljer meny- och bokmärkesraden genom att högerklicka pÃ¥ en ledig plats nÃ¥gonstans i gränssnittet och helt enkelt bocka ur “Menu Toolbar” och “Bookmarks Toolbar”. I samma meny klickar du sedan pÃ¥ “Customize” för att fÃ¥ upp en liten dialog med diverse inställnings- och anpassningsmöjligheter för gränssnittet. Börja med att klicka i bocken “Use small icons”, och sedan kan du börja städa upp gränssnittet genom att helt enkelt dra bort de element du inte behöver/vill ha.

Et voíla! Ett stycke Firefox som ser mycket elegantare ut och tar upp mycket mindre plats. :)

Det finns även en YouTubefilm som förklarar hur du går till väga: Snygga upp Firefox

18 november 2009   Inga kommentarer

Projekt: Konfundera

Jag funderar på att starta ett litet sociologiskt projekt. Har alltid tyckt om den sortens humor där man provocerar litegrann för att se hur folk reagerar i olika situationer, om man säger eller gör någonting som de absolut inte förväntar sig. Projekt är kanske lite fel ord förresten, då det här är lite mer experimentartat.

Projektet/experimentet går ut på att systematiskt och vid (egentligen inte så) väl valda tillfällen använda fraser, uttryck och liknelser som absolut inte passar in för att därefter se hur folk reagerar. Jag kan tänka mig att vissa som inte fattar kommer låtsas fatta, medan andra kommer att stanna upp och be mig förklara alternativt fråga mig vad jag menar. Jag tror egentligen att en ganska liten del, förutom kanske de som har samma slags humor som mig, kommer att inse att det sades för att med flit göra dem ställda. Vet att till exempel på jobbet så finns det ett par som relativt frekvent utövar samma slags humor, vilket jag tycker är fantastiskt roligt. De hör till den gruppen som förmodligen kommer att fatta.

Så, det jag behöver nu är ett par fraser för att komma igång med det här. Fraser som är ganska diffusa men som ändå har ett klart sammanhang, exempelvis bollen är rund som jag har tänkt missbruka utan dess like.

Hittade en lista över idiomatiska uttryck på Wikipedia, och här kommer jag förmodligen att hänga ett tag framöver. Planen är att börja lite försiktigt kanske vid fikabordet på jobbet, för att sedan börja missbruka fler och fler fraser i vardagligt tal.

Vad kan då komma ur det här, förutom att jag i andras ögon kommer att göra bort mig lite? Förhoppningsvis har jag riktigt roligt och lär mig hur fraser, uttryck och liknelser verkligen ska användas.

Nåväl, låt oss dra igång. Kasta yxan i sjön!

27 oktober 2009   1 kommentar

Steve Miller Band – Abracadabra

Spotifylänk

I heat up, I can’t cool down
You got me spinnin’
‘Round and ’round
‘Round and ’round and ’round it goes
Where it stops nobody knows

Every time you call my name
I heat up like a burnin’ flame
Burnin’ flame full of desire
Kiss me baby, let the fire get higher

Abra-abra-cadabra
I want to reach out and grab ya
Abra-abra-cadabra
Abracadabra

You make me hot, you make me sigh
You make me laugh, you make me cry
Keep me burnin’ for your love
With the touch of a velvet glove

Abra-abra-cadabra
I want to reach out and grab ya
Abra-abra-cadabra
Abracadabra

I feel the magic in your caress
I feel magic when I touch your dress
Silk and satin, leather and lace
Black panties with an angel’s face

I see magic in your eyes
I hear the magic in your sighs
Just when I think I’m gonna get away
I hear those words that you always say

Abra-abra-cadabra
I want to reach out and grab ya
Abra-abra-cadabra
Abracadabra

Every time you call my name
I heat up like a burnin’ flame
Burnin’ flame full of desire
Kiss me baby, let the fire get higher

I heat up, I can’t cool down
My situation goes ’round and ’round
I heat up, I can’t cool down
My situation goes ’round and ’round
I heat up, I can’t cool down
My situation goes ’round and ’round

27 september 2009   1 kommentar

iTunes 9 – vilket skitprogram

Satt nu och testkörde iTunes 9 för första gÃ¥ngen “pÃ¥ riktigt”, och vilket jäkla skitprogram det är. Ta till exempel den nya “funktionen” att du ska kunna sortera dina applikationer i datorn. Visst, bra, det hade ju varit praktiskt, om funktionen hade varit nÃ¥gorlunda smart utformad. Vanligtvis, i alla fall jag, har ju lärt mig pÃ¥ vilka skärmar respektive applikation finns (har dem bara i den ordning jag har installerat dem). När du börjar “synkronisera” applikationer (synkronisering, jo pyttsan, snarare envägskopiering) kastar den om allting. Alla applikationer du har installerade pÃ¥ telefonen är inte ens markerade för installation/synkronisering, utan du fÃ¥r gÃ¥ manuellt och kryssa i alla. Vad är vitsen med det?!

Själva systemet för att flytta applikationer mellan olika sidor är dessutom horribelt. Säg att du vill flytta ett par applikationer som nu är utspridda mellan olika sidor till en och samma. Du börjar dra dem dit en och en, och när du kollar hur det blev så finns bara en där. När du drar en applikation till en skärm hamnar den nämligen längst ner till höger, och den som redan var där hamnar på nästa sida. Fortsätter du att flytta flera applikationer till samma så kommer de att knuffa ut varandra. Vad är vitsen med det?!

Nä, iTunes 9 får inget högt betyg av mig. Programmet känns om möjligt ännu segare än 8an, och det är med en viss vånda man startar upp det. Till Apple: Gör om, gör rätt. Snälla.

16 september 2009   Inga kommentarer

Piratkopiering vs. Bageriets Bästa

Göteborgskex kör en reklam pÃ¥ TV där de promotar sina kakor i serien “Bageriets Bästa”. Tydligen är det lite dyrare kakor som de har lagt ner lite mer tid pÃ¥ och köpt in lite dyrare rÃ¥varor. Det häftiga är dock inte kakorna, utan att du fÃ¥r med receptet sÃ¥ att du kan baka dem själv! Det gillar jag skarpt, dÃ¥ blir det ju nÃ¥gon form av open source-kakor. Började dock tänka litegrann.. Om jag skriver av det receptet och lägger upp det pÃ¥ min blogg här, kan jag dÃ¥ Ã¥talas för nÃ¥gon form av medhjälp till piratkopiering? Det beror nog litegrann pÃ¥ vad receptet har för licens kan jag tänka mig, eller vad säger ni? MÃ¥ste kolla upp det här. :)

16 september 2009   Inga kommentarer

Skript som uppdaterar dina WordPressbloggar

Har ett tag kört ett script på min server som automagiskt uppdaterar WordPress åt mig. Då jag har en del bloggar hostade så underlättar det det administrativa arbetet. Läste nyligen ett blogginlägg på WordPress egna blogg om hur viktigt det är att hålla sina bloggar uppdaterade, så tänkte att fler än jag kan säkert ha nytta av det här scriptet.

Det finns hostat på som en gist på github: http://gist.github.com/187986

Disclaimer: Ta er gärna friheten att förbättra scriptet och posta förbättringarna på github!

16 september 2009   Inga kommentarer

iPhone + Spotify = <3

Fick en rätt så trevlig överraskning i morse när jag vaknade. För det första hör det inte till vanligheterna att jag slår på datorn medan jag äter frukost, men idag gjorde jag det, och vilken upptäckt jag gjorde! Under natten hade nämligen Spotify till iPhone släppts på AppStore! Blev att ladda hem det illa kvickt och testa igenom lite snabbt. Letade fram lurarna och började synka över en playlist medan jag borstade tänderna, och sedan lyssnade jag hela vägen till jobbet. Precis så enkelt och avskalat som det ska vara. Inga konstigheter helt enkelt. :) Saknar dock Last.fm-stöd, men det kommer väl det med såsmåningom. Tycker att snubbarna på Spotify har gjort ett riktigt bra jobb med mobilklienterna (har inte testat Androidvarianten, men den lär vara minst lika bra som dess iPhonesyskon).

Jag kan inte hjälpa att fundera på vad det här egentligen innebär för andra musikaktörer på marknaden. Vem kommer till exempel köpa musik via iTunes, eller ens bry sig om att synka över eventuell musik från datorn till telefonen, när allt finns tillgängligt via Spotify? Vem kommer köpa cd-skivor för att ha i bilen när man kan strömma från Spotify? Jag tror att det här är en revolution som bara är i sina startgropar än så länge, och det dröjer nog inte länge förrän vi ser något liknande fast för film och tv-serier (i mobilen).

http://www.spotify.com/blog/archives/2009/09/06/spotify-mobile/

7 september 2009   Inga kommentarer

Spotify bakom brandvägg, how to make it work

Hos en av våra kunder har man valt att ha en ganska restriktiv brandvägg, även för utåtgående trafik. Det som tillåts är i princip HTTP (port 80) och HTTPS (port 443). Till följd av det här slutade Spotify att fungera. Är man van att lyssna på musik medan man jobbar blir det snabbt långtråkigt, så jag började undersöka hur man skulle kunna komma runt det. Beskriver här hur till jag gick tillväga (jag är ingen expert, så om du som läser vet bättre tillvägagångssätt som fungerar, tveka inte att kommentera så uppdaterar jag den här guiden).

Det största hindret för de flesta som jag ser det är att du behöver en server utanför jobbnätverket för att mitt tips ska fungera. Har du inte det kan du i princip sluta läsa nu. I övrigt behöver du denna mjukvara:

Server

SSH-server
Squid

Jobbdator

PuTTY
Python
NTLMAPS
Spotify (såklart)

Hur man installerar dessa kommer jag inte att ta upp i detalj, utan tar mer upp hur de ska konfigureras för att lira ihop.

1. Ställ in SSH-servern

sudo nano /etc/ssh/sshd_config

Leta fram direktivet där porten finns specifierad, såg ut såhär i mitt fall:

Port 22

Lägg helt enkelt till Port 443 under 22:

Port 22
Port 443

Sedan måste du starta om SSH-servern för att inställningarna ska börja gälla.

sudo /etc/init.d/ssh restart

Perfekt, nu lyssnar SSH-servern även på port 443!

2. Konfigurera ntlmaps

Detta är ganska straight-forward så att säga. Öppna upp server.cfg och peta in värdena, det mesta är ganska självförklarande och det är dessutom inte så mycket du behöver ändra på. Det du behöver veta är PARENT_PROXY och PARENT_PROXY_PORT för att veta hur den ska ansluta till servern. Sen petar du in NT_DOMAIN, USER och PASSWORD. Sen är vi all set!

3. Ställ in PuTTY

Window -> Translation

Ställ in UTF-8 i Character set translation on recieved data. Observera att du endast behöver göra detta om du kör UTF-8 på din server (vilket i många fall är standard).

Connection

Peta in 15 i Seconds between keepalives. Detta är för att hålla anslutningen öppen även om den inte används.

Connection -> Proxy

Ställ in proxy enligt dessa inställningar:

Type: HTTP
Hostname: localhost
Port: 5865

Detta är för att PuTTY ska kunna kommunicera med ntlmaps som sköter kommunikationen med ISA-servern.

Connection -> SSH -> Tunnels

Peta in 8081 i Source Port, localhost:3128 i Destination. Ska vara Local och Auto. Detta binder den lokala porten 8081 på jobbdatorn till port 3128 (Squid) på servern.

Anslut nu till servern och logga in.

4. Ställ in Spotify

Starta upp Spotify och låt den först misslyckas med att ansluta. Då kommer det upp en ruta med en länk så att du kan få upp proxyinställningar. Tryck på den, och peta in dessa värden:

Type: HTTPS
Hostname: localhost
Port: 8081

Resten kan du lämna tomt. Detta är för att Spotify ska kunna kommunicera med tunneln vi skapade i PuTTY.

Nu ska det fungera! Everyone loves music! :)

21 juli 2009   Inga kommentarer

Samtal med Saddam släppta till allmänheten

Läste på DN nu på morgonen att USA har släppt tidigare hemlighetsstämplade samtal med den förre Irakledaren Saddam Hussein. Började läsa litegrann och fann det riktigt intressant faktiskt.

http://www.gwu.edu/~nsarchiv/NSAEBB/NSAEBB279/index.htm

3 juli 2009   Inga kommentarer