Getting started with VS Code – for a developer wannabe – Part 1

I am a developer… in the same was as I am a gamer and a harmonica player… I really, really really want to be one… I am not good at it, but I really want to be one. I have over the years tried my hand at Powershell, Yaml, BAT- files and even good old kix scripts and much lite an amateur golfer I try to tell my self that if I just have the right tool I will really get good at this… (I really want to believe that 🙂 )

When it comes to PowerShell I have been an avid user of PowerShell ISE but since Microsoft is not doing much of anything with ISE anymore and they are pushing VS Code more and more for everything I thought what the heck… This is my noob guide to getting started with VS Code (for someone that has only used ISE).

In this post I will show you how I set it up and I will probably follow up wit other posts on how I got started.

First you need to download and install VS Code itself:

  1. Go here to download
  2. I checked the options
    Add “Open with Code” action to Windows Explorer file context meny
    Add “Open with Code” action to Windows Explorer directory context meny
    Register Code as an editor for supported file types
  3. Finish the install and Launch VS Code

When you start VS Code for the first time it will look like this. To get started with PowerShell there is at least one plugin you will need… PowerShell (unexpected right). This is used for providing snippets and high lighting code

4. Click the small cubes at the bottom of the toolbar on the left

5. Type PowerShell in the search bar, select it and press the small green install

The plugin even makes VS Code look a bit like ISE. I usually set it back to Dark (that is what coders do 🙂 )

That is it for today. I will continue with more tips and tricks for getting started with VS Code.

Bye

Johan

Creating an App Password for a Azure AD Account using the Office 365 Portal

Most organizations today are using Azure AD and the absolute recommendation is to use 2FA in as many scenarios as possible… in some that is not possible… then there is an option to use an application password (this should be uses in special cases and you should never use it on an Admin Account). To create an App Password you do the following:

  • Log in to https://portal.office.com
  • In the upper right corner click your profile picture and select “My Account”
  • Go to “Security and Privacy” and click “Create and manage app passwords”

Note: If you are not able to see the Additional Security verification you can go directly to the link: https://account.activedirectory.windowsazure.com/AppPasswords.aspx … here you can create an app password.

  • To create a new app password click create

Links:
https://docs.microsoft.com/en-us/azure/active-directory/user-help/multi-factor-authentication-end-user-app-passwords
https://community.spiceworks.com/topic/2034065-issues-with-o365-app-passwords

Sudio Fem True Wireless lurar

För ett tag sedan fick jag kontakt men det svenska hörlurstillverkaren Sudio. Jag har inte haft möjlighet att testa deras lurar tidigare men jag måste säga att det var en trevlig bekantskap. Modellen jag fått testa heter Sudio Fem, är av true-wireless typ och väger 5 gram var. Jag har ju tidigare gnällt på att jag har problem med in-ear lurar och jag sällan kan få dem att sitta fast som de skall. Sudio 5 sitter behvämt i örat och sticker inte ut så mycket. Modellen jag har är mörkblå med en liten guldfärgad utstickare där två av microfonerna sitter. Jag säger två för lurarna har hela 4 mikrofoner som ger dem en möjlighet att på ett effektivt sätt filtrera bort omgivningens ljud med en funktion som heter TrueVoice. Enligt min erfarenhet funkar detta mycket bra och de jag pratat med och frågat hur det låter säger att det låter mycket bra.

När det gäller lyssningsljudet i lurarna är det mycket bra. Ljudbilden känns mycket balanserad men klart ljud och fyllig bas. Jag är förmodlgen inte rätt person att bedöma detta då majoriteten av mitt lyssnande inte är musik utan röst i form av podcast och ljudböcker. Jag dock passat på attlyssna en del på musik för detta test.

Bildresultat för sudio fem

Lurarna levereras med en magnetisk laddnings case med USB-C kontakt. Casen innehåller som vanligt ett batteri som ger lurarna totalt 20 timmars batteri tid.

En funktion som ingen av mina true vireless lurar haft tidigare men som jag vet att t.ex AirPods har och som i detta fall Sudios lurar har är att de är individuellt parade med telefonen vilket betyder att man kan ha vilken lur om helst liggande på laddning och den andra i örat om man t.x vill använda den som telefon headset. Väldigt praktiskt om man börjar få ont om batteri.

För att kontrollera lurarna finns en touch yta på respektive lur där dubbel-tap byter till förra respektive nästa spår/kapitel och trippel-tap höjer respektive sänker volymen. Enkel-tap på höger eller vänster lur är play/pause.

Bildresultat för sudio fem

Det finns ett par saker jag tycker är aningen sämre med lurarna… för det första har varje lur en touch yta för att bland annat pausa, svara och aktivera röstassistent. Detta gör att lurarna är helt slutna och är IP X5 klassade. Det innebär dock att man inte någon annan feedback om man trycker annat än ett pip i luren när man play och pausat och att de inte funkar på vintern när man har har vantar och mössan långt nerdragen över öronen. Den andra saken jag saknar från de hörlurar jag använder till vardags är en hear-through funktion som gör att man kan höra omgivningen via mikrofonerna vilket är bra att ha när man t.ex besöker en butik och behöver prata med någon. Den tredje nackdelen har att göra med hur jag personligen använder mina hörlurarna. Jag föredrar att bara behöva ha med mig ett par lurar och eftersom jag dagligen sitter i mycket voice möten via datorn skulle jag verkligen uppskatta om jag kunnat ha lurarna anslutna till två enheter samtidigt (dator och telefon).

På det hela taget. Ett par mycket bra hörlurar med endast mindre nackdelar som inte avspeglar lurarna som helhet utan endast har att göra med mina specifika användningsområden. Jag tycker att dessa är bra och mycket prisvärda med sin prislapp på runt 1400 kronor i skrivandes stund. Helt klart rekommenderade!!

Projecting to a Windows PC in 2019

There used to be this app by default in Windows 10 called Connect… this was a brilliant app for all of us presenting things once in a while. The app enabled you to show your phone screen on your PC screen to be able to show it on a projector.

Today one of my colleagues asked me how to do this and I thought I would write a short decription… and low and behold… I could not find Connect!!

After some fiddeling I found that it is now an optional feature. To install it go to Settings and search for Projecton Settings. Click the “Optional Features” link.

Click Add a feature, search for wireless display, check it and click Install

Now the Connect app exists in the start menu, you can start it and connect to tour PC.

That is all for today…

Johan

Flow Friday: Posting Azure VM Auto Shutdown notifications to Microsoft Teams

When you have Azure VMs up and running there is a function to auto shut them down when they are not being used. You can do that in a couple of ways. One of the newer ones is to use the Azure DevTest Labs functionality to do this. Half an hour before the VM is shut down Azure sends an email to a pre-defined adress where you have the option to post-pone or cancel the shutdown.

Today one of my colleagues asked me if it was possible to get this email, with the links, into Teams. My first thought was to send it to the Teams Channel email. Unfortunately did not display correctly…

My next try was to use the Webhook in DevTest Labs functionality and the incoming webhook connector in Teams. When I did this the message did not look very “user friendly”

So I thought I would give Power Automate a try. I set up DevTest Labs to send the email to my mailbox. The I creating a trigger for an incoming email and with a filter for the email adress that Azure DevTest Labs user

The I add a block posting to Teams Channel. In order to get it to work I had to cut down the message to size. I used the title tag in the email and the phrase “Note that” at the end of the message to cut away the beginning and the end of the message body to fit the message in the Teams post.

The Expression:
substring(triggerBody()?[‘Body’],indexOf(triggerBody()?[‘Body’],'<H1′),sub(indexOf(triggerBody()?[‘Body’],’Note that’), indexOf(triggerBody()?[‘Body’],'<H1′)))

Finally I move the message to my Archive folder.

The message is now in Teams 🙂

Installing Hass.io on a Raspberry Pi 3 with a RaZberry Z-wave card

I was helping a friend today getting his Raspberry Pi prepped for running Hass.io. He mentioned that he could not get it to boot correctly and thought that it had to do with his laptop not being able to create the boot image correctly so I thought I would see it I could help.

Turned out the issue was not the image… When I opened the lid of the Pi I noticed that it had a RaZberry card installed… so I did what any PC tinkerer with a non-booting PC does… rip everything out and start with the bare essentials. Presto… it booted 🙂

Apparently the built in Bluetooth on the Pi 3 is interfering with the RaZberry card and you have to tweak the HassOS image in order to get it working.

First you add this to the config.txt in the root of the boot volume (you need to insert the card in a PC)

dtoverlay=pi3-miniuart-bt

And then you add the following to the configuration.yaml file of Hass.io (the easiest way I found to get to it is installing the Samba plugin from whitin Hassio)

zwave:
  usb_path: /dev/ttyAMA0

And then it boots… Happy Days

/Johan

Links
https://www.home-assistant.io/hassio/zwave/
https://www.automatiserar.se/razberry-och-z-wave-me/#Vad_Behovs

Friday Flow: Using Microsoft Forms with Power Automate

At the company where I work we regularly have knowledge transfer sessions called Brown Bag Lunches (BBLs) which I think is a great way to share and give back. I am in charge of scheduling these.

I wanted automate the process for planning these sessions and give my colleagues a way to submit suggestions for content. I started by setting a simple Microsoft Form for them to add suggestions

Sorry about the Swedish 🙂

Microsoft has a page for looking at the results of the form submissions which I could have used to get the subjects and plan them manually… but where is the fun in that :-). My solution was to add a flow that is triggered every time a form is submitted which adds it to an excel spreadsheet and adds a todo task in my todo list of choice Todoist.

The result from Forms is in a JSON format so the first thing we need to do is to parse the JSON message.


The parsing of the JSON also means that we can use the content as dynamic content and add it without having to write an expression… the No-Code way. The JSON message also only contains the response id so we will have to use a “Get response details” block to get the actual information of the form.

The reason we are extracting the information is to put it in the Excel file… The response only contains the submitting users email adress so to get the excel file to look a bit nicer I use the Get User Profile block to look up the users real name from the Azure AD/SharePoint. This is a really cool block since it can get a whole lot of cool info from you organization such at a users manager etc.

Finally I add a line to an excel file and put a reminder i my todo list

I would really continue building this logic to automate the planning even further… I might have to revisit this in a later post 🙂

Have a nice weekend

Johan

Säker USB från Kingston

Vi i podden hade förmånen att komma i kontakt med Kingston i samband med ett frukostseminarie där de presenterade sina lösningar för säker lagring på arbetet. I samband med det fick vi möjlighet att testa deras DataTraveler 2000.

Stickan är en 16 GB lagrings enhet som kopplas till datorn med USB 3.0. Det som skiljer den från de flesta andra USB-stickor är att den är krypterad. Nu tänker du att “Jag kan ju kryptera vilken sticka som helst med Bitlocker To Go i Windows, FileVault i MacOS eller [insert random disk encryption tool here] på i princip alla platformar. Det finns även USB lagring med kryptering som kräver att mjukvara installeras på datorn för att komma åt det som är lagrat på disken. Detta gör att information en på USB-minnet är säkert om stickan är urpluggad men denna metod gör lösningen lite komplicerad och kommer att ställa till det lite om man t.ex vill använda det på en enhet som man inte kan installera mjukvara på.

Kingston har istället löst det i DT2000 genom att hantera all kryptering (AES 265 bitar i XTS Mode enligt Kingston) helt på stickan med hjälp av ett litet numeriskt tangentbord där man kan knappa in en kod. Det var lite knepigt att byta kod till att börja med, det finns en bra beskrivning som medföljer minnet men det var en hel del tryckande som var tvunget att göras under en viss tidsbrist. När detta väl var klart funkar stickan galant och finessen här är att operativsystemet i vilket man pluggar in minnet inte har en aning om att det är krypterat och så fort man rycker ut det så krypteras det igen. Minnet behöver dock inte vara inpluggat för att “låsas upp” då det innehåller ett batteri som håller det upplåst om koden knappas in i frånkopplat läge. Detta är en bra funktion om minnet skall kopplas in i en svårtillgänglig USB port t.ex.

Prestandamässigt håller minnet absolut måttet och levererar i mina mätningar en skrivhastighet på mellan 50 och 65 MB per sekund och läshastighet på runt 155 MB per sekund vilket är en bit över vad Kingston själv uppger.

Som jag nämnde i början levereras minnet endast med USB 3.0 vilket innebär den har en USB typ A kontakt och den leveras inte med USB Type C kontakt. Anledningen till detta är dels att det fortfarande finns mest USB typ A kontakter i världen och att USB typ C kontakten inte är lika stabil och eftersom minnet är ganska stort ville Kingston inte riskera att man skadar kontakten i datorn.

På det hela taget är Kingston DT2000 en mycket trevlig USB sticka med bra prestanda för den som lagring med extra säkerhet. Rekommenderas!!

Getting Workflow Editor and Management Reporter Editor to work in Chromium Edge

When running Dynamics 365 for Finance and Operations there are some legacy software built in. These are packaged as ClickOnce applications and will be downloaded every time you run them. In Internet Explorer and the old version of Microsoft Edge this worked out of the box since these are .Net aware out of the box. When is comes to the all new chromium based Microsoft Edge and Google Chrome this is not the case. In order to get these working we will need a plugin installed in the browser.

For Microsoft (Chromium) Edge
To install in Edge the process is almost the same as for Google Chrome but with an additional steps prior to starting

  • Now go directly to step 3 below

Tip: you can bookmark the URL to the Google Chrome Store to have it around

For Google Chrome
1. Go to the Chrome Web Store by going to Extensions in the Settings menu

2. Click the Chrome Web Store at the bottom of the page

3. Search for ClickOnce and Install ClickOnce for Google Chrome

Verify all installed hotfixes in AX 2009

Today I need to handle an older system… I need to verify if a hotfix is installed in and older AX 2009 system. I found this instruction online (link below): Here is another way to get the list of installed KBs in AX 2009:

  1. Start the AOT (Ctrl + D)
  2. Go to Classes – SysHotfixManifest and expand it
  3. Select a methods and press Ctrl + A to select all methods
  4. Right-click and click Add-Ins – Copy – Name
  5. Paste into Wordpad (Notepad does not handle the CRs very well)
  6. Search for the KB number you want to find

That’s it

Johan

Links
https://community.dynamics.com/ax/f/microsoft-dynamics-ax-forum/76061/finding-which-hotfixes-are-installed/212528