Heb ik een vliegbewijs nodig om met een drone te vliegen?

Zit ik vandaag op http://www.nos.nl het nieuws te bekijken valt in eens mijn oog op een zinnetje wat er volgend jaar (2021) allemaal wel niet gaat veranderen: Wetten, regels en belastingtarieven: dit verandert er per 1 januari 2021 | NOS

Voorheen had je voor recreatief gebruik van drones was tot en met vandaag vrij in buitengebied. Nu begrijp ik uit een zinnetje in dit nieuwsbericht dat dat vanaf morgen niet meer zo is: “De eigenaar (exploitant) van 1 of meer drone(s) registreert zich door een exploitantnummer aan te vragen bij de RDW. Dit geldt ook voor eigenaren die bedrijfsmatig met drones vliegen. U vraagt een exploitantnummer aan bij de RDW. Dit exploitantnummer brengt u zichtbaar aan op uw drone(s). Dit mag een plaatje of een sticker zijn. Als het kan, zet u dit ook digitaal in de software van uw drone.”

Drones lichter dan 250 gram zijn vrijgesteld van deze wetgeving.

Vragen en antwoorden met betrekking tot deze nieuwe wet:

Q&A’s Nieuwe Europese regels drones | Publicatie | Rijksoverheid.nl

Overige informatie die beschikbaar is gesteld sinds 18-12-2020:

Europese droneregels voor piloten die met modelvliegtuigen vliegen | Brochure | Rijksoverheid.nl

Heb ik een vliegbewijws nodig om met een drone te vliegen? | Rijksoverheid.nl

Welke regels gelden voor het vliegen met een drone met een laag risico? | Rijksoverheid.nl

Welke regels gelden voor het vliegen met een drone met een gemiddeld risico? | Rijksoverheid.nl

Welke regels gelden voor het vliegen met een drone met een hoog risico? | Rijksoverheid.nl

Zie ook:

Vliegen met een drone. Wat moet ik regelen? – Kannekens

LET OP!!! Wet- en regelgeving rond modelvliegtuig en drone vliegen veranderen per 31-12-2020. Even een belangrijk bericht net voor kerst 2020 geplaatst door rijksoverheid

Klik deze link voor meer info rondom deze wijziging:

Heb ik een vliegbewijs nodig om met een drone te vliegen? – Kannekens

Haal hier uw gratis vliegbewijs:

Haal hier uw gratis vliegbewijs – Kannekens

We bouwen en vliegen met de hele familie.

Mijn vader is een “poosje” 🙂 geleden (begin 80-er jaren) begonnen met balsa vliegtuigen bij een bouw- en vliegclub (BVL) ergens tussen Oud-Gastel en Moerstraten. De club is daarna verhuisd naar een plekje in de polder bij Kruisland.

Ik en mijn broer gingen ook regelmatig mee. Wij waren toen nog te jong om zelf te mogen en kunnen vliegen.

Later hebben we met zijn drieën het vliegen opnieuw opgepakt en zijn we lid geworden van een vliegclub in Rilland Bath (Alouette). Dit laatste vliegveld was een heel eind bij ons uit de buurt. Hierdoor was dat op de lange duur niet praktisch.

Sinds 2015 zijn we overgestapt op elektrische motorvliegtuigmodellen. Mijn neefje heeft ook de smaak te pakken gekregen en vliegt nu met ons mee.

Windows 10 client blocking access to server open file share with guest access

A new policy implementation on a new Windows 10 machine can cause Windows 10 to report that certain shares are inaccessable due to policy settings.

The solution is to change the Local Group Policy with gpedit.msc:

Navigate to Computer Configuration -> Administrative Templates -> Network -> Lanman Workstation and select the Enable insecure guest logons as shown in the below screenshot.

Create a certificate for package signing AND deploy a MSIX package

I wanted my application to be available via a MSIX installer. This new MSIX installer supports all type of Windows applications including Win32, WPF, WinForm and UWP.

I struggled a few days to get the certificate right so that is why I published this article. This article goes through the process of creating a certificate and adding this to the app installer package.

First you need to add a new project to your solution. The solution type is called Windows Application Packaging Project. This is done by right clicking the solution and go to Add > New Project…

Determine the subject of your packaged app
To use a certificate to sign your app package, the “Subject” in the certificate must match the “Publisher” section in your app’s manifest.

For example, the “Identity” section in your app’s AppxManifest.xml file should look something like this:

<Identity
    Name="12345678-1234-1234-1234-1234567890ab"
    Publisher="CN=Contoso Software, O=Contoso Corporation, C=US"
    Version="1.0.2.0" />

The “Publisher”, in this case, is “CN=Contoso Software, O=Contoso Corporation, C=US” which needs to be used for creating your certificate.

Then run the following commands in an elevated PowerShell prompt:

  1. PS C:\WINDOWS\system32> New-SelfSignedCertificate -Type Custom -Subject “CN=Contoso Software, O=Contoso Corporation, C=US” -KeyUsage DigitalSignature -FriendlyName “Certificate for Installing MSIX/Appx from Contoso Software” -CertStoreLocation “Cert:\CurrentUser\My” -TextExtension @(“2.5.29.37={text}1.3.6.1.5.5.7.3.3”, “2.5.29.19={text}”)

    PSParentPath: Microsoft.PowerShell.Security\Certificate::CurrentUser\My

    Thumbprint Subject
    ———- ——-
    2B046FBC587DD867989D6165570B4C144F557FCE CN=Contoso Software, O=Contoso Corporation, C=US
  2. PS C:\WINDOWS\system32>Set-Location Cert:\CurrentUser\My
  3. PS Cert:\CurrentUser\My> $password = ConvertTo-SecureString -String mypassword -Force -AsPlainText
  4. PS Cert:\CurrentUser\My> Export-PfxCertificate -cert “2B046FBC587DD867989D6165570B4C144F557FCE” -FilePath c:\Contoso.Software.pfx -Password $password

    Directory: C:\

    Mode LastWriteTime Length Name
    —- ————- —— —-
    -a—- 7-9-2020 08:42 2756 Contoso.Software.pfx

Then add the certificate to the package installer in Visual Studio:

Next publish the app:

Import the certificate if it is not already installed

Start Manage computer certificates to import the certificate to the computer(s) to which you wish the app to deploy

If it is not present in Thrusted People, import the certificate

Next publish the app

And double click the PackagingProject.appinstaller from the installer folder

Ikarus USB controller shows error installing Windows 10

I’ve bought a USB controller long time ago and I wanted to use this as a game controller in Windows. The controller is a flight simulator controller for scale model airplanes.

The controller came packed with the “Ikarus Easyfly 4 starter edition” flight simulator software. The model is #3015010.

When I plugged in the controller in my new Windows 10 machine, the device came up with an error something like “Unknown USB Device (Device Failed Enumeration)”. Same error like in this article: https://forum.xda-developers.com/android/general/fix-unknown-usb-device-device-t3375320

Lucky for me, the manufactor left a note in the package about adding a registry key.

Start regedit.exe. In the Windows register, add SkipBOSDescriptorQuery with value 1 under Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\040204022273. Add Key 040204022273 to usbflags if this does not exist (most cases).

I added the key as DWORD but still the controller was not working. I tried a few options and investigated some more. I removed the DWORD key and added a binary value with the same name. This finally got the controller working win Windows 10.

Azure click once publish for test and production CI/CD

Change config and sign a click once deployment for test in an Azure build application:

I have the following release pipeline in Azure:

Continuous Integration pipeline that will build for every check in on master branch. This build will trigger a Continuous Delivery pipeline that will deploy the release for the click once application to test. The same installation wil be deployed to production after approval in test on this pipeline.

I want the same build that I tested to go to production. The click once is compiled for release. The app.config I have in source is the production version. So once installed the app will default be configured to connect to production datasources.

For test however I want the app.config to be replaced with a app.config.debug version. This is a app.config that contains the test and debug datasources.

After putting this config file in the deployment the signature for the click once is no longer valid. I resigned the click once manifest for the changed config with a tool from Microsoft .NET SDK.

I used the mage.exe (from .NET framework Tools). Path for my installation: C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools\mage.exe.

I added 3 files to the source directory:

mage.exe
app.config.debug
ACertificateFile.pfx. This pfx is the same I used in the project to sign the manifest file.

After adding these 3 files to the source folder I added a copy step in the build pipeline to add these files to the app.publish folder:

And a script to update the app.config and resign the manifest has to be executed before copying the files to the local deployment server.

@echo on
for /f “delims=” %%F in (‘dir “$(system.defaultworkingdirectory)_Bla.WPF.BLA-.NET Desktop-CI\$(System.TeamProject)-$(Build.BuildNumber)\Application Files” /B /AD’) do set deployDir=%%F
set “to=$(system.defaultworkingdirectory)_Bla.WPF.BLA-.NET Desktop-CI\$(System.TeamProject)-$(Build.BuildNumber)\Application Files\%DeployDir%”
set “from=$(system.defaultworkingdirectory)_Bla.WPF.BLA-.NET Desktop-CI\$(System.TeamProject)-$(Build.BuildNumber)”

copy /Y “%from%\App.config.debug” “%to%\BLA.exe.config.deploy”

ren “%to%*.deploy” *.
“%from%\mage” -sign “%to%\BLA.exe.manifest” -CertFile “%from%\ACertificateFile.pfx”
“%from%\mage” -update “%to%\BLA.exe.manifest” -CertFile “%from%\ACertificateFile.pfx”
“%from%\mage” -update “%from%\BLA.application” -appmanifest “%to%\BLA.exe.manifest” -CertFile “%from%\ACertificateFile.pfx”

ren “%to%*.*” *.*.deploy
ren “%to%*.manifest.deploy” *.
del “%from%\mage.exe”
del “%from%\App.config.debug”
del “%from%\ACertificateFile.pfx”

Important steps to publish a click once app using Azure

Publish in Azure pipeline:

step 1 Build solution with parameter /target:publish

YAML: #Your build pipeline references an undefined variable named ‘Parameters.solution’. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab. See https://go.microsoft.com/fwlink/?linkid=865972

#Your build pipeline references the ‘BuildPlatform’ variable, which you’ve selected to be settable at queue time. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab, and then select the option to make it settable at queue time. See https://go.microsoft.com/fwlink/?linkid=865971

#Your build pipeline references the ‘BuildConfiguration’ variable, which you’ve selected to be settable at queue time. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab, and then select the option to make it settable at queue time. See https://go.microsoft.com/fwlink/?linkid=865971

steps:

– task: VSBuild@1

  displayName: ‘Build solution **\*.sln’

  inputs:

    solution: ‘$(Parameters.solution)’

    msbuildArgs: ‘/target:publish’

    platform: ‘$(BuildPlatform)’

    configuration: ‘$(BuildConfiguration)’

Step 2: Copy artifact files to publish folder

NuGet pack with include referenced projects

Yesterday I wanted to build a NuGet package with a dll that references a project in the same solution. The referenced project however was not added to the installation package when I packed a new Nuget package.

I searched the internet and found some remarks about adding a parameter includereferencedprojects.

Then I came to my pack command in Azure and saw that the parameter was not in the Nuget pack task.

The YAML i had:

At first I didn’t know how to add the includereferencedprojects parameter. I then changed the “automatic package versioning” in “pack options”. I set it to “Off” and an extra checkbox was presented:

I checked the box:

And set the versioning back to the previous value.

Now my YAML included the includereferencedprojects parameter.

After I started a new build with this pipeline, the referenced project dll’s were added to my package.

How to select duplicate values in a SQL table

First make a selection of duplicate values using count:
SELECT
col1, COUNT(col1) AS CountOf
FROM test
GROUP BY col1
HAVING COUNT(col1)>1

Then join this selection with the table on table keys:

select [key],a.col1 from
test a
inner join (SELECT
col1, COUNT(col1) AS CountOf
FROM test
GROUP BY col1
HAVING COUNT(col1)>1) b on a.col1 = b.col1