Pirate Party Ad

söndag 23 september 2007

UTF8 and MySQL

To get LAMP to work with UTF8 encoding is not as easy as one would like to think it is. This spring I had huge trouble to get it to work. I had set all the table and database settings to UTF8 and the problem presented itself when PHP connected itself to MySQL and tried to present a query to a (browser) client. The MySQL client always hesitated to convert everything to latin1 encoding.

In the beginning i used the old mysql PHP module and later tried the new mysqli PHP module. Neither of these gave the right encoding. mysqli even has a special function to set the prefered encoding but it didn't work, neither did changing locale on the server/client help me - nothing, niet, nada.

Googling the web told me that I wasn't the only one having this problem. There were numerous bug reports at MySQL's website and people were trying all different sorts of things on forums and blogs. Finally I found a solution to the problem and it is to run the command

SET NAMES utf8
every time the (PHP) MySQL client connects to the server.

If you have administration right to the MySQL server you're connecting to another way is two add the line
[mysqld]
...
init_connect='SET NAMES utf8'
...
in /etc/mysql/my.cnf (or whatever the MySQL configuration file is called...).

Why I'm writing this now is because I didn't have a blog this spring and I just encountered the problem again. It's a strange MySQL haven't done something about this, especially when they're claiming that they have full UTF8 encoding.

torsdag 20 september 2007

Dave Matthews Band

I tisdags var det dags för min första konsert i amerikalandet! Om kameror hade varit tillåtna så hade jag kunnat lägga upp lite bilder, men så var inte fallet...


Dave Matthews Band under en spelning i Australien 2005.
(bilden är tagen från Wikipedia och är publicerad under The GNU Free Documentation License)


Vad: Dave Matthews Band
Dave Matthews hade 1991, då han bodde i Virginia, lite musikaliska idéer som han ville testa och formade då bandet Dave Matthews Band. Bandet är ett 6-personersband (trummor, el-/akustisk gura, fiol, bas och ett par blåsinstrument - vanligtvis sax och trumpet), och spelar vad jag skulle kalla nån sorts "upprockad jazz, till sång". Sångaren Dave Matthews har en mycket ball röst och är en jävel på att hitta bala riff på gitarren!

Dave Matthews Band är mycket populära i USA, men har inte spridit sina korn mot Europa lika väl. Jag kom över dom på nätet för något år sedan och tyckte att de var hippa.

Var: (Utanför) Raleigh
Officiellt så var konserten i Raleigh, som ligger lite över en bussfärd, österut härifrån. Inofficiellt var konserten en kvart med buss ut från Raleigh för att sedan promenera i en extra kvart. Ute i ingenstans så finns det nämligen en jätteenorm amfiteater (Walnut Creek) med gräsytor längst bak och stolar med tak över sig längst fram. Allting riktat mot en i amerikanska mått säkerligen liten scen, men i svenska... :-)

Alltid kul att få en liten glutt av Raleigh, där State University of North Carolina ligger - ett universitet som jag ryktesvägen egentligen ska vara lite bättre vad gäller matematik och ingenjörskurser. Jag har för övrigt en vän i Lund som ska dit nästa termin.

När: Tisdag 18/10-07 ~20:30-23:00
Ingen kommentar :-)

Hur (var det)?
Min första reaktion var att jag trodde att det var ett större band. De inspelningar jag har lyssnat på har ett mycket stort ljudrum och jag var imponerad över hur dessa sex herrar (inga kvinnor!) på scen kunde låta så stabila.

Ordet "stabilt" kommer igen, och på något sätt så var väl det det som också var deras motgång den här konserten. Allt kändes mycket planerat, förmodligen strikt inplanerat för deras tour, och jag saknade lite av spontanitet. T.ex. så var mellanspelen precis likadana på en del livespelningar jag har lyssnat på... Kan det ha varit att de spelat denna välplanerade tour så länge som gjorde att de glömde bort att kontakt med publiken eller var det bara att folkmassan var så stor?

Sist men inte minst så var de fantastiskt duktiga på att göra spännande övergångar mellan låtarna utan att pausa, men många långa instrumentala stycken - som många gånger kan få publiken att skriva sig i stolarna - men inte denna gång! Ett par gånger övergick de bland till latinamerikansk musik och jammade loss ordentligt för att sedan smidigt övergå till en ny låt.

Återigen, Dave Matthews är en jävel på gitarr och har en ball röst.

Over and out. I november ska jag se Ani DiFranco ([1], [2]) - det kan bli hur hippt som helst!

PS. Micky, jag gav dig en skiva med Dave Matthews Band en gång. Kommer ihåg? DS.

PS2. Tack för alla trevliga kommentarer ni har skickat mig! DS2.

Referenser:

Kul länkar

För att göra dagen lite gladare för er alla så skänker jag er här några roliga länkar på nätet:

  • En mycket rolig artikelDN.se om vandring i Himalaya.
  • Project Euler - mycket beroende framkallande quizliknande tjänst för alla hobbyprogrammerare (och kanske hobbymatematiker). Min genius level är för tillfället 11%, men jag får medge att jag inte har arbetat mycket på min status på ett tag :-)
  • pi-calculator - ett roligt projekt för den inbitne matematikprogrammeraren.
  • GPG4WIN - gratis program för att skicka säkra krypterade e-mail. En svensk manual håller på att översättas.
  • poesisidan.se/blogg - en blogg innehållande dagliga haikus på svenska. Mycket underhållande och beroendeframkallande.
Keep on surfin'.

UNC wireless network on Ubuntu Linux

Finally I got the encrypted UNC wireless network (WLAN) working on Ubuntu today (in Ram Village Dining hall)! I have yet to try further to really be sure it works, though.

Since I arrived at UNC I have not managed to get the wireless working in Ubuntu Feisty 7.04. I tried the inofficial instructions given at the ITS website*, but to no extent. Of course the more I tried the less sure I was what encryption that was used at the campus etcetera.

Also, what is a bit sad, is that the GNU/Linux instructions given on the ITS website requires the user to use a terminal - which isn't required in most distributions nowadays!

This is what I did to get the wireless working (these instructions requires that you use GNOME as you desktop environment - and should probably work with any distribution which does so):

  1. Install the "Network Manager Applet". In Ubuntu this can be done by installing the "network-manager-gnome" package in the Synaptic Package Manager.
  2. Restart your computer (maybe restarting GNOME will be enough).
  3. When GNOME is again up and running you should have a new icon in the top right corner of your screen containing something like one computer in front of another. This icon is the GNOME Network Manager Applet.
  4. Double check that your wireless network card is turned on. Some computer's got a button to turn it on, some don't. Usually the wireless LED begins flashing on most computers. By turning on the WLAN the computer automagically begins to search for wireless networks around your computer.
  5. After a few seconds a left click on the network manager applet should give a list of the available WLAN:s together with their signal strenth. For many network it is just to click on any of the to get them working. For the UNC wireless network DON'T...!
  6. ...instead click on "Connect to Other Wireless Network Network..."
  7. Network name should be "UNC-1", wireless security should be set to "WEP 64/128-bit Hex", authentication should be "Open System" and the key is the key given by ITS (I guess they don't want me to post it here...even though the encryption sucks).
  8. Press "Connect", sometimes the GNOME Keyring Manager requires you to enter your password. This is to be able to save the WEP key so that it can connect automatically for you later on.
If all is well you should be given an IP-adress and the network should work straight away. Try fire up your web browser and see if it works.

Good luck and I hope this helps!

* Notice that the program 'dhcpcd' is replaced by 'dhclient' on Ubuntu. The link requires an onyen login - which all students at UNC have.

måndag 17 september 2007

Kär utbildning har många namn

När någon i Sverige frågar mig vad jag läser brukar mitt svar variera. Säger man "matematik" får man lika många höga suckar som stirrande blickar - tänk att ett ämne kan vara fyllt med så många känslor, gamla skolminnen och fördomar. Ni vet alla hur jag är så mycket för att förklara, men vissa människor börjar springa bort från mig redan innan jag har hunnit säga "matem..." - hur ska man då kunna ge både matematiken (och därmed rädda sig själv) en chans?!

Min vän Calle i Lund menar att utbildningen Teknisk Matematik, som jag läser på Lunds Teknisk Högskola (LTH), än så länge är så ny att han hellre skulle sagt att han läste Teknisk Fysik. Detta för att min utbildning är hämtad ur Teknisk Fysik-utbildningen och för att denna är så mycket mer allmänt känd. Men vill jag inte skylta med Teknisk Matematik och sprida att den finns? Ordet "Fysik" är förmodligen mindre negativt värdeladdat, men är ändock i samma klass som "Matematik" vad gäller fördomar, känslor och skolminnen.

För att enklast förklara vad jag läser, både i Sverige och här, så säger jag numera många gånger "tillämpad matematik" och lägger ibland till en knorr där jag mumlar nått om "matematik och data". Anledningen till att jag lägger fram min utbildning på detta sätt är flera:

Den första är relativt enkel - en amerikansk "civil engineer" är (iallafall i dessa krokar) inte vara samma sak som en svensk "civilingenjör". Efter att mina första veckor här fått behöva förklara om och om igen att jag aldrig någonsin kommer att bygga en enda bro i hela mitt liv så fick jag helt enkelt byta namn på min utbildning.

För det andra så är "Tillämpad matematik" ett mycket luddigt begrepp, till det positiva i det här sammanhanget. Om Lisa, som är rädd för matematik (för det är ju det det egentligen handlar om! - mattefobi), hör någon som mumlar "tillämpad matematik" så vet hon inte lika mycket om hon ska springa eller inte. Om jag då är snabb så brukar man kunna flika in någonting intressant och spännande så att Lisa stannar och lyssnar - och slappnar av lite(!). (har ni sett hur folk spänner sig i hela kroppen när man nämner matematik?! Inte? Titta noggrant nästa gång ni ser någon nämna matematik...). Självklart har ingen någon aning om jag läser fysik, medicin eller datorvetenskap om jag säger "tillämpad matematik", men det är en annan femma som är lätt att lösa.

Någonting som har slagit mig mer och mer när jag läser här är hur disciplinen
matematik
skyltas annorlunda med här än på LTH, och kanske kommer just tillämpad matematik mer väl till pass här. Det finns en matematik-, statistik- och en datorvetenskapsfakultet. Visserligen att matematikfakulteten har teoretiska kurser, men fördelningen av den matematiska teorin som läses är annorlunda än i Sverige; I Sverige står matematikfakulteten och sträcker sina fingrar utåt mot andra vetenskaper, medan man i USA snarare har de tillämpade vetenskaperna som sträcker sina fingrar mot matematiken. Att du kan läsa bildanalys som en matematikkurs på LTH är ett gyllene exempel. Här läser jag nu min bildanalyskurs på datorvetenskapsfakulteten, och i den kursen så går vi igenom grunderna i den matematik som behövs.

Jag ser många hint:ar till varför denna iaktagelse stämmer in så väl med mycket annat här: "Teori är inte viktigt om det inte leder till någonting i praktiken". Denna mening säger inte bara någonting om USA och matematik, inte bara något om UNC, utan snarare väldigt mycket om USA. Min matematikkurs här handlar till exempel om analysera olika exempel på tillämpningar.

Tillåt mig nu att sväva iväg under några sekunder:

För att LTH och Lunds Universitet ska sluta trampa varandra på fötterna så är det kanske just en sån här profileringen som krävs - att matematik ska flyttas ut ur mattehuset till andra hus. Kanske ligger det en förbättring i att göra just detta - som man har gjort här.

När jag ändå är ute och grämer mig över civilingenjörutbildning så vill jag återigen trycka lite på fler exjobb. Civilingenjörer i övriga Europa kan ha upp till TRE(!) internships på företag innan de har tagit examen. I Sverige har vi en. Om tekniska högskolor ska kunna närma sig arbetsmarknad på ett bättre sätt så anser jag att mer praktik ute på arbetsplatser är relevant.

Tips: Så om du är en student som ska söka matematikkurser utomlands, se då alltså till att leta utanför matematikfaktulteternas kurser, för jag blev förvånad när jag sökte hur få matematikkurser som UNC hade - de låg vid andra fakulteter!

fredag 14 september 2007

Harry, Free Software Day & amerikansk fotboll

Ah! Äntligen börjar jag vakna upp ur min förkylningsdvala! Jag har varit ordentligt förkyld sedan i måndags och har sedan dess producerat både stora mängder snor och stönat högt över att min hjärna har känts som tuggummi. Min räddare i nöden har varit Harry, Harry Potter alltså, som har kommit till undsättning under de tillfällen när jag varit sängliggande och väck. Oj, oj, oj så spännande den femte boken "Order of the Phoenix" har varit! Denna bok är visserligen sedan klockan fyra i morse slutläst, finito och bakom mig - men jag kan knappt vänta tills att jag får tag på nästa bok! Har jag tur har Fleming denna i sin ägo...

I fredags så firade Open Source Initiative-gruppen här på UNC den officiella "Software Freedom Day". Inbjudna var en del intressanta föreläsare, bland annat:

  • Max Spevack, Fedoras Projektansvarig.
  • Amit Bhutani, Senior Linux programmer ansvarig för Linux på DELL.
  • Mark Finkle, programmerare och ansvarig för plugin-strukturen på Mozilla Firefox.
Utöver dessa så fanns även Creative Commons representerade vilket jag fann mycket glädjande att se! Till råga på det hela så fick jag också en e-postadress till en kille som varje månad åker till den närmaste LUG:en, Triangle LUG - najs! Tänk...snart kanske jag äntligen kan få träffa lite riktiga nördkompisar... ;-P

Utöver denna, för mig, heliga dag, så var det igår, Lördags, dags för ytterliggare en fotbollsmatch in-town. Intressant denna gång var att istället för att stå i publiken så arbetade jag på matchen - handbollslaget som jag spelar i kräver nämligen att man har ett visst antal pengar för att få spela i matcher/kupper så jag och nio andra gossar hoppade i några gråa arbetskläder och stod vid entren i 6 timmar. Jobbet gick ut på att le, vara trevlig, tydlig, skärpt och dra studenternas passérkort vid inträde - ett tungt jobb om man varit ute och tjoat och tjimmat kvällen innan och bara sovit sex timmarunder natten.

Efter att ha dragit kanske 4000 kort så känner jag säkrare på det mycket typiska amerikanska kallpratet; såsom "hey, how'r'u'doin'?" (man skiter i egentligen i vad folk svarar), "Hey, what's up?", "Enjoy the game", "Enjoy"... Den sista timmen var jag säkerhetsansvarig på planen nedanför publimassorna - himla häftigt och jag smygtog några bilder med mobilkameran. Jag lovar att man inte alls kände sig särskilt stor och farlig som vakt där nere :-)


Så vad har hänt mera den här veckan? Hans och danskan Anne-Mette har hookat upp och är nu lika keliga som två nykära syrsor, jag har haft ett fullt direkt samtal med min knepiga rumskompis, jag har lekt med svenskan Viveka och spelat mycket biljard med Hans...

Idag har temperaturen varit underbar ute - precis som svensk högsommar - och jag och Viveka har legat i sol och gräs under eftermiddagen och studerat. Mycket trevligt. Kvällningen var kall (16 grader!) och nu sitter jag i halvt underställ i vår kalla luftkonditionerade lägenhet.

Hade jag inte varit så himla schleten hade jag spöat Hans i biljard ikväll, men nu blir det istället lite lite läxläsning och sänggående.

onsdag 12 september 2007

Optimering av läsbarhet

I somras hade jag en sommaranställning i två och en halv månad med ett forskningsprojekt på Humanistlaboratoriet vid Lunds Universitet som lundabor finner nere i källaren på det nya Språk och Litteraturcentrum (SOL-centrum). Forskningsprojektet gick i korthet ut på att förbereda mätningar och analys av lästester från över 300 ekonomistudenter som skulle läsa en text på datorskärm i en kvart vardera. Experimentet skulle utföras under oktober månad nu i höst (2007).

Under utvecklingens gång stötte jag på många små problem och en av dessa gällde läsbarhet av texter på datorskärm under olika design ([1], [2], [3], [4], [1.5]). Jag gjorde lite bakgrundsundersökningar på Internet och fann mycket information gällande teckensnitt och utformning av dessa. Mer intressant var att avsaknaden av att undersöka hur olika färger fungerade tillsammans. Min chef Kenneth, som hade lite koll på området, trodde inte att det hade gjorts mycket undersökningar inom området.

Vissa sidor menade att det var viktigt att kontrasten mellan förgrund och bakgrund var viktig (duh!), men var fanns undersökningarna om olika färgkombinationer?

A. L. Hill (1997) hade visserligen en undersökning som många uppenbarligen verkar hänvisa till (då den dyker upp högt upp i sökning på Google), men jag tyckte att den vacklar i sin metod att välja ut de färger som analyseras för vidare analys. Att bara välja ut 6 stycken bakgrunds-/förgrundsfärger är en spott i havet. En dator representerar vanligtvis en färg i RGB (rött, grönt, blått) baspar. Rent teoretiskt ligger i de flesta fall varje färgstyrka i intervallet 0-255, vilket ger 256^3=16 777 216 olika färgkombinationer. Rent teoretiskt (kombinatoriskt) så finns det alltså (256^3)^2=256^6=281 474 976 710 656 ~= 2.8*10^14 olika bakgrunds-/förgrundspar. Hur kan man då välja ut 6 kombinationer av detta?

Motargumentetet är att ett mänskligt öga inte kan se någon större skillnad mellan RGB(0,0,0)/RGB(0,0,0) och RGB(0,0,0)/RGB(0,0,1) - visst, men tänk er då att intervallet 0-255 istället delas in i 16 distinkt olika färger. Detta skulle ge 16^6 = 16 777 216 olika kombinationer av förgrunds-/bakgrundsfärger - i jämförelse med 6 stycken!

Idag fick jag en liten idé som jag skulle kunna tänka mig att spinna vidare på. Det är ju rent praktiskt omöjligt att göra en undersökning som undersöker läsbarheten för alla dessa kombinationer av färger, men problemet skulle faktiskt kunna ses som ett optimeringsproblem: Givet färger så vill man optimera läsbarhet.

Om man gör antagandet att läsbarhet är proportionell mot läshastighet (och att försökspersonen inte slutar läsa texten) så skulle man kunna implementera en hemsida som beroende på hur snabbt en läsare läser en artikel kan optimera färgkombinationerna. Idag har många sidor sina artiklar uppdelade på flera sidor, och det är precis den funktionaliteten som man skulle kunna utnyttja.

Att läsare manuellt ger respons på läsbarhet i all ära, men vem orkar göra det?

Vilken optimeringsalgoritm man skulle kunna utnyttja är inte trivialt, men jag kan tänka mig att Simulated Annealing skulle kunna vara en mycket välfungerande algoritm för projektet, eller varför inte en evolutionär algoritm?

Det intressanta är att dessa idéer på ett sätt ligger i linje med två av de kurser jag läser nu. Datorgrafikkursen behandlar nu ytligt perception och hur ögat och hjärnan behandlar synintryck, såsom färger. Min matematikkurs, Matematisk Modellering, behandlar ytligt olika modeller för optimering - såsom just de ovannämnda. Modelleringskursen kommer att innehålla ett större projekt, är det detta jag vill göra?

Så vad krävs för att projektet ska gå i hamn?

  • En välbesökt sida (nej, min blogg är inte så välbesökt :-) - jag har i medel 2 besök per dag)
  • En sida med ordentlig databas.
  • En duktig programmerare som vill leka med parametrarna i den "simulerade stelningen". Givetvis kan färgerna inte slumpas fram helt till en början, utan något krav får nog finnas på exempelvis kontrast mellan färgerna.
  • Som alltid...tid och vilja.

Referenser:
  1. Readability Of Websites With Various Foreground/Background Color Combinations, Font Types And Word Styles, 1997, A. L. Hill (se också här)
  2. The Five-Finger Readability Rule, 12/9-07, K. Stout
  3. Wikipedia - Readability (in writing), 12/9-07
  4. Readability, 12/9-07, www.webdesignfromscratch.com