PerSalmi.NET

Swedish .Net software developer...
# Saturday den 2 January 2016

Summerade som hastigast det som blivit läst under 2015. Trodde ett tag att det skulle bli en betydligt längre lista men icke, när jag gick igenom vad jag hade så insåg jag att det var i stort sett totalt stillestånd på bokfronten under första halvan av året.

image

  1. Ready Player One – Ernest Cline
  2. The Turing Exception – William Hertling
  3. PRIMAL Nemesis – Jack Silkstone
  4. PRIMAL Redemption – Jack Silkstone
  5. Trident Code – Thomas Waite
  6. Parsifaldirektivet – Kaj Karlsson
  7. Vita spår – Emelie Schepp
  8. De redan döda – Robert Karjel
  9. Microsoft Azure Essentials: Fundamentals of Azure
  10. Himlen är alltid högre – Jonas Moström
  11. Dominodöden – Jonas Moström
  12. MemoRandom – Anders de la Motte
  13. Geim – Anders de la Motte
  14. Buzz – Anders de la Motte
  15. Bubble – Anders de la Motte
  16. Midvintermörker – Lars Wilderäng
  17. Midsommargryning – Lars Wilderäng
  18. Mirakelmannen – Jonas Moström
  19. Rymd utan stjärnor – Jonas Moström
  20. Hjärtats mörker – Jonas Moström
  21. Stryparen – Jonas Moström
  22. Evig eld – Jonas Moström
  23. Storsjöodjuret – Jonas Moström
  24. Dödens pendel – Jonas Moström
  25. Eldjägarna – Mons Kallentoft
  26. Soft Skills – John Sonmez
  27. Pro .NET Performance
  28. C# 6.0 and the .NET 4.6 Framework
  29. Continuous Delivery with Visual Studio ALM 2015
  30. Stjärnklart – Lars Wilderäng
  31. Stjärnfall – Lars Wilderäng
  32. Vetenskapsmannen – Anders Jallai
  33. Commander In Chief – Tom Clancy
  34. Det som inte dödar oss – David Lagercrantz
  35. Formula One and Beyond – Max Mosley

Vi får se hur det går med 2016, har redan fyra-fem böcker liggande på hög, om de nu kan ligga på hög i en Kindle…

Saturday, January 2, 2016 12:41:55 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
Läsning
# Sunday den 17 May 2015

I år bestod Combitechs deltagande på Microsoft Build 2015 i San Francisco av ett gäng med fyra konsulter från Linköping och Stockholm, en satsning på att vara med där det händer när det gäller Microsofts utvecklingsplattformar. Med lite varierande intressen försökte vi täcka in de flesta teknikområden på konferensen.

HoloLens

Den mest hypade och samtidigt mystiska prylen under de senaste månaderna har varit Augmented Reality glasögonen – HoloLens. Det spekulerades mycket före konferensen om man skulle få med sig ett exemplar hem från Build men vi som trodde det var för tidigt fick (tyvärr) rätt. Det bjöds istället på en del demotillfällen på bland annat keynoteföredrag och sedan individuella demos där vi deltagare fick pröva på själva under guidning av utvecklingsteamet. Det fanns tre olika demotyper att boka in sig på och vi lyckades komma med på både en One-on-One demo och en sk HoloLens Academy där man fick tillfälle att pröva på utveckling av appar för HoloLens.

Microsoft-HoloLens-RGB

Hur HoloLens ser ut och vad man som användare upplever illustreras nog bäst av de demofilmer som finns samt keynotevideos från Build, de är filmade med speciell kamera som lägger på samma 3D-objekt som den som har glasögonen på sig ser och ger en visuell bild av hur det verkligen ser ut genom HoloLens. Skillnaden är att man har interaktion med HoloLens som man inte har som betraktare och att synfältet i HoloLens där hologram eller 3D-objekt är synliga är mindre (Microsoft säger sig jobba på att förstora synfältet inför den kommersiella releasen). Det var ändå en mycket intressant upplevelse att få pröva på att själv interagera med virtuella föremål!

microsoft-hololens-pivotpoint-rgb

Den demo jag prövade på bestod i att redigera 3D-objekt i en slags paintbox eller modelleringsverktyg, där man såg en modell framför sig och sedan gjorde ändringar som att kopiera, skala om, flytta och färglägga objekt som fanns i modellen. Modellen jag redigerade var en liten undervattensmiljö med havsbotten, fiskar, maneter och växter. Interaktionen med HoloLens består av gester, tex klicka på objekt med pekfingret framför sig, peka ut objekt med en markör styrd av blicken och att ge röstkommandon. Vill ha faktorn är väldigt hög, jag är imponerad av vad man kan klämma ur en dator av idag inbyggd i dessa glasögon i fråga om bildkvalitet, ljud, interaktion och totalupplevelse och jag tror utvecklingen av förbättrade HoloLens generationer kommer att gå fort.

Universal Windows Platform

image

Det många har förväntat sig sedan Windows Phone och Windows 8 lanserades med sitt Modern UI koncept lanseras nu tillsammans med Windows 10. Universal Windows Platform ger utvecklare möjlighet att bygga en app med anpassningsbart UI för att passa flera displaystorlekar och formfaktorer för att kunna köra samma applikation på flera olika plattformar dvs telefoner, plattor, datorer och HoloLens. Ja, även den minimala Raspberry Pi 2 supportas som målplattform. Intressant att nämna är att XAML får en del nyheter, kompilerade databindningar mm.

Azure och Windows Server

Mycket av de föredrag som handlade om Azure var inriktade på backend för Internet of Things, bland annat säkerhet kring enheter för att motstå attacker. Ett koncept kallat Azure IoT Hub presenterades för att ge en bra mall som följer de best-practices man jobbat fram under senaste tiden.

image

När det gäller Azure fanns det även flera sessioner som gick på djupet kring de nya App modellerna för Web- , Mobile- och Logic Apps. En del av dessa är ju nya koncept, främst inom Logic Apps, som inte funnits ute så länge att de fått nån större spridning ännu. Ett allt viktigare verktyg för utvecklare att kunna hantera för att samla telemetridata kring hur appar utformas är Application Insights som nu kan användas i alla typer av applikationer för att se trender i användning och för att hitta fel.

Windows Server byggs om rejält och kommer att släppas i en variant kallad Windows Nano Server. Det är en version där man själv tar en kärna och bygger på med support för olika operativsystemkomponenter utefter behov. Allt konfigureras via pakethantering och PowerShell. Tanken är att skapa en minimal server som inte behöver omstarter eller uppdateringar lika ofta eftersom den inte innehåller mer än det nödvändiga för att köra just den applikation man själv byggt den för. Utmärkt att använda för Hyper-V i både värd och gästkonfiguration, som applikaitonsserver i molnlösningar mm där man inte vill ha mer än det nödvändigaste installerat.

Containerteknik – vad som kan ses som lättviktsvarianter av virtuella maskiner, kommer också med Windows 10. Detta jobb med att anpassa Windows för att kunna skapa containers gör Microsoft i samarbete med Docker. Det annonserades redan i höstas att man var på väg att ta fram detta men det är först nu det visats som demos inför publik, tyvärr dröjer den första preview-versionen av Windows som har stöd för containers tills i sommar då det ska komma i Windows Server Technical Preview 3. Man får hålla koll på vad som händer på About Windows Server Containers.

Jag kan inte låta bli men efter att Build var slut så annonserades också den sk Azure Stack under Ignite-konferensen. Det är efterföljaren till Azure Pack som gör att man kan bygga upp sitt eget Azure-datacenter på egen hårdvara med full kontroll.

Internet of Things

En mycket populär session på Build var Windows for Makers, i stort sett en mängd demos av vad man kan göra med Windows 10 på Raspberry Pi 2 som är ny bland de platt formar man kan köra Windows på. Den variant som körs på Raspberry enheter kallas Windows 10 Core IoT, egentligen en relativt nerstrippad Windows 10 som fungerar som plattform att köra Universal appar. Givetvis finns det stöd för olika typer av I/O signaler, bl. a. GPIO och I2C mm. Även Arduino och Netduino har fått en del uppmärksamhet från Windows 10, den ännu enklare kortplattformen får dock inte något stöd för att köra Windows 10. Prestandan räcker inte för det men man får bra stöd för att kommunicera med den. Man kan tex programmera mot dess I/O portar via BlueTooth anslutning från en Windows 10 enhet. En funktion är också på väg som gör att man kan använda en Windows enhet som ersättning för olika shields, enheten ger då utvecklaren ett antal virtuella shields för tex GPS, kamera, accelerometer mm. Se The Internet of your things för mer info eller leta intressanta projekt att komma igång med på hackster.io.

image

Utvecklingsverktyg

Under konferensen släpptes en release candidate av den kommande versionen av Visual Studio 2015 RC. Nytt i denna generation är att de tidigare varianterna Premium och Universal slås samman och kallas Enterprise. Tillsammans med den senaste Windows 10 Technical Preview versionen var basen för mycket av Universal Windows apparna som fanns att labba med för PC, plattor, telefoner och IoT enheter som Raspberry Pi 2. Intressanta delar för oss som jobbar med Visual Studio är att XAML editorn fått en ansiktslyftning tillsammans med Blend som ingår i Visual Studio. Ladda ner Visual Studio 2015 RC här.

Några av nyheterna som drog till sig ganska stor uppmärksamhet var också Visual Studio Code, en cross –platform version av Visual Studio som släpps för Windows, Linux och Mac. Det är då i stort sett en avancerad kodeditor med IntelliSense och stöd för ganska många olika programspråk. Ladda ner här.

Hand i hand med detta relativt nya mer öppna cross-plattformtänkande avslöjades också att Microsoft jobbar på två olika verktygssviter för att underlätta att publicera appar som redan finns utvecklade för Android eller iOS som nya Universal Windows Platform appar. Det handlar inte om att Windows 10 kommer att kunna köra appar som laddas ner från de andra plattformarnas appbutiker utan verktyg som används för att automatiskt portera kod till Universal-appar, dessa appar kommer sedan att kunna ta del av specialfunktioner i Windows plattformen. Vi pratade med en kille som jobbade med iOS varianten av verktygen hos Microsoft och just nu innan verktygen är klara at släppa på bred front direkt till utvecklare så jobbade han med stora apptillverkare med portning av enskilda appar för att testa verktygen. Tekniskt sett förklarade han det som att Objective-C kod med iOS API anrop och UI komponenter översattes till kod för Windows där UI delar implementerats med DirectX, de hade då vad han beskrev som iOS kompatibla UI komponenter speciellt implementerade för dessa portningsverktyg.    

Ladda hem sessioner

För att plocka hem sessionsvideos från Build (och en del andra konferenser) på smidigaste sätt för att titta offline så kan man använda denna lilla applikation gjord av Tim Nilimaa –> Session Downloader. Några länktips för sessioner om alla dessa ämnen ovan finns på Build 2015 Session Recap.

Eftersom denna artikel dröjt något så har ju Microsoft även hunnit klara av sin nya konferens Ignite också, för den som är intresserad så finns även en över 600 sessioner att se från den konferensen… så om du har oändligt med tid kolla in sessioner från Ignite 2015 när du har tittat slut på Build 2015.

Sunday, May 17, 2015 11:58:43 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
BUILD
# Tuesday den 10 March 2015

2015-logo-250x169.NET användargruppen Swenug arrangerar i samarbete med Combitech det världsomspännande community eventet Global Azure Bootcamp 2015 i Linköping lördagen den 25 april 2015!

Arrangemanget är en minikonferens  och workshop om Microsoft Azure som körs på samma dag på över 110 platser jorden runt. Dagen innehåller föreläsningar och labbar där vi tillsammans prövar på olika delar av Azure plattformen och dessutom deltar i en global gemensam labb.

Anmälan är öppen för alla utan kostnad, antalet platser är dock begränsat så en anmälan behövs och den fixar man snabbt och enkelt på https://azurelkpg.eventday.com där den senaste informationen om eventet också kommer att publiceras!

Tuesday, March 10, 2015 9:02:00 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
Azure | Evenemang | Swenug
# Wednesday den 31 December 2014

En summering över vad jag läst under 2014, mest kriminalhistorier ser det ut som när jag tittar på listan men det smög in en och annan tekniktung titel också. Roligast i år är nog att det kommer flera bra techno-thrillers från svenska författare! Till exempel Daniel Akenines 11 gram sanning.

image

  1. Command Authority – Tom Clancy
  2. Bilderbergmötet – Anders Jallai
  3. Spionen på FRA – Anders Jallai
  4. Natoagenten – Anders Jallai
  5. Landsförrädaren – Anders Jallai
  6. Crimebook – Rasmus Finnhult
  7. Confessions of a Public Speaker – Scott Berkun
  8. JavaScript: The Good Parts -  Douglas Crockford
  9. Node.js in Action – Mike Cantelion m fl
  10. 11 Gram sanning – Daniel Akenine
  11. Influx – Daniel Suarez
  12. The Art of Unit Testing, 2nd Edition – Roy Osherove
  13. PRIMAL Fury – Jack Silkstone
  14. Ready to Kill – Andrew Peterson
  15. Rogue Code: A Jeff Aiken Novel – Mark Russinovich
  16. Tom Clancy Support and Defend – Mark Greaney
  17. Du går inte ensam – Mari Jungstedt
  18. Den osynlige mannen från Salem – Christoffer Carlsson
  19. Windows Sysinternals Administrator’s Reference – Mark Russinovich
  20. Windows Powershell for Developers – Douglas Finke
  21. I maktens skugga – Viveka Sten
  22. Spionen på FRA 2.0 – Anders Jallai
  23. Corpus delicti – Elias Palm
  24. Causa mortis – Elias Palm
  25. Memento Mori – Elias Palm
  26. Den man älskar – Mari Jungstedt
  27. Den fallande detektiven – Christoffer Carlsson
  28. Märkta för livet – Emelie Schepp
  29. Jordstorm – Mons Kallentoft
  30. Stalker – Lars Kepler
  31. Git in Practice – Mike McQuaid
  32. Unmasked – Peter Bright
  33. Pro Asynchronous Programming with .NET – Richard Blewett m fl
  34. Anton Modin i rikets tjänst -  Anders Jallai
  35. Lethal Code – Thomas Waite
  36. Tom Clancy Full Force and Effect – Mark Greaney
  37. PRIMAL Reckoning – Jack Silkstone
Wednesday, December 31, 2014 11:00:11 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
Läsning
# Thursday den 13 June 2013

För ett par veckor sedan körde vi ett kurstillfälle med vår .NET-kurs på Combitech där vi bland annat inkluderar testdriven utveckling med Visual Studio och C#. Eftersom den Unit Test Wizard som fanns i tidigare versioner av Visual Studio har försvunnit från 2012 versionen där enhetstestdelarna har gjorts om rejält så innebär det en del merarbete att skapa testfall för hand. Det finns visserligen sätt att plocka fram den tidigare wizarden för att generera skal till testfall och projekt om man vill, den är bortkopplad från menysystemet men kan aktiveras igen.

Det har funnits indikationer på att en ny generator för testfall är på gång och att orsaken till att den gamla togs bort var att den inte kunde fås att fungera med alternativa testramverk som nu kan användas enkelt med hjälp av plugins till den nya test runnern. Det är då intressant att en första version av en ny Unit Test Generator extension nu finns tillgänglig i Visual Studio Gallery. I första läget stödjer den bara att generera testprojekt och testfall för metoder i existerande klasser och då bara för MS-Test, men målen är klara för att man ska kunna generera kod för andra testramverk när RTM versionen kommer.

Extensionen hittar man direkt i Tools –> Extensions and Updates… om man söker på “unit test generator” eller laddar ner från länken Unit Test Generator extension.

Det man får efter installationen är en context-meny (högerklick) i kodeditorn när man är i en metod med alternativet Generate Unit Test:

image

Resultatet är att testprojekt med korrekta referenser tillsammans med testfall för metoden skapas i din solution:

image

Testkoden som genereras i testklassen är enklast möjliga, inte fylld med regioner och bortkommenterade avancerade delar som den tidigare wizarden gav. Om man genererar testfall för fler av metoderna efter hand läggs dessa i samma testklass.

   1:  using System;
   2:  using System.Collections.Generic;
   3:  using System.Linq;
   4:  using System.Text;
   5:  using System.Threading.Tasks;
   6:  using Microsoft.VisualStudio.TestTools.UnitTesting;
   7:  using CalculatorClassLibrary;
   8:   
   9:  namespace CalculatorClassLibrary.Test
  10:  {
  11:      [TestClass()]
  12:      public class CalculatorTests
  13:      {
  14:          [TestMethod()]
  15:          public void AddTest()
  16:          {
  17:              Assert.Fail();
  18:          }
  19:      }
  20:  }

 

Testfallen är sedan direkt färdiga att köras i Test Explorer i studion:

image

För den som vill påverka hur den genererade testkoden ser ut och namnges så finns en del enkla inställningsmöjligheter i Test-menyn:

image

image

Det ska bli intressant att följa detta tillägg framöver. Jag hoppas att det inte dröjer alltför länge innan de planerade funktionerna med stöd för alternativa testramverk och möjlighet att göra egna anpassningar för nya ramverk kommer.

Thursday, June 13, 2013 1:01:59 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
Utveckling | Visual Studio
# Wednesday den 22 May 2013

Vi har brottats med dåliga prestanda i Visual Studios debugger under flera år i ett projekt jag arbetar med. Det handlar om att single-step debugging i riktigt stora solutions, här pratar vi om 120+ projekt i en solution, går segt och tär rejält på tålamodet. Flera sekunders fördröjning för varje steg man tar med step-into eller step-over när man sitter och letar efter fel är inte ovanligt trots mycket enkla operationer i varje steg.

Men alldeles nyss gjorde min projektkollega, Henrik Cooke, ett fenomenalt genombrott i frågan! Debuggingen blir riktigt rapp och responsiv om man stänger av Edit and Continue funktionen i Visual Studio debuggern.

Så om du inte använder eller i alla fall kan leva utan Edit and Continue stöd när du kodar och felsöker så gör så här:

  • Gå till menyn DEBUG -> Options and Settings…
  • Öppna fliken Debugging -> Edit and Continue
  • Se till att rutan Enable Edit and Continue är urkryssad och välj OK

Det ska se ut så här:

image

Steg-operationerna i debuggern flyger fram efter att man fixat detta!

Wednesday, May 22, 2013 1:56:54 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
.Net | Verktyg | Visual Studio
Blog & Contact
Per Salmi
Per Salmi
Min LinkedIn Profil

Jag arbetar på Combitech AB i Linköping med konsultuppdrag och utbildning inom Microsoft .NET området. Kontakta mig gärna om ni har frågor, behov av konsulttjänster eller är intresserade av utbildning inom .NET.

Copyright © 2019 Per Salmi

Bloggmotor: newtelligence dasBlog 2.3.12105.0

Sign In
Statistics
Total Posts: 73
This Year: 0
This Month: 0
This Week: 0
Comments: 0

Datorer
All Content Copyright © 2019, Per Salmi