Category Archives: Programmering

Automatiskt avstängda bloggar

Under lördagskvällen har jag sutitt och lagt till ny funktionalitet i mitt underhållsprogram för Weblog Updates.

Främst har jag lagt till möjligheten att stänga av bloggar och låter programmet automatiskt stänga av bloggar som är spam eller inte fungerar. Exempelvis stängs alla bloggar av som inte fungerar. Det är bloggar där dns-uppslagen inte fungerar eller som genererar felkoderna 404 och 403 som automatiskt pausas.

Ett av de roligaste problemen programmet hittat hittills är nog “The server committed a protocol violation”. Felkoderna 500 etc hanteras inte i den här första versionen av kontrollen.

Antalet bloggar i databasen uppgår förnärvarande till cirka 6 000 st. Därför har jag påbörjat sidindelning. Status för stunden är att bara 50 bloggar visas – det är klart bättre än 6 000.

Mobiltelefoner Ericsson

Jag har mängder med registrerade domännamn som bara är projekt som en dag ska bli av. Under kvällen har jag faktiskt tagit tag i ett sådant projekt och byggt en enkel webbplats.

Jag har kodat i PHP och bland annat upptäckt funktionen strip_tags() som gav en mycket enkel lösning på ett problem innan jag ens hunnit börja fundera på hur jag skulle få bort oönskade html-taggar från min utdata.

Resultatet är en stilren (om jag får säga det själv) hemsida som listar alla artiklar jag skrivit om mobiltelefoner från Sony Ericsson inklusive ett smakprov av artikeln och en länk till den fullständiga artikeln på min sida om mobiltelefoner.

Jag plockar ut alla artiklar från rätt kategori ur mysqldatabasen som wordpressbloggen använder och listar dem själv.

För en gångs skull gick det mesta som jag tänkt redan från början. Jag satt och svor en halvtimme över CSS-en som behövde en “float: left” för att genereras korrekt. Stort tack till Patrik för påpekandet. Nu validerar såväl min strikta XHTML som min CSS. 😉

Vill du beskåda kvällen alster finns den på mobiltelefoner ericsson.se

Falsk SMS-biljett

SL, Storstockholms Lokaltrafik, har ingen kontanthantering på bussar på grund av en mängd rån av bussförare. Som alternativ erbjuds möjligheten att köpa en biljett med mobiltelefonen som levereras elektroniskt i form av ett SMS (textmeddelande).

Det finns faktiskt en anknytning till javaapplikationer i mobiltelefoner i slutet av det här inlägget 😉

SL:s sida om SMS-biljetter

Det finns flera nackdelar med SMS-biljetter:
1) SMS-biljett kan inte köpas med utländska mobilabonnemang. De allra flesta som inte alls vet att det inte går att köpa biljett på bussen är turister, de flesta från utlandet.

2) Det är svårt att visera en SMS-biljett. Föraren, spärrvakten eller övrig personal som ska försöka verifiera att biljetten är giltig behöver kontrollera att tid, datum och zon är korrekt. Det finns också ett par andra enklare kontroller för att kontrollera att biljetten är giltig. Informationen är svår att överblicka och ryms inte alltid på en liten display som för övrigt kan vara svårläst. Personalen får dessutom inte ta i mobiltelefonen eftersom arbetsgivaren inte vill ersätta en skadad mobiltelefon efter att den tappats eller liknande.

3) En sms-biljett kan inte kompletteras. Det är enligt taxebestämmelserna inte tillåtet att kombinera en
sms-biljett med exempelvis en kontantkupong. Har du rest i zon B och C och vill resa in i zon A måste du köpa en helt ny biljett till fullt pris.

4) En sms-biljett kan inte korrigeras. Om du råkar köpa en biljett för resa i zon A men i själva verket befinner dig i zon C kan du inte lämna tillbaka den första biljetten och få en ny. Du måste köpa ännu en biljett.

Ungefär samtidigt som SL införde sms-biljetten dök det upp nya möjligheter att fuska. I vissa mobiltelefoner är det möjligt att redigera ett mottaget SMS och plötsligt får den gamla biljetten ny giltighetstid. Givetvis går det också att vidaresända ett mottaget SMS till en annan mobiltelefon och vips finns en kopia av biljetten.

Framförallt finns små applikationer i java som kan köras i de flesta mobiltelefoner som generar och visar information som vid en mindre nogrann kontroll ser ut precis som en giltig sms-biljett.

Första generationen SMS-biljetter bestod bland annat av “pluskoder”. Det var tre rader med information som började med ett plustecken(+). Under sommaren 2009 kom andra generationens SMS-biljetter med ett nytt utseende utan pluskoder. Första veckan efter bytet avvisades mängder av resenärer med falska sms-biljetter som var extremt lätta att upptäcka. En giltig biljett innehöll inga pluskoder medan en ogiltig gjorde det.

Givetvis uppdaterades javaapplikationen och anpassades till det nya utseendet. Men den som inte kan hantera sin mobiltelefon korrekt och gör bort sig kan fortfarande bli avvisad. Under eftermiddagen råkade jag ut för ett av de klumpigaste försöken hittills:

En kille i de övre tonåren kliver på bussen och lagom när han sträcker fram mobiltelefonen mot mig kommer han åt en knapp. Biljetten försvinner. Jag ska precis påpeka att han lyckats trycka bort sms:et när en applikationslista dyker upp med applikationen “ticket” markerad. Jag gratulerade till att han lyckats trycka bort sin falska biljett och avvisade honom.

Uppdatering: DN har efter flera år tillslut snappat upp att det går att förfalska sms-biljetter. Enligt artikeln har dock falska biljetter bara funnits sedan hösten 2010 och SL ska inte känna till problemet ;).

Programspråk

Efter att en förfrågan om programmeringsböcker på Webmaster Network ledde till en diskussion om programspråk tänkte jag skriva lite om min syn på vad som gör olika programspråk mer eller mindre bra.

Jag började lära mig programmering på högstadiet. Jag och min bäste vän programmerade i programspråket Basic. Jag hade då en Atari och med den följde FirstBasic medan min vän hade en PC och till en början Microsoft QBasic. På sikt skaffade även jag en PC och vi övergick till den mer avancerade QuickBasic Extended som kunde kompilera och hade någon form av primitivt databasstöd. Vi gav oss på programspråket C till och från, men steget från Basic till C var stort till en början.

På gymnasiet läste jag ett par programmeringskurser och lärde mig Pascal, C, C++ och avslutade med en kurs i windowsprogrammering baserad på Borlands Open Window Library.

På universitetsnivå har jag läst en kurs i C och en i Pascal på IT-universitetet i Kista. Jag har också jobbat ett halvår som konsult i pascalbaserade Borland Delphi.

Min favorit bland programspråken är Java. Det är inte perfekt, men det är starkt typat, objektorienterat och på det hela taget rätt smidigt. Det finns nackdelar och i vissa fall kan andra programspråk ha klara fördelar.

Det bästa rådet inför valet av programspråk är att välja det du kan bäst. Är du nybörjare som inte kan något programspråk alls beror det mer på situationen vad som är att föredra.

Det finns programspråk och det finns skriptspråk. Skriptspråken heter vanligen något med “script” såsom VBScript eller JavaScript. De används oftast i webbsammanhang även om VBScript kan användas för systemskript i Windows.

ASP och PHP är skript som exekveras på serversidan. ASP skrivs i VBScript eller JavaScript. PHP är ett eget skripspråk. De serverexekverande språken kan oftast felsökas enkelt, medan de skript som körs i webbläsaren är helt hopplösa att felsöka. För webbläsaren gäller bara JavaScript. VBScript fungerar i och för sig också, men bara i Internet Explorer. JavaScript fungerar i nästan alla webbläsare, problemet är att det inte fungerar på riktigt samma sätt i alla. Ett skript kan fungera utmärkt i en viss version av en viss webbläsare och ge jobbiga felmeddelanden i en annan.

Jag föredrar programspråk som är starkt typade och där variabler måste deklareras. De ska också vara kompilerande – då har du en kompilator som gör en mängd kontroller av koden och tidigt upptäcker många fel.

Om variabelnamnen måste deklareras upptäcker kompilatorn ofta felstavningar; vilket är mycket trevligt. Det kan annars ge upphov till de mest konstiga problem.

Ska jag själv välja programspråk blir det gärna Java eller C#. Men olika programspråk har olika fördelar.