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
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.
Create pull request
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