|
Studiestart Lagt p 04/02-04 Det er efterhånden ved at være et stykke tid siden, jeg har skrevet noget nyt på denne side. Det skyldes dels, at der ikke er sket noget nyt af interesse i AaB, og dels at jeg har haft meget at se til, plus det, at der har været mere interessante ting. Det kommer også til at fremgå af denne artikel, som ikke hører til de korteste.
Uddannelsen
Først og fremmest er jeg jo startet på kandidatoverbygningen Distribuerede Realtidssystemer indenfor Teknisk IT, som udbydes i samarbejde mellem Ingeniørhøjskolen i Århus (IHA) og Århus Universitet (AU). Allerede fra starten kom jeg jo bagud, fordi jeg var til den sidste eksamen tirsdag, den 27. januar, hvor jeg skulle starte studiet den 26.
Oven i købet har jeg ikke kunnet få lavet nøglekort, som man skal have for at kunne komme ind i bygningerne på universitetet, fordi jeg ikke har fået mit eksamensbevis, hvorfor jeg ikke kan få lavet et studiekort. Og som om det ikke var nok, har jeg også skullet bytte faget Distribuerede Systemer ud med et andet, fordi jeg havde nøjagtigt samme fag på sidste semester i Aalborg.
Derfor har jeg faret frem og tilbage mellem IHA og AU for at snakke med folk om, hvordan man skal gøre, og derimellem har jeg så skullet finde et fag, som passede ind i mit skema, og som også var interessant. Det er nu endeligt faldet på plads, at jeg i første kvarter (på AU er et semester delt op i to kvarter) på dette semester har faget Software Architecture for Mobile and Wearable Computing, hvorefter jeg i andet kvarter som planlagt skal følge kurset Sikkerhed.
Concurrency-kurset
De andre kurser, jeg følger, er Concurrency og Indlejrede Realtidssystemer. Concurrency handler om at modellere samtidighedsaspekter af software og på den måde tage hånd om disse problemer, inden man begynder at kode. Samtidighed er et problem, når flere programmer (i fagsprog processer eller tråde) deler en ressource.
Har to mennesker for eksempel adgang til samme bankkonto, kan der ske det, at de begge to først læser saldoen, eksempelvis 100, uden at de ved, den anden gør det. Herefter går de hver til sit og regner den nye saldo ud, og skriver herefter denne saldo i bogen. De vil begge trække 10 kroner ud af kontoen, så den nye saldo bliver regnet ud til at være 90 og herefter skrevet i bogen. Problemet er, at ingen af de to ved, den anden har læst kontoens saldo, hvorfor de ikke lægger mærke til, at saldoen i mellemtiden har ændret sig, og derfor går der en opdatering tabt.
Den nye saldo burde jo have været 80, og formålet med faget er at sørge for at undgå, at opdateringer går tabt. Der er forskellige teknikker til at gøre dette; for eksempel kunne eksemplet løses ved at låse bankbogen inde, inden man begynder sin beregning, så ingen kan læse saldoen, før man har skrevet den nye saldo. Disse teknikker har dog følgeproblemer, som også skal håndteres.
I både Indlejrede Realtidssystemer og Software Architecture for Mobile and Wearable Computing indgår der projektet i bedømmelsen af faget, og disse projekter vil jeg fortælle mere om i den nærmeste fremtid. Jeg kan allerede nu afsløre, at det er interessante projekter - i hvert fald for mig.
Beat the Bookie
Ellers har jeg brugt en stor del tid på at rette i koden til det sidste semesterprojekt, jeg deltog i på AUC. Vi lavede et system, der skulle kunne gætte på udfaldet af fodboldkampe på baggrund af tidligere spillede kampe, men systemet virkede ikke ret godt, og var faktisk ikke meget bedre til at gætte end et terning er.
Der var dog ting i designet, som ikke var helt hensigtsmæssige, og dem har jeg så arbejdet på at rette. En del af systemet handler om at kunne arbejde sig frem til en bestemt vægtning at data fra de tidligere kampe, som giver gode gæt, og dette gjorde vi med en genetisk algoritme, som fungerer ligesom den biologiske udvikling.
Man starter med en masse forskellige bud på vægtninger, og de vægtninger, der giver de bedste resultater, har størst chance for at overleve til næste generation (survival of the fittest). Efterhånden skulle vægtningerne så blive bedre og bedre, fordi der samtidig laves 'børn' af vægtningerne, som forhåbentlig arver forældrenes gode egenskaber og dermed bliver endnu bedre til at gætte.
Som det nok fremgår, kan det tage frygtelig lang tid, før der kommer gode resultater, så jeg ved ikke, om systemet ender med at blive brugbart. Allerede nu kan jeg dog se, at ændringerne har haft en vis succes, idet den bedste vægtning nu i gennemsnit gætter 1½ procentpoint bedre på det resultat, der i virkeligheden blev udfaldet af kampen, sammenlignet med den bedste vægtning før. Så måske med tiden...
Creative Jukebox
Jeg har også købt en Creative Jukebox, så jeg kan høre noget musik på de lange rejser, når jeg skal hjem til Aalborg. Desværre er den tilhørende software ikke så god til at læse id3-tags på mine mp3-filer (bare rolig, de er lovlige, for jeg har original-cd'erne), og derfor ligger der en hel del arbejde i at rette i disse tags, så afspilleren kan læse dem. Jeg er nået til M i alfabetet, så jeg er cirka halvvejs. En god dags arbejde mere, så skulle min musik gerne være bærbar.
En anden god ting er, at jeg har fået den store Stofa-pakke installeret, så nu kan jeg se Zulu, TV3, 3+, Viasat Sport og diverse andre interesante kanaler - altså dem, der viser fodbold. Mens jeg har skrevet dette, har Tottenham og Manchester City spillet en helt forrygende kamp i FA Cup'en, hvor City bagud 3-0 i pausen, og med en mand i undertal, fik vendt resultatet til 4-3. Naturligvis til stor og hørbar utilfredshed på White Hart Lane. |