Blog moved to Azure

The blog is now moved to Azure! To install WordPress and move the data was simple. I used a plugin called ”WP Clone” for that. You need a resource group, a service group, a storage account, a MySql database and a WebApp with WordPress. But from there it was a bit of struggle with this and that.

When I tryed to point from my web hotel’s name servers to the site on Azure ( I set up an A-record and thats wrong. A CNAME is correct. After setting up a CNAME I could verify the custom domain in Azure portal. With the new domain in place I had some problem with wrong URL’s pointing to media but I took help of the plugin ”Search & Replace” that solves that.

I also changed some files via FTP to allways use https (The field in the WordPress panel was grayed out). I did that for preparing for using the Azure extesion for Let’s Encrypt. I read this will make the caching not work but I don’t know. I need to read more about how caching works with secure connections.

There is a bug making the navigation in kudo portal to the Let’s Encrypt extension that I did not know about so after an hour or something searching the web I ended up setting all the appsettings manually. It did not work initially but from kudo portal => WebJobs I could read the exceptions and correct the wrongly appsettings values.

Now the site is up and running but I still need to enable MIME types so font awesome can load (saving that for some cold and rainy day).
Edit: I enabled mime types by adding a couple of lines in the web.config:

Running WordPress with this setup cost around 270 NOK a month. I think it is expensive but with my MSDN licens from work I have some credits to try out things like this.

Leap 2017

Jonatan and two Danish guysWhen you travel from Oslo to Seattle you also go nine hours back in time. I had been warned of what they call “jetlag”. I have never been outside Europe and as the amateur I am I asked the receptionist to book a ticket with arrival date one day before the event. That was a big mistake! I should at least have booked a ticket with arrival date two or three days before the event. It took me three days to get in normal shape again. The jetlag was horrible but I survived by drinking a lot of strong black coffee and Coca Cola. And something I asked myself when traveling over the globe was why I not planned to stay a week for a vacation and some sightseeing. Maybe next time…

…on the other hand, it was no problem to get up in the morning the first days. I started the Monday morning with a 7 km long run with two Danish guys. In the beginning, we conversed in our own language but after just a minute or two we switched to English. Two countries so close to each other but so difficult to understand each other.

The following week was intense but rewarding. Three long days followed with presentations and two days of a hands-on hackathon.

Keynote by Steven Guggenheimer

The last 15 years the focus has been on processes, bandwidth and storage – three things we have a lot of today. Today more companies start the digital transformation and change the business models – products become services and costumers becomes fans and followers. When we connect things together the life becomes simpler but it also makes everything more complex. We need help to handle all the information. For Microsoft, the strategy is “cloud first”. Client-server comes next.

What’s next?

Cortana is a result of research and several building blocks for the future started 15 years ago, with speech recognition. We want a natural way to use cognitive services – a bot with personality that can be proactive and hold a conversation. Microsoft are not there yet but speech recognition and translation is a start. HoloLens is just a computer with sensors that you put on your head but give it a couple of years and we will see more of what is called a “mixed reality”.

The digital transformation goes faster and faster and it is hard to keep up. Microsoft list all interesting things and focus on what’s matter the next year.

Moving to the cloud

Telmo Sampaio and his colleges work between the engineers and the customers and help them move to the cloud. You must get to the cloud in some way but you need to do it in steps. Start with virtual machines and slowly move to services. At first choose Azure Active Directory. The same identity that is used on-premise is used in the cloud there the authentication happens with help of Azure AD Connect.

Haishi Bai talked more about why you should move to the cloud and what to expect. To get high availability in the cloud you should design for better redundancy instead of great hardware. You should expect more reboots and avoid single point of failure. Everything shall be decentralized and using several storage accounts is important Telmo explained. In a world, full of ransomware, you should also assume breaches and have a strategy there you do not need to pay Bitcoin for an captured, encrypted database.

About passwords in the cloud

Telmo thinks that the description of “password synchronization” in Azure AD Connect is very unfortunate because many are afraid to store their passwords in the cloud and it is worrying customers. In a hybrid solution, it is a hash of a hash of a password that is stored in the cloud.

Resource deployment in the cloud

For resource deployment in the cloud, you use building block templates. Microsoft provide a naming convention that the building blocks use out of the box. Parameters are stored in JSON formatted files. The template building blocks are public at GitHub. Templates can be deployed with Resource Manager REST API. A PowerShell script is always shipped with a building block but with .NET libraries, you can create and manage the resources in C#.


Jonatan at Microsoft Cyber Crime CenterFor Microsoft security is not a choice and they put a lot of effort into security. Brandon Koeller explained that Microsoft owning more of the stack today then earlier and because of that they need to make it as secure as possible, but they see that the attackers don’t go after the infrastructure any more – they go after the users! At Microsoft, they automate as much service work they can and the employees are abstracted from customer data. If an employee needs access to change something, he/she ask for permission in an internal app called “Lockbox”. All possible scenarios and risks are discussed. When approved, a temporary password is created with access for a limited time and the session will be logged and audited. Lockbox is not only used internally at Microsoft but also in rare cases when engineers are troubleshooting customer’s problems in Office 365.

Phishing is the number one risk

I visited Microsoft Cybercrime Center for a short but interesting tour. Microsoft are investing one billion dollars a year fighting botnets and malware together with other American companies.

Office 365 Secure Score

It can be hard to know what actions are the most valuable when configuring Office 365. Security admins love games and competition so therefore Microsoft created a series of PowerShell-scripts that gather configuration information that is then evaluated against various criteria. The output is recommendations how to remediate the security gap and a score for comparison with other admins.

Security advise for developers from Barry Dorrans

  • Don’t use GitHub for reporting security issues! Microsoft has a bug bounty program that offers direct payments
  • Don’t publish your signing key!
  • Prevent Hash DoS by don’t using user input as keys in dictionaries unless the user input is a string or the HashCode for the input is strong and you implement a session key
  • Prevent “Padding Oracles MS10-070” by don’t exposing padding oracles and adding an authenticated signature to the encrypted data, and validate it
  • Prevent “Infinite Regex MS15-101” by setting timeouts on all regular expressions and finding a better way to validate than regular expressions
  • Prevent URL abuse: When constructing URL:s from user input, validate the string
  • Prevent displaying wrong characters by using string comparison instead of equal signs
  • Don’t store Unicode characters in a non-Unicode database column! …And HTML encode data coming from SQL
  • Prevent ZIP-bombs by turning of DTD Parsing

Slides and code examples

Developing features in the cloud

Scott Guthrie talked about the Azure strategy and explained that they want to provide a platform where developers can focus on the features. If you do something manually; like deploying threw the portal, you should step back and think how you should do it automatically. Donovan Brown presented one of the DevOps-tool they put together as an example of automation; Yo Team – build a team service with continues delivery and continues deployment pipeline in five minutes. As a user of Visual Studio Online on a hobby basis I can see how it becomes easier to set up support for an agile team.


  • Azure Functions – event-based serverless compute experience
  • Azure Logic Apps – Visualize business processes, integrate with SaaS and enterprise applications, out of the box connectors

Scott says that when developing in the cloud you should think of every project as a microservice and Microsoft’s goal is to support that model. Some options for implementing microservices on Azure is Service Fabric, Azure Container Service, Docker cloud, Docker on VM or App Service.

Haishi talked more about microservices and that it is important to build a mobilized workload. You should be able to handle errors with failover mechanisms in place. Data should be scattered and close to compute. Share nothing, think reactive and use explicit contracts between services. Make each service independently deployable.

Masashi Narumoto admits that you must be prepared before you start building microservices. You need domain knowledge, a skillset for distributed systems, a DevOps culture and have monitoring capability. If you have a very simple domain or no frequent update you lose some of the benefits with microservices and you probably not need it. Improving and upgrading tools surrounding a monolith can be a better way to make the system faster. He recommends Vaughn Vernons book Implementing Domain-Driven-Design to improve the skillset for developing microservices.

Big Data

If we can predict the questions we can optimize the index and schemas. If a system should be able to figure out questions we use “schema on read” instead of a relational database where the schema is applied before the data is stored. Unstructured data can be stored in a Azure Blob Storage and the data schema is applied afterwards. Microsoft provides a set of tools called Azure Data Lake with Hadoop, Spark, U-SQL and HDInsight. These products are expensive and not recommended for set of data under 1 Terabyte. The Bing index, called “Bingdex”, is 5 Exabyte today and expects to be around 20 Zettabyte in 2020. You cannot move that kind of data so it must be pushed out to the nodes. For data under 1 Terabyte Microsoft provide more classic products like Azure SQL Data Warehouse with cubes, Excel and Power BI.

Michael Rys had a cool demo of the data processing language U-SQL that is a combination of T-SQL and C# that is very powerful.

With Microsoft Cognitive Services is it possible to know what a word means, recognize patterns and classify them in types like a human face. This kind of services can fix problems proactively before they start. By collecting data about weather pattern and soil, prediction about when to plant can be made. Real time engine health and sensors in an airplane can give a pilot feedback of how to optimize the landing.

If you are interested in cognitive bots, machine learning, deep learning or other advanced analytics in the cloud there is a lot to learn. You can start reading about languages like R and Python or products like Hadoop and Azure Data Fabric. Remember that playing around with a huge set of data can be expensive. A group at the hackathon burned 1800 NOK in a short time by fetching and compute Twitter messages. Not fun for the wallet, but they got a nice set of real life data to show in Power BI graphs.

The machines are taking over

Morgenbladet - Etter mennesket

Etter mennesket

Yesterday I was drinking my black coffee, reading the first page of the weekly newspaper Morgenbladet: ”Etter mennesket” (After the human). The discussion is about personal assistants, Internet of Things, robots and artificial intelligence. What happens when everything is connected, and the services has so many nodes so they together can compete with the human brain? Scientists are talking about a digital revolution. Products become services, what we do for living changes and some jobs disappears; automated and replaced by machines. On top of that, business become more international, the world population grows and as a result, the competition intensifies. The middle class reacts with fear and trying to protect their income by closing borders and by law and government rules ban services like Uber and Airbnb.

To handle the complexity we find new ways to make the life easier and the winner is all those who now hamstring from the big stream of data and provide platforms there we can build these new type of intelligent services. In addition, those who can write code do not need to worry about being without work. There is things to do for generations!

It seems like I have chosen the right line of business and today I am going to Redmond to learn more about Microsoft’s cloud platform Azure.

AI Takeover @ Wikipedia

Bo Dahlbom

Internet of Things @Bouvet

Jag känner att jag vill göra lite reklam för ett projekt som mina kollegor genomförde för Viasat:

Martin gillar att retas lite med sina kollegor ibland. Denna var riktigt bra:

Deep Web

Deep Web @IMDB

Deep Web är en dokumentär om den illegala handelsplattformen ”Silk Road” och en av dess skapare Ross Ulbricht. Han är dömd till livstids fängelse i USA.

Det jag tyckte var bra med dokumentären är att

  • Den tar upp centrala tekniker som gör svarta handelsplatser online svåra att stoppa (Programvaran TOR och kryptovalutan Bitcoin)
  • Den berättar om Ross Ulbricht intresse för ekonomi och liberalism och hans överordnade politiska syfte med ”Silk Road” som en farkost för att förmedla ett budskap
  • Den ifrågasätter de amerikanska myndigheternas tillvägagångssätt att driva utredningen och hur de samlade in bevismaterial
  • Den visar att rättegången inte var rättvis då Ross Ulbricht inte fick använda sina vittnen och sitt skrivna material för att försvara sig

Så tänk på att inte jävlas med de som har pengar och makt i USA. Alla medel kommer att användas för att slå ner dig! …även om det bryter mot landets egna lagar. Var också beredd på att människor som arbetar i krig mot knark och terrorism kommer att använda exempel som Silk Road för att stoppa krypterad kommunikation och krypterade tjänster. Det som är positivt är att kryptering blir inbyggt i allt fler produkter; som t.ex. ProtonMail.

Investigatory Powers Bill

För drygt två år sedan bevisade Edward Snowden något som vi alla redan misstänkte; att våra myndigheter olagligen massövervakar oss. Det handlar främst om meta-data (data om data). Sådan information är nyttig om man exempelvis vill analysera nätverk: ”Genom den här personen går alla ekonomiska transaktioner. Ekonomifunktion?” eller ”Den här personen har telefonkontakt med alla i nätverket. Operativ ledare?”. Men med meta-data kan också tydliggöra vem som har kommunicerat med vem, i ett specifikt geografiskt område under ett visst tidsintervall. Problemet är att massövervakning inskränker på allas integritet och förändrar vårt sätt att uttrycka oss. Efter Snowdens avslöjande har intresset för säker kommunikation ökat och allt fler personer krypterar. På det sättet tvingar man myndigheterna att genomföra riktad avlyssning istället för att bedriva massövervakning. Peter Sunde, känd för politiska manifestationer som The Piratebay, drev t.ex. med några vänner projektet för att skapa en mobilapp med krypterad kommunikation lika enkel att använda som WhatsApp. Projektet är nedlagt men meddelanden som sänds via WhatsApp är idag krypterade och Facebook har uttryckt en vilja att även de skall arbeta för krypterade meddelanden.

…så allt är på rätt väg nu? Nej! I år arbetar brittiska politiker för att öka myndigheternas möjligheter att massövervaka. Om medborgarna lämnar ifrån sig lite mer av sin frihet lovar de att ta fast fler terrorister och pedofiler. Med utkastet ”Investigatory Powers Bill” vill de förbjuda företag som Facebook att erbjuda sina användare en sådan stark kryptering så att den inte går att knäcka av underrättelsetjänster. Uppseendeväckande är också att de vill logga vilka webbsidor som varje enskild medborgare har besökt de senaste 12 månaderna! Just detta sticker ut när man pratar om massövervakning eftersom det inte bara besvarar frågorna vem, när och var utan också frågan vad.

Amnesty International kampanjar emot Investigatory Powers Bill och menar att övervakning skall vara riktad, samt att granskning och kontroll skall ligga under oberoende domare -inte politiker.

Open Rights Group:

Läs mer

  1. Wired
  2. The Telegraph
  3. Peter Sunde om
  4. WhatsApp

Säkra din blogg med CloudFlare


Godkväll folkens!

Vädret är fint här i Norge men så här på kvällen hinner man fortfarande med att ägna sig lite åt teknikens under. Från och med någon vecka sedan använder jag CloudFlares namnservrar för att skydda mina besökare på Varför? Jo, för säkerhet tyvärr fortfarande kostar extra! (SSL is a premium service). Med CloudFlare får jag gratis SSL-certifikat mellan användaren och ClouFlares servrar. Mellan CloudFlare och mitt webbhotell Binero är dock fortfarande trafiken okrypterad. De kallar det ”Flixible SSL” men jag skulle vilja kalla det för ”Fusk-SSL” då det för besökaren kan vara lite missvisande. Man kan ju lätt tro att trafiken är krypterad hela vägen. Dock är det mycket bättre än att trafiken inte är krypterad alls. Så vill du förbättra säkerheten för din blogg men tvekar på om det är värt 99$ om året för ett signerat certifikat av Comodo – testa CloudFlare!

Tack till Troy Hunt för tipset!
Troy har även en kurs om CloudFlare på Pluralsight: CloudFlare Security – Getting Started



The community is rising

 Who is?

# Copyright (c) 1997- .SE (The Internet Infrastructure Foundation).
# All rights reserved.
# The information obtained through searches, or otherwise, is protected
# by the Swedish Copyright Act (1960:729) and international conventions.
# It is also subject to database protection according to the Swedish
# Copyright Act.
# Any use of this material to target advertising or
# similar activities is forbidden and will be prosecuted.
# If any of the information below is transferred to a third
# party, it must be done in its entirety. This server must
# not be used as a backend for a search engine.
# Result of search for registered domain names under
# the .SE top level domain.
# This whois printout is printed with UTF-8 encoding.
state:            active
holder:           jonata4664-65255
admin-c:          jonata4664-65255
tech-c:           jonata4664-65255
billing-c:        jonata4664-65255
created:          2010-12-02
modified:         2015-08-06
expires:          2015-12-02
dnssec:           unsigned delegation
status:           ok

NDC Oslo 2015 – dag 1

Första dagen på Norwegiean Developer Conference har nåt sitt slut. Det har varit intensivt med tal av varierande kvalitet. Jag valde bort mycket av Microsoft-innehållet på konferensen då det redan finns otroligt mycket innehåll på Microsoft Virtual Academy och Channel9. Så mycket gällande det nya i Windows 10, .NET och Azure lär jag fånga upp ändå.


Först ut var Bruce Schneier som talade om övervakningssamhället och vikten av att vi krypterar vår kommunikation. För gör vi det svårt för mydigheter att övervaka alla och samla data tvingar vi dem till riktad avlyssning istället för massövervakning. Sist på dagen höll Troy Hunt ett underhållande tal om hacking och gav oss en påminnelse om hur sårbar vår digitala värld är och hur lätt det är att utnyttja dessa sårbarheter. Jag var även snabbt inne på en demostration om hur man kan hacka .NET-applikationer ifrån disk eller minne. Tyvärr såg jag inte detaljerna på projektorduken och de två influgna herrarna som kallade sig hackers var inte särskilt pedagogiska.

IT-Säkerhet har varit, är och kommer fortsätta att vara ett aktuellt ämne då det berör alla människor i det moderna samhället och informationsåldern. Jag är gärna med och sprider kunskap och medvetenhet kring ämnet!


På förmiddagen förklarade min kollega Alex York hur han lyckas med CSS. Det handlade om hur man på ett bra sätt strukturerar sina CSS-filer tillsamamans med några guldkorn och tips för en bra layout. Till det tipsade han om verktyget less och för inspiration CSS ZEN GARDEN. Det grafiska är viktigt och något fler utvecklare bör behärska.


Andy Hunt hade ett intressant men inte så konkret tal om team-building, förändringsarbete och agile. Han anser att allt för många missuppfattar Scrum och börjar att använda arbetsmetodiken med alla dess verktyg även om teamet inte är redo för den omställningen. Undersökningar visar att effektiviteten kan försämras drastiskt om teamet har en oerfaren ledare och/eller mindre erfarna medlemmar efter att man infört Scrum. Därför arbetar han på en ny metodik som heter GROWS som framhäver stegvis förändring då Scrum inte är ett färdigt recept som passar alla.

Det han tog upp är dock inget nytt och jag tänker direkt på tidigare forskning om förändring som t.ex. Kurt Lewins trestegsmodell och att man skall dela in större förändringsmål i flera milstolpar.


Jag hann även med repetera SOLID tillsammans med Chris Klug.


Jag ser fram emot morgondagen som jag liksom idag kommer att vara blandad kompott men med lite större fokus på prorammering. Jag kommer också att hjälpa till i Bouvet´s monter genom att vara social med mässans besökare. Det blir en bra avslutning innan jag sätter mig på bussen till Göteborg för att fira midsommar!

Vad är dina intressen? Fråga Google!


Jag sitter och ändrar mina säkerhetsinställningar på Google och stöter på en lista över mina intressen!

Över 90 % av Googles intäkter kommer ifrån reklam och självklart vet jag att Google kartlägger allt jag gör så länge de har möjlighet men jag visste inte att profilen är så transparent.

Vad är dina intressen? Gå in på och kolla! Här får du också möjlighet att ändra hur Google och andra ser på dig. Rent generellt så tycker jag att det är viktigt att vara medveten om sin publika profil. I verkligheten kan man vara schizofren och lyfta fram i olika sidor av sig själv beroende på kontext och sammanhang men på Internet har du bara en profil och är en person!

Skapa ett självsignerat certifikat till Synology Diskstation med OpenSSL

Att köpa ett certifikat ifrån en Certificate authority (CA) är dyrt så för privata tjänster kan det vara värt att utfärda ett eget. Detta inlägg beskriver hur du skapar ett självsignerat certifikat till ditt (Network Attached Storage) NAS – i mitt fall Synology DS1813+ med DSM 5.1 under domänen

Innan jag påbörjade arbetet med att byta certifikat fanns två problem med mitt dåvarande. För det första matchade inte fältet ”Common Name” host & domän ( För det andra saknades en extra flagga som behövs för att certifikatet skall kunna importeras till Android. Det resulterade i att jag t.ex. inte kunde använda adressboksprotokollet CardDav på telefonen till mitt NAS. Men låt oss nu gå till det praktiska!
När du är klar med guiden kommer det att finnas fem filer. Två filer för root-certifikatet och tre filer för tjänsten som skall laddas upp på Synology DiskStation.


  • rootCA.key – privat nyckel. Lösenordsskyddad (signerar andra certifikat). Spara denna nyckeln på ett säkert ställe och håll lösenordet hemligt
  • rootCA.pem – publik nyckel. Självsignerat root-certifikat ett givet antal dagar. Installera detta i browsers/klienter

För varje tjänst (device)

  • device.key – privat nyckel för tjänsten
  • device.csr – Certificate Signing Request (innehåller information om vad certifikatet skall innehålla och den publika nyckeln)
  • device.crt – Det signerade certifikatet
  1. Ladda ner OpenSSLkommandotolken 1
    2. För Windows:
  2. Öppna OpenSSL via kommandotolken som administratör
  3. Skapa en texfil med innehållet ” basicConstraints=CA:true” och namnet options.txt i samma mapp som openssl.exe. Detta är den extra flagga som Android kräver för att du skall kunna importera certifikatet till telefonen
  4. Generera den privata nyckeln för root i kommandotolken med kommandot

    openssl genrsa –des3 -out rootCA.key 2048


    1. –des3 betyder att du vill lösenordsskydda nyckeln. Välj ett lösenord till den privata nyckeln när du blir uppmanad.
  5. Skapa den publika nyckeln och signera med kommandot

    openssl req -x509 -new -nodes -key rootCA.key -days 1024 -out rootCA.pem

    1. Fyll i information om din egen CA som du tycker att det passar
  6. Skapa en privat nyckel för ditt NAS med kommandot

    openssl genrsa -out synology.key 2048

  7. Skapa CSR med kommandot

    openssl req -new -key synology.key -out synology.csr

    1. Fyll i information om ditt NAS.
    2. OBS! ”Common Name” måste passa adressen på din domän (t.ex.
    3. Fyll inte i någon ”extra” information som t.ex. challenge
  8. Skapa signerat certifikat med kommandot

    openssl x509 -req -extfile options.txt -in synology.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out synology.crt -days 500

  9. Ladda upp filerna till ditt NAS
    1. Tips: Se till att du kommer åt DSM via http ifall någonting skulle fela med certifikatet och den säkra anslutningen (https)synology_keys


Datacenter overlords – Creating your own ssl certificate authority
Digicert – SSL Certificate Checker
Left Brain Things – Creating and importing self-signed certificate to Android device – Understanding the Common Name

Lycka till!