tisdag, oktober 31, 2006
Höst
Nu är det höst på riktigt, regn och blåst. Skönt. Matte tentan gick bra, den gick faktiskt väldigt bra, jag fick betyg fyra av fem möjliga. Det känns som att jag har bättre kontroll över mina studier nu när jag inte behöver planera in rugbyträningar och matcher i veckoschemat. Jag har inte fått svar på C# tentan ännu och jag väntar på besked om jag får tillgodoräkna mig examensarbetet från KaU.
Firefox 2 har kommit ut och det fungerar bra, jag gillar rättstavningsfunktionen.
I måndags när jag satt och mumsade lunch kom en kursare och satte sig vid samma bord, han pratade om TCPA som jag inte visste någonting om. Om du är nyfiken föreslår jag att du söker på Google, det är väldigt intressant.
Jag tycker att idén i stort är bra, hindra farlig mjukvara från att spridas och låt folk betala för programvaran de använder. Det jag inte gillar är idén att Microsoft (med vänner) ska ha total kontroll över min dator -min egendom! Det handlar inte längre om att "storebror ser dig" utan -storebror kontrollerar dig. Enligt kursarn skulle det inte ens gå att installer Opensource program på datorn eftersom de inte är med i programmet.
fredag, oktober 27, 2006
Projektgruppen


tisdag, oktober 24, 2006
Lättnad


tisdag, oktober 17, 2006
Laben i C# klar


fredag, oktober 13, 2006
Bilder


torsdag, oktober 12, 2006
Dark
Mitt projekt i C# (spelet) är så långt gånget att jag inte tänker lägga ner mer tid och energi på det nu. Det sista steget var att bryta isär kompileringen av klient, server och bibliotek (dll). Läraren tyckte inte om mitt hack där jag kommenterade bort den entry-point som jag inte ville använda vid den kompileringen. Jag hade en "static Main" funktion för servern och en nästan likadan för klienten men eftersom jag inte kunde producera två exe filer med ett projekt i Visual Studio var jag tvungen att kommentera bort en åt gången för att bygga både klient och server. Fördelen var att jag, när jag testade, kunde kompiler ett program som startade en server och två klienter i separata trådar. Enligt nedan:
Men laborationsassistenen samtyckte inte. Jag hade kunnat bluffa mig runt hela problemet eftersom han inte viste vad han talade om men nu är jag så fördömt uppriktig och påpekar själv fel och problem och då får jag stå mitt kast. Till en början provade jag att kopiera projektet och ta bort den utkommenterade koden (det ena projektet (projekt och lösning (solution)) motsvarar klient och det andra server). Assistenten ansåg att: "det är inte objektorienterat att kopiera filer", jag fick retur.
Lösningen, som jag insett redan från början, var att ha en gemensam "solution" med flera projekt där projekten har möjlighet att använda sig av samma filer. Det fungerade så när som på att när jag valde att ha olika namn på programmen (DarkClient och DarkServer) fallerade deserialiseringen (när jag tar emot ett meddelande som är en klass så är den en ström av bits men jag vill såklart omvandla den tillbaka till ett objekt). Det visade sig att när jag kompilerade två varianter av "Message" klassen (som är meddlandet jag använder) med olika "assembly name" (DarkClient och DarkServer), så klarar inte mottagaren av att deserialisera.
Den klass som man serialiserar/deserialiserar måste inte bara vara lika i form av samma fil vid kompileringen utan måste också vara kompilerade under samma "assembly name". Som jag ser det nu är det puckat men det finns säkert en tanke bakom.
Lösningen var att lägga in "Message" i den dll som jag sedan tidigare skapat (eftersom det var tvunget att finnas en dll för att få godkännt på laben). Jag skapade således ännu ett projekt och la det i samma "solution" som jag hade för klient och server. Nu hade jag alltså tre projekt i samma "solution":
Såhär i efterhand hade jag kunnat använda den här lösningen hela tiden, om jag bara vetat att jag hade möjligheten. Summan av kardemmumman: vad jag i linux kunnat gjort med en Makefile på under en minut tog mig i Visual Studio ca 8 timmar av frustration och irritation.
Så vad blev det för spel då? Här är en bild som beskriver spelet ganska väl:



måndag, oktober 09, 2006
Att refaktorisera eller icke refaktorisera
Mitt spel är sågott som klart men det går att förbättra mycket. Som exempel skiljer jag på de olika former av meddelanden som finns med hjälp av en enumerator. Alla meddelanden ha möjlighet att innehålla all information men skiljs åt med en enumerator. Mycket onödig trafik och ett par stygga switch satser när meddelandet ska vidarebefodras till rätt metod under behandlingen. Om jag haft gott om tid hade jag inte tvekat en sekund utan refaktoriserat så mycket jag orkat. Tyvärr ska det vara klart -helst idag. Är det värt att refaktorisera?
Helgen var trevlig och jag hann tillochmed med att padla lite kanadensare. Min äldsta bror med fru bjöd på ostbricka med frukt och det var väldigt gott. Jag tittade på kontrollskrivningen som jag borde ha skrivit i fredags men missade p.g.a. otittande i kalendern, den såg inte alls omöjlig ut. Snarare lättare än den första.
onsdag, oktober 04, 2006
Voj-voj
Eftersom jag har ungefär en timmes resväg till skolan har jag börjat gå upp klockan sex för att kunna vara i skolan till klockan åtta. Det är lite jobbigt nu när det är mycket att göra och jag kommer hem sent på kvällarna. Men det går.
På fredag är det kontrollskrivningsdax i Matematik 1, jag ska ta mig tid och repetera imorgon. Inför den förra skrivningen hann jag inte repetera alls men då kände jag mig mer på hugget, jag får försöka sova lite längre imorgon och se om det hjälper.
I helgen ska vi till Stugan, jag har inte varit där på länge (som vanligt) så det ska bli skoj. Extra kul nu när mamma och Claes styr stället. Ida har inte varit där förut så det ska också bli kul. Och jag fyller år.
Bredband i Rydbo är ingen enkel fråga men nu verkar det som att vi fått tag i L-Com som är vår kabeltv leverantör och genom dem ska vi kunna få 128kbit/s för 140kr/månad vilket verkar rimligt. Jag är övertygad om att Henrik hade ett kabeltv-modem ifrån när han bodde på potatisen men nu vet jag inte vart det tagit vägen så det blir till att köpa ett nytt för en tusenlapp.
Spelet som jag utvecklar som en del av C# kursen är nu spelbart, man startar en server någonstans och ansluter till den med valfritt antal klienter över tcp/ip. Ett problem är att det kan lagga lite då alla förflyttningar konfirmeras hos servern, man skulle kunna säga att den agerar proxy för klienten, mellan inmatningen och det visuella gränssnittet. Det är inte klart än och kommer säkert aldrig att bli eftersom jag har mycket annat att göra. Idag kl 11:30 ska det redovisas och på tisdag/onsdag nästa vecka är slutredovisningen. Här är ett UML diagram (jag vet att det inte är snyggt modellerat):

Prenumerera på:
Inlägg (Atom)