C#

C# i fornyet kamp

c-sharp-and-npm

Da jeg i 2000 hørte at Microsoft var på vej med et nyt sprog var jeg skeptisk; jeg var lige gået i gang med Java og synes at det var en drøm at arbejde med. Det var allerede en stor mundfuld at skulle lære JVM stakken – hvad skulle vi dog med endnu et sprog? Og der var da også mange ligheder; sprogene lignede…

Serilog

serilog

NLog, Log4Net, MS Enterprise Library, SmartInspect, ObjectGuy, Logary. There are plenty of frameworks to choose from when it comes to logging on the .NET platform. You can even setup logging right out of the box by using System.Diagnostics. Also logging is really easy to achieve – here is a very naive logging “framework”: In 2013 Nicholas Blumhardt released a new logging framework called Serilog…

Roslyn

_DSC0282

Siden C# blev skabt er kompileringen blevet udført af en compiler der er skrevet i C++. Allerede for år tilbage var der rygter om at Microsoft gerne ville ændre på dette og lade sproget kompilere sig selv – Mads Torgersen jokede dengang med at de blot skulle de-kompilere compileren til C# med Reflector. Det er selvfølgeligt ikke sådan at det er foregået – projektet…

GOTO hvad gør vi nu?

photo 1

Har sat mig et mål, skjult dagsorden, for min deltagelse i GOTO. Det overordnede mål er at få noget med hjem, andet end kuglepenne og tømmermænd. Det er min holdning at hvis man ikke gør det på enten den korte eller lange bane så er det bare hygge og underholdning. Har en passion for bla. både Ruby og Clojure som begge er ting jeg…

Introduktion til CQRS og event sourcing #4

Nu hvor vi de foregående tre indlæg har arbejdet os hen til at kunne processere commands, så mangler vi bare det sidste trin i raketten for at kunne slutte cirklen: Views. Views dannes ud fra events efterhånden som de sker, og med Cirqus foregår dette ved at man installerer en passende IEventDispatcher implementation. En IEventDispatcher er en dims, der får mulighed for at gøre…

Introduktion til CQRS og event sourcing #3

I det forrige indlæg så hvordan vi kunne kode en Beetroot, som vi kunne sende en SqueezeCommand til. Når command’en blev processeret ville den kalde Squeeze(howMuch)-funktionen på rødbeden, som så ville emitte en BeetrootSquashed event hvis den stadig havde list saft i sig, og ellers ville den emitte en BeetrootCompletelyCrushed – så langt så godt! Men vi mangler stadigvæk at få bragt lidt liv…

SPA – website wellness part 1.

2014-09-04 07.44.33

Når jeg tænker på Single Page Architecture (SPA) er der en række problemer som popper op, som f.eks: Back button virker ikke, da browseren ikke oplever det som side skift når man navigere rundt på siden, eller at UX delen er en suppe af div-tags of javascript, som hurtig bliver svær at overskue og umulig at debugge. Derfor er jeg lidt skeptisk når jeg…

Introduktion til CQRS og event sourcing #2

I det forrige indlæg beskrev jeg i grove træk principperne i event sourcing og CQRS, og så lovede jeg at give en introduktion til d60s Cirqus-framework… samtidig med introduktionen til Cirqus vil jeg også sørge for at vi har en fælles ordbog, sådan at vi er nogenlunde enige om hvad vi snakker om resten af tiden. Here goes: Domain-driven design Greg Youngs ide om…

MS Azure ML: Endnu en spiller med nem machine learning

For ikke så længe siden skrev jeg om H2O (link) , der er et nyt open source machine learning platform, som skulle gøre machine learning tilgængelig for folket. Nu har en anden platform netop meldt sig på banen, måske på en lidt større skala, eller ihvertfald med et lidt større navn bag, men ikke særlig open source. Microsoft har netop annonceret Azure ML, som…

Migrering af Elasticsearch indexes med C#

Thomas Ardal

Dette skulle være så nemt: NoSQL databaserne og deres skemaløse tilgang til verden. Pist væk med tabeller, primærnøgler, fremmednøgler og vigtigst af alt – Migrering! Billedet er desværre ikke helt så sort og hvidt. Jeg har arbejdet med NoSQL databaser som Elasticsearch, RavenDB, MongoDB og CouchDB mere eller mindre konstant de sidste fem år. Det sidste års tid mere intenst under udviklingen af mit…