Wednesday, October 8, 2008

Carl Bildt leads the way

Frequent blogger, our Minister for Foreign Affairs Carl Bildt just made the switch. His only regret is that he didn't make it earlier (Swedish).

And now the time has come for me, I've ordered an iMac this morning. I would have waited longer if it wasn't for the strange noise coming from the harddrive(?) of my four year old Dell desktop.

That machine has served me well, and I'm not the geek who craves the fastest processor every six months. Actually I always buy the second fastest machine available and usually save at least 25% on the price. An intresting fact is that the Dell runs at 2.66 GHz and the iMac at 2.8 Ghz. Whats is going on, Mr. Moore? ;-)

I'm not totally new to the Mac. There is a green iMac 1G on a table in my office, and there is Mac Mini we use as a media server sitting on top of the tv set. What worries me a bit is that I rely a lot on Outlook and Exchange. Is Entourage as good as Outlook?

I do hope that my current machine will survive the month it takes for Apple to deliver the new one.

Thursday, June 19, 2008

En dator är en bil

På en avgörande punkt har vi som är systemutvecklare misslyckats totalt. Nämligen vad gäller användarens/förarens kontroll av maskinen. Lika lite som en förare kan godta att förlora kontrollen över bilen, bör en användare godta att förlora kontrollen över applikationen i sin dator.

När det gäller förlorad kontroll av en bil kan det sluta med döden. Riktigt så allvarligt kanske inte förlorad kontroll av en dator är. Men det finns få saker som är så frustrerande när ett program låser sig, om så bara för två sekunder, när man behöver ha någonting gjort.

Detta är sannerligen inte ett olösbart problem, rent tekniskt. Det handlar snarare om vår inställning (som utvecklare) mot våra användare. Bristande respekt. Ofta mot oss sjäva fascinerande nog.

Men vissa operationer tar lång tid, eller hur? Andra är beroende av att operativsystemet skall svara, eller hur? Javisst. Men nu finns ju en magisk sak som kallas tråd. Låt gui:et få en tråd. Gui:et vill ha en tråd.

Sen är det såklart så att operativsystemsmakarna måste skärpa sig i lika hög grad. Frågan är om vi inte skall lära av Intel och andra som gör CPU:er?

Användarna måste få tillbaka kontrollen. En dator är en bil. När man svänger på ratten skall bilen svänga nu, inte om tio sekunder.

Thursday, June 12, 2008

Verktyg för Scrum på distans

I mitt nuvarande uppdrag är projektlaget utspritt, men vi kör ändå Scrum. Följande verktyg gör det möjligt.
  • Google Spreadsheets: Task board och backlog.
  • Skype: Ständig uppkoppling med ljud gör att man nästan jobbar i samma rum.
  • Trac på assembla.com: Wiki och subversion-repo gratis.
  • X2000: Förenklar IRL-möten (så länge det inte är skogsbrand)
  • 3G-modem och flatrate: Hit the road!

Friday, November 30, 2007

Kärt barn

Jag har just börjat använda NIC-SEs domänhanterare och den funkar utmärkt. Men vänta nu, vad heter dom nu igen?

— NIC-SE? Nä, dom har bytt namn.

— Stiftelsen för Internetinfrastruktur? Ja så heter dom, fast dom kallar sig något annat.

— .SE? Ja, så kallar dom sig, fast det är dom ju inte ensamma om.

— iis.se är domänen, undrar vad det står för?

Är det för mycket begärt att organisationen som står för Internet i Sverige heter det dom kallar sig och har motsvarande domännamn? Lika bra att fortsätta använda NIC-SE så att folk förstår.

Wednesday, October 17, 2007

Är Sony Ericsson bara hårdvara?

Jag noterar att 50% av UIQ säljs av Sony Ericsson till Motorola. UIQs mobilplattform bygger vidare på Symbian och erbjuder ett goare gui och ett antal applikationer. Systemet används bland annat av Sony Ericsson och Motorola.

Frågan jag ställer mig är: Konkurrerar Sony Ericsson endast med hårdvara? Kan en mobiltillverkare verkligen släppa allt som har med operativsystem, gui och applikationer att göra, och fortfarande stå ut från mängden?

Vad vore iPhone utan Apples eget operativsystem, gui, och applikationer? En stor gäspning skulle jag tro. Tänk om Apple hade släppt iPhone med UIQ Symbian i stället för Mac OS.

Men HTC då? Dom gör ju finfina mobiler som kör någon annas operativsystem, nämligen Microsofts Windows. Skillnaden är att Windows är det bästa systemet om man vill vara synkad med Exchange och Outlook. Detta faktum gör HTCs val av Windows till en merit snarare än en belastning.

Problemet är nog därmed inte vem som bygger ens operativsystem och applikationer, utan hur bra systemet är, hur coolt det är, och hur nyttigt det är. Jag måste därför mana Sony Ericsson och Motorola till kamp, för att skapa något som tar det bästa från iPhone, det bästa från Windows och därefter lägger till någonting lika fint själva. Kom igen nu!

Friday, October 12, 2007

Goda fördomar

Mina fördomar om vad virusdödare och säkerhetsprogram gör med din dator infriades tyvärr med besked.

Efter att ha hört Mikko Hypponen snacka på Technometria, och läst Datormagazins test av säkerhetsprogram bestämde jag mig för att installera F-Secure Internet Security 2008. Hittills har jag hållit mig till ZoneAlarm och sporadiska virusskanningar med testversioner av McAfee. Men om Mikko har rätt, och han verkade ju smart, räcker det inte med en enkel brandvägg mot dagens hot.

Men ack vilket misstag! Jag fick helt rätt i min bild av att virusprogram segar ner datorn och skapar allmänt strul. För att sammanfatta:

  • För att installera testversionen av F-Secure var jag tvungen att avinstallera ZoneAlarm. Det räckte inte att stänga ner programmet, utan naturligtvis måste allt bort.
  • Applikationer skall kunna installeras utan ombootningar. Allt annat är ett tecken på att utvecklarna inte vet vad dom håller på med. Jag har ett antal applikationer körandes och att starta om datorn tar ett bra tag, så det slipper jag helst. För ett säkerhetsprogram kan kanske EN ombootning vara okej, med tanke på hur lågt programmet måste hålla till i operativsystemet. F-Secure kräver givetvis två ombootningar.
  • Väl uppe och kör är själva F-Secure-appen otroligt seg. Det tar 10 sekunder att få upp en dialogruta för inställningar. Dialogerna går inte att förstora trots att dom innehåller listor som både är längre och bredare än vad som får plats. Man ställer sig genast frågan: Om dom inte ens får till GUI:et, hur ser då koden ut under skalet?
  • Att starta upp IntelliJ tar vanligtvis över en minut, och nu då? Jag mätte inte tiden men det tog mer än fem minuter med F-Secure installerat!
Droppen som fick mig att avinstallera skräpet var ändå att Outlook slutade skicka mail. Alla mail lågt snällt kvar i outboxen, utan klagomål från varken Outlook eller F-Secure.

Jag har mailat F-Secure om problemen utan att få något svar. Hmm, vad väntade jag mig. Sorry, Mikko, men jag hoppas du förstår min frustration. Jag hoppas att ni kan åtgärda dessa problem och fortsätta vara en nordisk förebild i it-branschen.

Tuesday, January 23, 2007

Htmlvalidering som en del av enhetstester

Jag har använt CSE HTML Validator för att validera genererad html. Programmet utför inte bara validering utan ger bra tips om vad som bör finnas på en sida. Allt detta är bra men hur automatiserar jag valideringen och gör den till en del av mina enhetstester? Denna funktion erbjuder inte CSE HTML Validator så jag har googlat men utan att hitta ett bra svar.

Men nu har jag svaret! Inspirerad av Tim O'Reilly som för länge sen insett att internet är ett operativsystem kom jag på att använda W3Cs valideringssida, tillsammans med HtmlUnit.

Så här går det till:
  1. Fråga din webbapp efter den html du vill validera.
  2. Stoppa in denna html in rätt formulär på validator.w3.org.
  3. Submitta och kolla sedan att texten "Passed validation" finns på svarssidan.
Klart. Busenkelt. Här kommer all javakod som behövs:
public class HtmlTest extends TestCase {

public void testPage() throws IOException {
// Get the WebClient that is part of HtmlUnit.
WebClient webClient = new WebClient();

// Get the html we want to validate, in this case the front page
// of skickafilen.se.
Page htmlPage = webClient.getPage("http://skickafilen.se");
String htmlToValidate = htmlPage.getWebResponse().getContentAsString();

// Get the validator page from W3.
HtmlPage validatorPage =
(HtmlPage) webClient.getPage("http://validator.w3.org/");

// Find the textarea and enter the html we want to validate.
HtmlForm form = (HtmlForm) validatorPage.getForms().get(2);
HtmlTextArea textarea =
(HtmlTextArea) form.getTextAreasByName("fragment").get(0);
textarea.setText(htmlToValidate);

// Submit the validator page and store the resulting page in a string.
String result = ((HtmlPage) form.submit()).asText();

// Make sure our html validated ok.
assertTrue(result.contains("Passed validation"));
}
}

W3C har även ett SOAP-gränssnitt mot valideringstjänsten men vem orkar bry sig om något så überkomplicerat som SOAP?

Archive