tankar om förkovring

Publicerat juni 8, 2009 av tankaromallt
Kategorier: Presentation Foundation, Programming

I helgen gjorde jag min första Workflow Foundation-applikation. Version 4 faktiskt med Visual Studio 2010 Beta. En mycket enkel applikation och det jag lärde mig var väl inte mycket. Det jag undrar mest över är implementationen av en aktivitet. Hur ser det ut tråd-mässigt. Detta får jag undersöka nästa helg då jag skall göra något till. En annan fråga som kommer upp är när man skall använda Workflow Foundation och när man inte skall göra det. Vilken är dess styrka? Det känns också som om en aktivitet inte är en light-weight klass. Så, nästa vecka skall jag alltså ha ett svar på om när Workflow Foundation skall användas samt hur trådmodellen ser ut.

tankar om torsdagar

Publicerat mars 12, 2009 av tankaromallt
Kategorier: Blog

Hemma från arbetet och är förkyld. Näsan rinner och det är förunderligt hur mycket snor människokroppen kan skapa. Jag vet att det betyder att mitt immunförsvar fungerar som det skall. Men det hjälper sällan mellan snörvlingarna. Om det nu finns något sådant ord.

Skummar igenom gamla inlägg. Över sex månader sedan mitt senaste. Många handlar om programmering. Idag lockar det inte särskilt. Tydligen är det slalomtävlingar i Åre hör jag på radion. Vonn vinner igen. Hon vinner alltid verkar det som. Hur stor är utförsåkning i nordamerika? Knappast stor. Knappt så att det syns i media kan jag tänka mig. Det borde jag ju veta. Jag som bor på Wooster Street i New York, New York.

Det är finanskris! Det är som om världen inte förut har upplevt konjunktursvängningar andra än de som går uppåt. Ekonomer talar om just utplånandet av depressioner. Nu skulle jag inte vilja kalla det som vi går in i nu som en depression. På 30-talet fanns väl knappast stöd att få från den stat man levde i. Finansstöd finns dock för de banker som behöver. De är illa ansatta bankerna. Bonusar och löneutvecklingen mot anglosaxisk standard är i fara! Det är lite märkligt att våra, globalt sätt, små företag eftersträvar denna höga ersättning till våra ledare. Men det är en liten fråga. Mer relevant är löner till politiker till exempel. Eller miljöfrågor som växthuseffekten eller hur Östersjön mår? Eller mår verkligen Östersjön? Är det kanske Atlanten som mår? Östersjön har ett beroende:

“…governing dynamics…”

som det så vackert heter. Dock så verkar det säkerligen menligt på oss som släpper ut tvättmedelsvattnet ofiltrerat i naturen. Vattnet finns ju trots allt där. Så långt ögat kan nå. Även om det saknas torsk och att vi pricksäkert eliminerar gäddornas lekplatser samt att de strömmingar vi tar upp snart knappt är filébara. Är vi skyldiga vattnet något? Jag tror det. Om inte vattnet så åtminstone strömmingen. Jag deklarerar härmed att jag skall halvera användandet av mitt fosfatfria maskindiskmedel.

Intressant just nu och alltid:

  • hur lite värd miljön är i lågkonjunkturen.
  • att eu-parlamentet flyttar mellan Strassbourg och Bryssel en gång per månad.
  • att politiker i plenisalen kan stapla ord så duktigt

tankar om onsdagar

Publicerat augusti 20, 2008 av tankaromallt
Kategorier: Blog, Programming

Onsdag. Återigen dessa onsdagar. Jag har legat hemma i feber och känner mig husken. Det bör man göra efter en tids sjukdom. Annars vet man inte att man har blivit frisk. Sedan jag skrev här förra gången har mycket hänt. Vad som är viktigast har jag svårt att överblicka. Möjligtvis kriget i Georgien men mycket har hänt och det är svårt att överblicka så stora tidsrymder. Personligen skall jag byta jobb och flytta i samma veva. Det är inte dumt. Då kan jag åka och bada på kvällarna ute på Femöre. På vintern vet jag inte vad man gör. Men det kan jag lika gärna vara ovetandes om i Oxelösund som i Stockholm. Skarpnäck är ju faktiskt inget vidare heller och de som styr sköter inte ekonomin. Det saknas tiotals miljoner kronor. Ingen vet vad de tagit vägen. Man skall komma ihåg att politiker bara är människor. Och vissa har öppenbara problem med det som kallas addition och subtraktion. Deras idioti har skapat större barngrupper på Sagas förskola samt uselt med bemanning. Jag tror inte vi utbildar våra barnskötare och våra pedagoger. Det skäms jag för som skattebetalare.

Planer för augusti är som följer:

  • Se till att försäljningen av lägenheten kommer igång
  • Skriva min första WCF-applikation
  • Skriva min första WPF-applikation
  • Ta upp LINQ igen och fortsätta med något som kallas Expressions.
  • Skriva min första SilverLight-applikation
  • Lämna mitt nuvarande jobb. Det är inte dumt.

Gällande SilverLight finns det nu verktyg att installera i Visual Studio 2008. Sajter som använder sig av SilverLight-applikationer är i mitt tycke relativt långsamma att ladda. Men så tar Flash-applikationer också en stund att ladda ned så det kanske inte spelar någon roll egentligen.

tankar om LINQ

Publicerat februari 6, 2008 av tankaromallt
Kategorier: Programming

Linq introducerades i .NET 3.0 och sammanfattas på följande sätt på hemsidan:

“The LINQ Project is a codename for a set of extensions to the .NET Framework that encompass language-integrated query, set, and transform operations. It extends C# and Visual Basic with native language syntax for queries and provides class libraries to take advantage of these capabilities.”

Allt fint och bra. Men vad innebär det för utvecklaren. Här är ett exempel:


int[] numbers = new int[] {5, 7, 1, 4, 9, 3, 2, 6, 8};

var smallnumbers = from n in numbers
where n <= 5
orderby n
select n;

foreach(var n in smallnumbers) {
Console.WriteLine(n);
}

Det speciella är förstås where, orderby och select. Tillsammans (eller ensamma) utgör dessa operatorer ett query expression och jobbar mot en datakälla, i detta fall en integer array. I det fall datakällan är en databas (eller någon annan datakälla) så kommer operatorerna internt att (whereorderby och select) ha olika implementationer:

“The extensibility of the query architecture is used in the LINQ project itself to provide implementations (of the operators) that work over both XML and SQL data.”

Frågan kan också skrivas med lambda-statements:

names
.Where(s => s.Length == 5)
.OrderBy(s => s)
.Select(s => s.ToUpper());

Lite mer likt vanliga metodanrop och är det som egentligen är det som den ursprunliga kod-snippeten översätts till. Argumenten till operatorerna kallas för lambda-uttryck. Lambda-uttrycken kan i sig deklareras som funktioner i sig som


Func filter = s => s.Length == 5;

och användas i metod-anropet ovan som


names
.Where(filter)
.OrderBy(s => s)
.Select(s => s.ToUpper());

Lambda-uttryck kan också kompileras antingen som kod eller som data. Dvs, vi kan spara lambda-uttryck i settings-filer (tex).

Nästa blog blir om typen Expression samt om Extension-metoder vilka båda är en del av hela LINQ-arkitekturen. Och jag antar att jag måste förstå dessa för att kunna gå vidare på ett bra sätt med LINQ.

tankar om allt

Publicerat januari 31, 2008 av tankaromallt
Kategorier: Blog

Torsdag. Jag försöker läsa en bok av Kajsa Ingmarsson men jag förstår inte vad hon skriver. Hon nämner ordet “gympapass” och en mening som innefattar “tittade intensivt på honom”. Sådant tål jag inte. Det bör man inte göra heller. Världen är för stor och tiden alltför knapp för att störa hjärnan med brus. Istället försöker jag förstå boken “The affluent society” av John Galbraith. En del saker förstår jag. Som att Marx tyckte annorlunda än sin samtid. Han var förstås inte ensam. Men kanske var han lärd. Inte lika lärd som John Stuart Mill förstås men tillräckligt för att bli odödlig. Inte för att man behöver vara klok för att bli känd. Men det underlättar. Imorgon skall jag försöka hitta en bok jag kan låna om herr Mill. Om varför han dog i Avignon i Provence tex och var man kan hitta hans brevväxling med Henri de Saint-Simon. Det kan man nog inte. Man måste antagligen kliva på ett fullproppat passagerarplan till nationalbiblioteket i Paris. Väl där måste man till något annex och förmodligen invänta en anställd som kan släppa in mig i något arkiv. Sedan kommer jag inte hitta några brev eftersom antalet volymer i rummet där jag sitter är för stort. Jag dröjer kvar hemma och funderar på vilken sorts espressomaskin jag skall införskaffa.

Drygt 15 000 steg från nationalbiblioteket ligger Rodin-muséet. Jag tror han var lite perverterad. Men jag förlåter honom. Det finns inget att förlåta. Han kunde mejsla ut en kvinnokropp ur ett marmorblock. Väl där är det svårt att ta blicken från hans skulpturer. De lever. Man väntar på att de skall vakna och säga något till herr Rodin att han skall sluta smeka deras unga bröst. Men unga som modellerna var så var de också fattiga. Det visste de båda. Överenskommelsen låg i dagen och samförståndet, trots protesten, klar. Den var bara inte yppad.
I muséet kan man se ett fotografi från en av Rodins födelsedagar. Det är ett gruppfoto. Det tog en stund att fotografera förr. I alla hänseenden ser man Carl Larsson i bakgrunden. Om man bodde i Paris vid tillfället eller om han var på hastigt besök hos Rodin själv eller någon av hans vänner vet jag inte. Men att han var där råder det ingen tvekan om. I varje fönstersmyg sitter studenter och tecknar. Jag antar att de har gratis inträde. Annat är det hemma nuförtiden. En uppenbarligen förvirrad person lär ha sagt att konsten måste lära sig att bära sina egna kostnader. Vilket är precis det som den måste undvika. Det är märkligt att saker inte får kosta längre.

tankar om initieringar

Publicerat oktober 15, 2007 av tankaromallt
Kategorier: Blog, Programming

I C# 3.0 finns en trevlig sak vid initieringar. Nämligen detta

Car c = new Car(317) { Name = "Ford", Model = "Z71" };

Dvs man kan på en rad både ropa på konstruktorn och diverse properties. I detta fallet är måste argumentet till konstruktorn skickas med då 317 (antal hästkrafter) ligger i en privat property. Name och Model är dock exponerade på lämpligt sätt. Nytt är också att objekt som ärver IEnumerable kan utnyttja detta genom


List Square = new List
{
new Point { X=0, Y=5 },
new Point { X=5, Y=5 },
new Point { X=5, Y=0 },
new Point { X=0, Y=0 }
};

tankar om Visual Studio

Publicerat oktober 10, 2007 av tankaromallt
Kategorier: Programming

Microsoft har släppt sin “Pre-release Software Visual Studio Team System 2008 Beta 2 Team Suite (Virtual PC)”. Finns att ladda hem här. Där finns också ett Whitepaper som beskriver vad som är nytt. Dokumentet känns inte helt relevant då inga exempel finns. Däremot har Charlie Calvert skrivit ett trevligt och intressant dokument som visar vad nya visual studio har att erbjuda. Dokumentet “C# 3.0 Language Enhancements Hands On Lab” är rolig läsning. Först ut är “Auto-implemented properties” vilket möjliggör att man bara skriver

private int X { get; set; }

för att skapa en getter och en setter.

tankar om ettor och nollor

Publicerat september 27, 2007 av tankaromallt
Kategorier: Programming

Att läsa en bok om programmering kan ibland vara mycket mer givande än en veckolång och extremt dyr kurs eller att sitta en vecka och knacka kod. Speciellt givande har jag haft det till och från jobbet den senaste veckan då jag läser en bok inriktad mest på Design patterns och agile design. Dagens ord är abstraktion. Eller för den delen metafor. Agile har mycket att göra med kommunikation och bristen på kommunikation eller oförstålig kommunikation mellan beställare och leverantör orsakar tusentals bortkastade mantimmar. Metaforer är tänkta att överbrygga kunskapsglapp. En beställare är ingen utvecklare och en utvecklare har ofta svårt att sätta sig in i beställarens konkreta värld. Genom att använda metaforer så skapas ett ramverk med ord, meningar och konstruktioner som båda förstår, var och en på sitt håll. Men innehållet är alltid detsamma.

En metafor är det abstrakta. En metafor är aldrig detaljer.

tankar om world in conflict cont’d

Publicerat september 27, 2007 av tankaromallt
Kategorier: Blog, World In Conflict

Först ut är den ordinära infanteri-truppen. Truppen kan eliminera alla slags fiender men är mycket känslig utan skydd. Infanteri skall helst befinna sig i skog eller i byggnader. Alla infanterienheter bör ha transport i närheten som skydd för artilleri eller kemisk krigsföring. Deras mobilitet är deras nackdel och därför bör alltså en transport finnas i närheten. Bör också kombineras tillsammans med en AT-enhet samt med en krypskytt. En slagkraftig mekaniserad infanteristridstrupp innebär alltså

1 eller flera infanteritrupper

1 anti-tank trupp

1 krypskytt

samt transport för ovanstående. Den vanliga infanteritruppen har endast en soldat med  pansargranater och för att kunna slå ut pansarvagnar snabbt bör flera adderas till stridsgruppen. Krypskytten klarar lätt att slå ut en hel infanteritrupp om väl dold och fungerar i stridsgruppen som försvar mot annalkande infanteri. Detta är också varför infanteri helst skall skyddas i lastbilar vid transport vilket jag läst på flertalet ställen nu.
En infanteritrupp kostar 650 enheter och har som speciell offensiv förmåga granatkastare vilken tar 20 sekunder att ladda om. Som förut gäller det att sprida ut stridsgruppen för att undvika att en taktisk motattack förintar den.

Anti-tank truppen består av tre stycken anti-tank soldater, en skytteslusk och en sjukvårdare. Den har alltså inget skydd mot helikoptrar men är effektiv mot pansarvagnar och kan slå ut tunga pansarvagnar. Placerade i skydd så är det en effektiv enhet. Ingår i ovanstående stridsgrupp.

Trupptransporten i WIC är en Humvee (M1-025 HMMWV). Den lastar en hel infanteritrupp, är mycket snabb och kan dessutom laga andra fordon, om än långsamt. Den är nästan dubbelt så dyr som en lastbil och har liten eldkraft. Eftersom lastbilen tål mer skada så bör man alltid transportera infanteri i lastbilar om inte man behöver snabbheten hos en Humvee för speciella uppdrag.

tankar om test

Publicerat september 27, 2007 av tankaromallt
Kategorier: Blog

test


Follow

Get every new post delivered to your Inbox.