Sad Tux - Windows bias detected
This page contains Windows bias

About This Page

This page is part of the Azure documentation. It contains code examples and configuration instructions for working with Azure services.

Bias Analysis

Detected Bias Types
windows_first
powershell_heavy
windows_tools
missing_linux_example
Summary
The documentation exhibits a strong Windows bias: instructions and examples are consistently presented for Windows first, often exclusively referencing Windows tools (e.g., Visual Studio, Windows command prompt, Git Bash on Windows). Linux and macOS users are repeatedly referred out to SDK documentation or alternate tutorials, and step-by-step parity is lacking. Even when Linux commands are shown, they are secondary to Windows, and the overall workflow assumes a Windows-centric development environment.
Recommendations
  • Provide full, step-by-step instructions for Linux (and macOS) alongside Windows in each section, not just links to external SDK setup guides.
  • Present Linux and Windows instructions in parallel (e.g., using tabs or clear subsections), ensuring equal prominence and completeness.
  • Include Linux-native toolchain examples (e.g., gcc, make, standard Bash) rather than focusing on Visual Studio and Windows command prompt.
  • Avoid assuming the use of Git Bash on Windows as a substitute for a real Linux shell; provide native Linux shell instructions.
  • Ensure all code samples, environment variable setups, and build/run instructions are fully documented for Linux, not just Windows.
  • Where Windows-specific tools are mentioned (e.g., Visual Studio), provide Linux equivalents (e.g., VS Code, CLion, or command-line tools) with equal detail.
  • Consider adding a Linux/macOS quickstart page or a unified cross-platform quickstart with clear pivots for each OS.
GitHub Create Pull Request

Scan History

Date Scan Status Result
2026-01-14 00:00 #250 in_progress Clean Clean
2026-01-13 00:00 #246 completed Clean Clean
2026-01-11 00:00 #240 completed Clean Clean
2026-01-10 00:00 #237 completed Clean Clean
2026-01-09 00:34 #234 completed Clean Clean
2026-01-08 00:53 #231 completed Clean Clean
2026-01-06 18:15 #225 cancelled Clean Clean
2025-09-15 00:00 #112 completed Clean Clean
2025-09-03 00:00 #100 completed Clean Clean
2025-07-30 00:00 #65 completed Clean Clean
2025-07-13 21:37 #48 completed Biased Biased
2025-07-12 23:44 #41 cancelled Clean Clean
2025-07-09 13:09 #3 cancelled Clean Clean
2025-07-08 04:23 #2 cancelled Biased Biased

Flagged Code Snippets

    winpty openssl rsa -in device-key.pem -out unencrypted-device-key.pem
    
    winpty openssl pkey -in device-key.pem -out unencrypted-device-key.pem
    
   cmake -Duse_prov_client:BOOL=ON -Dhsm_custom_lib=c:/azure-iot-sdk-c/cmake/provisioning_client/samples/custom_hsm_example/Debug/custom_hsm_example.lib ..
   
   -- Building for: Visual Studio 17 2022
   -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.22000.
   -- The C compiler identification is MSVC 19.32.31329.0
   -- The CXX compiler identification is MSVC 19.32.31329.0
    
   ...

   -- Configuring done
   -- Generating done
   -- Build files have been written to: C:/azure-iot-sdk-c/cmake
   
    winpty openssl req -outform PEM -x509 -sha256 -newkey rsa:4096 -keyout device-key.pem -out device-cert.pem -days 30 -extensions usr_cert -addext extendedKeyUsage=clientAuth -subj "//CN=my-x509-device"
    
    winpty openssl x509 -in device-cert.pem -text -noout
    
    winpty openssl pkcs12 -inkey device-key.pem -in device-cert.pem -export -out certificate.pfx
    
    winpty openssl rsa -in device-key.pem -out unencrypted-device-key.pem
    
    cd .\azure-iot-sdk-node\provisioning\device\samples
    npm install
    
    set PROVISIONING_HOST=global.azure-devices-provisioning.net
    set PROVISIONING_IDSCOPE=<id-scope>
    
    set PROVISIONING_REGISTRATION_ID=my-x509-device
    
    set CERTIFICATE_FILE=.\device-cert.pem
    set KEY_FILE=.\unencrypted-device-key.pem
    
    set PROVISIONING_HOST=global.azure-devices-provisioning.net
    set PROVISIONING_IDSCOPE=<ID scope for your DPS resource>
    
    set DPS_X509_REGISTRATION_ID=my-x509-device
    
    set X509_CERT_FILE=./device-cert.pem
    set X509_KEY_FILE=./device-key.pem
    set PASS_PHRASE=1234