Kategori — Mjukvara
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:
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:
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
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
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
Google Maps
Har börjat titta lite pÃ¥ Google Maps API nu i veckan, och jäklar vad roligt det är! API:et verkar vara logiskt uppbyggt och med bra dokumentation, vilket gör att det blir riktigt roligt att använda och att lära sig . Av “bara farten” har jag gjort en grej som jag har funderat pÃ¥ att göra ett tag, ett slags map picker (jämför date picker), för att visuellt välja ut koordinater/adress pÃ¥ en karta för exempelvis lagring i en databas eller liknande, vad man nu vill göra. Den här är senare tänkt att användas i ett ännu hemligt projekt som jag inte vill ta upp här pÃ¥ bloggen..
http://grendosa.net/map-picker/
Och ja just det, Johanna har lagt upp en blogg.
Länkar numera till den i högerspalten här intill.
30 juni 2009 Inga kommentarer
Citrix Secure Access Client i Linux Mint
Hade lite problem med att installera Citrix VPN-klient som jag skrev i förra inlägget, men nu har jag lyckats få in det. Tänkte att jag skulle försöka dela med mig av kunskapen. Innan du börjar måste du se till att du har iptables installerat, samt en kärnmodul vid namn tun. Jag fann att båda två var laddade från början i mitt system, men om du är osäker kan du kolla iptables såhär:
sudo apt-get install iptables
Om det inte är installerat så kommer det då att installeras. Såhär kollar du ifall kärnmodulen tun är laddad:
lsmod | grep tun
Om den är laddad kommer den att skrivas ut, annars skrivs ingenting alls ut. För att ladda den, skriv såhär:
modprobe tun
Nu laddas den in i kärnan tills nästa omstart. För att den alltid ska laddas kan du lägga in den i /etc/modules.
- Gör filen du laddar hem körbar:
chmod +x citrixvpn-linux-2.6-i386.sh
- Kör filen som root:
sudo ./citrixvpn-linux-2.6-i386.sh
- Acceptera avtalet och bekräfta att iptables och tun är installerat och laddat. För mig så spottade den här ut att distributionen inte stöds, bland annat, och sen dog den. Dock, ifall du navigerar till /tmp/.cagvpn och plockar ut filerna cagvpn, cagvpnd och cagvpnd.Ubuntu.init så ska det här gå vägen ändå.
- Placera cagvpn och cagvpnd i /usr/sbin/ ifall de inte redan ligger där.
- cagvpnd.Ubuntu.init döper du om till cagvpnd och placerar i /etc/init.d/.
- Kör chmod +x på samtliga filer du plockar ut.
Det här löste det för mig. Sedan är det bara att köra cagvpn –login för att logga in.
24 juni 2009 1 kommentar
Linux Mint
Jag har varit Ubuntutrogen ett par år nu, alltid när jag känt för Linux så har det blivit Ubuntu som fått åka in i släden och installeras. Nu är det dags för lite förändring (med betoning på lite, egentligen)! I måndags installerade jag på en kollegas rekommendation Linux Mint, som faktiskt bygger på Ubuntu till stora delar, och sägs vara helt kompatibelt. Hittills är jag riktigt nöjd med distributionen, installationen var snabb och smidig och det mesta fungerar utan handpåläggning. Det enda jag har upptäckt som hittills inte riktigt fungerar är viloläget, vilket ju är lite trist. Det är rätt skönt att stänga locket och sätta datorn i viloläge. Men men, man kan ju inte få allt.
Får se hur länge Linux Mint överlever på jobbdatorn. Hittills har jag inte hållit mig speciellt länge till Linux när jag haft det som enda installerade operativ.
24 juni 2009 Inga kommentarer
Erfarenheter av Windows 7 RC1
Nu har jag kört Windows 7 RC1 i nästan en vecka, och det börjar bli dags för någon slags kort utvärdering och sammanställning av mina första intryck.
Installation
För många verkar just installationen vara viktig, och visst är den det, men jag tycker ändå att installationssekvensen är överreklamerad. Här var det inga konstigheter, den gick förhållandevis snabbt och var väldigt enkel.
Första boot
Vid första booten sÃ¥ slog det mig hur likt Vista gränssnittet faktiskt är. Det mesta är kvar, alla halvtransparenta fönsterkanter o.s.v. Rent visuellt är det alltsÃ¥ inga större förändringar man märker vid första anblicken, förutom taskbaren. Just taskbaren är rätt sÃ¥ omarbetad i Windows 7, och inte bara till det bättre enligt mig. Den mycket irriterande funktionen “gruppera” frÃ¥n XP (fanns den i Vista ocksÃ¥?) är tillbaka. Vad det i princip innebär är att flera fönster som hör till samma program hamnar under samma ikon i taskbaren. Synnerligen irriterande om du t.ex. har flera chattsessioner i Live Messenger uppe och nÃ¥gon skriver till dig. Du ser inte vem som gör det, och bara för att ta reda pÃ¥ det mÃ¥ste du klicka en gÃ¥ng. Tummen ner för det.
Med det väl avstängt sÃ¥ uppenbarar sig förbättringarna. MÃ¥nga självklara funktioner som borde varit med redan frÃ¥n Windows 95 har nu hittat vägen in i operativet, som t.ex. att flytta runt öppna applikationer i taskbaren. En annan grej som liknar “gruppera” men inte är lika aggresivt är att olika fönster frÃ¥n samma program hamnar bredvid varandra, sÃ¥ att man fÃ¥r en slags visuell indikation pÃ¥ att de hör ihop. Trevligt!
Du har ocksÃ¥ möjligheten att “pinna” program till taskbaren. Det innebär att ikonen syns även fast programmet inte är öppet, sÃ¥ man kan säga att det en slags kombinerad taskbar och quick launch bar. Det här gillar jag ocksÃ¥, riktigt genomtänkt faktiskt.
Ytterligare en skillnad som man kanske inte tänker på (eftersom de flesta ändå stänger av den), är att sidebaren är borta. Känns helt rätt!
Programkompatibilitet
Alla program och mjukvaror jag hittills har slängt på Windows 7 har fungerat klockrent. Har även funnits drivrutiner till allting jag behövt (ATI grafikkort, Creative X-Fi ljudkort). Precis som det ska vara.
Windows Explorer
Windows Explorer har fått sig en liten, men välbehövlig, grafisk uppdatering från den som fanns i Vista. Den där hiskeligt mörkblåa baren med menyalternativ har bytts ut mot en betydligt trevligare, ljusblå historia. Dessutom har hela vänsterbaren förbättras avsevärt och känns allmänt smartare. Något speciellt kan jag inte peka på, det bara känns mer genomtänkt.
Prestanda
Ett av mina första intryck var att operativet kändes väldigt lättdrivet och responsivt jämfört med Vista (SP1), som jag körde innan. Hittade några tester på nätet där de testade just prestandaskillnaderna mellan just de nämnda operativsystemen, och i rena siffror så är Vista faktiskt marginellt snabbare. Dock så höll skribenten av den artikeln med mig om att Windows 7 känns snabbare, och det är det som räknas.
Spelprestanda är dock en helt annan femma. Vems fel det är vill jag inte rÃ¥dda i, men spelprestandan är klart undermÃ¥lig den i Vista. För att göra en jämförelse sÃ¥ kan jag utan vidare problem spela Team Fortress 2 pÃ¥ högsta inställningarna i 1680×1050 i Vista, medan i Windows 7 är det omöjligt. Även med inställningarna neddragna till medium dras det med svÃ¥ra prestandaproblem. Dock sÃ¥ ska det kommas ihÃ¥g att Windows 7 inte är släppt ännu, och alltsÃ¥ finns det gott om tid för Microsoft/drivrutinstillverkarna att fixa till prestandasvÃ¥righeterna.
Sammanfattning
På det hela sammantaget så gillar jag Windows 7. Så mycket att jag anser att Vista redan är en parentes i historien, ett riktigt snedsteg från Microsofts sida. Windows 7 är allt som Vista inte var, men borde varit, när det släpptes. Halleluja!
3 maj 2009 Inga kommentarer
mIRC-script: Now Playing från Last.fm
Blev trött på att inte kunna visa upp det jag lyssnar på i Spotify, så gick via Last.fm för att hämta infon:
alias nplastfm sockopen lastfm ws.audioscrobbler.com 80
on *:sockread:lastfm:{
if ($sockerr) {
echo -a Error.
halt
}
var %temp, %song, %artist, %album, %hits
:nextread
sockread %temp
if ($sockbr == 0) goto end
%hits = $regex(%temp, <name>(.+)</name>)
if (%hits == 1) {
%song = $regml(1)
goto nextread
}
%hits = $regex(%temp, <artist mbid=".+">(.+)</artist>)
if (%hits == 1) {
%artist = $regml(1)
goto nextread
}
%hits = $regex(%temp, <album mbid=".+">(.+)</album>)
if (%hits == 1) {
%album = $regml(1)
goto nextread
}
goto nextread
:end
say np: %artist - %song ( $+ %album $+ )
}
on *:sockopen:lastfm:{
sockwrite -n $sockname GET /2.0/?method=user.getrecenttracks&user=kilroyfortehwin&limit=1&api_key=b25b959554ed76058ac220b7b2e0a026 HTTP/1.1
sockwrite -n $sockname Host: ws.audioscrobbler.com $+ $crlf $+ $crlf
}
22 mars 2009 5 kommentarer
LotusScript == <3
LotusScript (LS) är ett sprÃ¥k som används ganska frekvent inom Dominovärlden, det är en dialekt av Microsofts Visual Basic. AlltsÃ¥ är det inte riktigt som “alla andra” (tänker pÃ¥ C-liknande) sprÃ¥k. Till exempel är semikolon, parenteser och mÃ¥svingar totalförbjudet. Istället använder man nyckelord, till exempel för att avsluta en if-sats använder man “End If”. Eftersom jag känner mig oändligt mycket mer bekväm med de konventionella sprÃ¥ken sÃ¥ har jag hÃ¥llit mig till Java och inte alls pillat sÃ¥ mycket pÃ¥ LS, förrän nu, och det har faktiskt sina positiva delar, syntaxen till trots. Till exempel finns det en LS-debugger inbyggd i Designerklienten, medan det inte finns nÃ¥gon till Java. Du fÃ¥r även en viss nivÃ¥ av auto completion, nÃ¥got du heller inte fÃ¥r i Java. Dessutom är det aningen kvickare än Java, vilket ju aldrig är en nackdel. Du slipper ocksÃ¥ tänka pÃ¥ minneshantering, vilket normalt inte är ett problem i Java heller, men i Domino sÃ¥ mÃ¥ste du av nÃ¥gon anledning (är inte 100 pÃ¥ varför, sÃ¥ lämnar den biten helt) “recycla” dina objekt när du är klar med dem.
Så jag måste säga att jag har missbedömt LS en aning, ganska mycket faktiskt. Det är inte alls så jobbigt som jag först trodde, när man väl kan komma över syntaxen vill säga. Tror dock att Java kommer fortsätta vara mitt förstahandsval, då är du 100% plattformsoberoende, plus att det kommer en mycket bättre Javaeditor i nästa eller nästnästa Notes/Domino-release. Det ser jag verkligen framemot.
10 februari 2009 Inga kommentarer




