41554 blogs · [ { "id": "01a08735-2a9a-70ea-b657-5cd2326b7184", "title": "Rust - Multithreading - ABBA deadlock with Arc, Mutex and OS Thread", "url": "https://www.badprog.com/rust-multithreading-abba-deadlock-with-arc-mutex-and-os-thread/", "published_at": "2026-07-08T00:00:00+00:00" }, { "id": "01a08735-2aa7-7018-aaa6-02405a263bd2", "title": "Rust - CLI - Validate program arguments and handle errors with an enum and test suite", "url": "https://www.badprog.com/rust-cli-validate-program-arguments-and-handle-errors-with-an-enum-and-test-suite/", "published_at": "2026-06-28T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf38ca9ce4a", "title": "GNU/Linux - Raspberry Pi - Configure Buildroot menuconfig for RPI 1B Rev2 and Linux kernel 6.6", "url": "https://www.badprog.com/gnu-linux-raspberry-pi-configure-buildroot-menuconfig-for-rpi-1b-rev2-and-linux-kernel-6-6/", "published_at": "2026-06-22T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf38d21b6ea", "title": "GNU/Linux - Raspberry Pi - Buildroot 2024.02 minimal system on RPi 1B Rev2 with Linux kernel 6.6", "url": "https://www.badprog.com/gnu-linux-raspberry-pi-buildroot-2024-02-minimal-system-on-rpi-1b-rev2-with-linux-kernel-6-6/", "published_at": "2026-06-18T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf38df5573a", "title": "Electronics - FreeRTOS - Scheduler, task and queue on STM32F3Discovery", "url": "https://www.badprog.com/electronics-freertos-scheduler-task-and-queue-on-stm32f3discovery/", "published_at": "2026-06-10T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf38e1d1f6d", "title": "Electronics - FreeRTOS - Semaphore and mutex on STM32F3Discovery with I2C and UART", "url": "https://www.badprog.com/electronics-freertos-semaphore-and-mutex-on-stm32f3discovery-with-i2c-and-uart/", "published_at": "2026-06-10T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf38ee4fc3a", "title": "Electronics - FreeRTOS - SPI, I2C, UART with stack watermark and IWDG watchdog on STM32F3Discovery", "url": "https://www.badprog.com/electronics-freertos-spi-i2c-uart-with-stack-watermark-and-iwdg-watchdog-on-stm32f3discovery/", "published_at": "2026-06-10T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf38f635e17", "title": "Electronics - FreeRTOS - Timer, task notification and event group on STM32F3Discovery with I2C and UART", "url": "https://www.badprog.com/electronics-freertos-timer-task-notification-and-event-group-on-stm32f3discovery-with-i2c-and-uart/", "published_at": "2026-06-10T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf38fb33a78", "title": "Electronics - STM32 - I2C communication between STM32F3Discovery and LSM303DLHC accelerometer", "url": "https://www.badprog.com/electronics-stm32-i2c-communication-between-stm32f3discovery-and-lsm303dlhc-accelerometer/", "published_at": "2026-06-09T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf3905fd5b4", "title": "Electronics - STM32 - Reading gyroscope data with SPI on STM32F3Discovery", "url": "https://www.badprog.com/electronics-stm32-reading-gyroscope-data-with-spi-on-stm32f3discovery/", "published_at": "2026-06-05T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf390894930", "title": "Electronics - STM32 - UART printf debugging with FTDI on STM32F3Discovery", "url": "https://www.badprog.com/electronics-stm32-uart-printf-debugging-with-ftdi-on-stm32f3discovery/", "published_at": "2026-06-04T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf3909218f4", "title": "Electronics - STM32 - STM32F3Discovery LED ring rotation with TIM2 and NVIC", "url": "https://www.badprog.com/electronics-stm32-stm32f3discovery-led-ring-rotation-with-tim2-and-nvic/", "published_at": "2026-06-03T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf3917221e9", "title": "Electronics - STM32 - User button as EXTI with the STM32F3Discovery board", "url": "https://www.badprog.com/electronics-stm32-user-button-as-exti-with-the-stm32f3discovery-board/", "published_at": "2026-06-03T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf391c17010", "title": "Electronics - STM32 - Blinking all F3Discovery LEDs at the same time", "url": "https://www.badprog.com/electronics-stm32-blinking-all-f3discovery-leds-at-the-same-time/", "published_at": "2026-06-02T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf39274bc0a", "title": "ROS2 - Humble - Action in action with Python", "url": "https://www.badprog.com/ros2-humble-action-in-action-with-python/", "published_at": "2026-05-28T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf3931d5700", "title": "ROS2 - Humble - Basics with Node, Topic and Service in Python", "url": "https://www.badprog.com/ros2-humble-basics-with-node-topic-and-service-in-python/", "published_at": "2026-04-19T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf39369b381", "title": "ROS2 - Humble - Starter kit", "url": "https://www.badprog.com/ros2-humble-starter-kit/", "published_at": "2026-04-13T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf393eec784", "title": "ROS2 - micro-ROS - Publisher, subscriber, node, topic with STM32 and Python", "url": "https://www.badprog.com/ros2-micro-ros-publisher-subscriber-node-topic-with-stm32-and-python/", "published_at": "2026-04-01T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf394645689", "title": "ROS2 - micro-ROS - Using STM32 USB serial port to communicate with a Linux host via WSL 2", "url": "https://www.badprog.com/ros2-micro-ros-using-stm32-usb-serial-port-to-communicate-with-a-linux-host-via-wsl-2/", "published_at": "2026-03-18T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf394ca95ed", "title": "Electronics - STM32 - Setting up PlatformIO in ROS2 DevContainers", "url": "https://www.badprog.com/electronics-stm32-setting-up-platformio-in-ros2-devcontainers/", "published_at": "2026-03-09T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf3955a73df", "title": "Rust - Crate - Grcov demo", "url": "https://www.badprog.com/rust-crate-grcov-demo/", "published_at": "2025-11-23T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf3964b9d00", "title": "Rust - Python binding - Setting up PyO3 crate with Maturin", "url": "https://www.badprog.com/rust-python-binding-setting-up-pyo3-crate-with-maturin/", "published_at": "2025-11-02T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf3966229cd", "title": "Rust - Exploration - Adding memory and performance mode to the Vec struct", "url": "https://www.badprog.com/rust-exploration-adding-memory-and-performance-mode-to-the-vec-struct/", "published_at": "2025-09-14T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf397383fed", "title": "PostgreSQL - Setting up - Linux Ubuntu", "url": "https://www.badprog.com/postgresql-setting-up-linux-ubuntu/", "published_at": "2023-01-07T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf397992a13", "title": "C++ - NVIDIA CUDA - Using the compute_xy and sm_xy compile options to generate an executable", "url": "https://www.badprog.com/c-nvidia-cuda-using-the-compute-xy-and-sm-xy-compile-options-to-generate-an-executable/", "published_at": "2022-06-22T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf397bb8787", "title": "C++ - Qt Framework - Mixing native OpenGL functions with Qt ones", "url": "https://www.badprog.com/c-qt-framework-mixing-native-opengl-functions-with-qt-ones/", "published_at": "2022-05-20T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf397c6514a", "title": "C++ - Qt Framework - Using QOpenGLWidget to display a shape with lighting and normal vectors", "url": "https://www.badprog.com/c-qt-framework-using-qopenglwidget-to-display-a-shape-with-lighting-and-normal-vectors/", "published_at": "2021-10-28T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf3981215f9", "title": "C++ - OpenCV - Hello world", "url": "https://www.badprog.com/c-opencv-hello-world/", "published_at": "2021-10-12T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf398a5d30f", "title": "C++ - OpenCV - Setting up with Visual Studio", "url": "https://www.badprog.com/c-opencv-setting-up-with-visual-studio/", "published_at": "2021-10-10T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf398dc2be4", "title": "C++ - Qt Framework - Using QOpenGLWidget to display a window for moving shapes with keyboard and mouse", "url": "https://www.badprog.com/c-qt-framework-using-qopenglwidget-to-display-a-window-for-moving-shapes-with-keyboard-and-mouse/", "published_at": "2021-04-06T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf3993e52dd", "title": "C++ - Qt Framework - Using OpenGL texture with index array", "url": "https://www.badprog.com/c-qt-framework-using-opengl-texture-with-index-array/", "published_at": "2021-01-21T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf399d56c8d", "title": "C++ - Qt Framework - Using 1 OpenGL VAO and 2 VBOs with only 1 array for both position and color of each vertex", "url": "https://www.badprog.com/c-qt-framework-using-1-opengl-vao-and-2-vbos-with-only-1-array-for-both-position-and-color-of-each/", "published_at": "2021-01-13T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf399e259a4", "title": "C++ - Qt Framework - Using OpenGL VAO and VBO to handle 2 different objects on the scene", "url": "https://www.badprog.com/c-qt-framework-using-opengl-vao-and-vbo-to-handle-2-different-objects-on-the-scene/", "published_at": "2021-01-01T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf39a430a64", "title": "Android - API - Creating a Spinner with colors as choices", "url": "https://www.badprog.com/android-api-creating-a-spinner-with-colors-as-choices/", "published_at": "2020-03-22T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf39a7c330e", "title": "Python 3 - PySide2 - Setting up and using Qt Designer", "url": "https://www.badprog.com/python-3-pyside2-setting-up-and-using-qt-designer/", "published_at": "2019-11-27T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf39a8b759b", "title": "C++ - Boost - Converting std::vector to Boost.Python Numpy ndarray", "url": "https://www.badprog.com/c-boost-converting-stdvector-to-boost-python-numpy-ndarray/", "published_at": "2019-11-25T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf39aa6edc2", "title": "C++ - Boost - Using Boost.Python Numpy from_data()", "url": "https://www.badprog.com/c-boost-using-boost-python-numpy-from-data/", "published_at": "2019-11-24T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf39b7c6977", "title": "C++ - Boost - Building the Boost.Python NumPy extension as a library", "url": "https://www.badprog.com/c-boost-building-the-boost-python-numpy-extension-as-a-library/", "published_at": "2019-11-19T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf39bec8598", "title": "C++ - Boost - Using Boost.Python library on Windows to create a DLL", "url": "https://www.badprog.com/c-boost-using-boost-python-library-on-windows-to-create-a-dll/", "published_at": "2019-11-13T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf39c972576", "title": "C++ - Boost - Setting up on Windows 10", "url": "https://www.badprog.com/c-boost-setting-up-on-windows-10/", "published_at": "2019-11-10T00:00:00+00:00" }, { "id": "01a08735-2aa8-736e-a679-8bf39c9d1901", "title": "Python 3 - Installing - On Windows 10", "url": "https://www.badprog.com/python-3-installing-on-windows-10/", "published_at": "2019-11-10T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3e8bb4d65", "title": "C++ - Qt Framework - Using QStyledItemDelegate for displaying a QCheckBox in a QTableView", "url": "https://www.badprog.com/c-qt-framework-using-qstyleditemdelegate-for-displaying-a-qcheckbox-in-a-qtableview/", "published_at": "2019-03-15T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3e95eac86", "title": "C++ - Windows - Creating a dynamic-link library (DLL)", "url": "https://www.badprog.com/c-windows-creating-a-dynamic-link-library-dll/", "published_at": "2019-03-14T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3e9cc66c2", "title": "C++ - Qt Framework - Using QAbstractItemModel with QTableView and QListView", "url": "https://www.badprog.com/c-qt-framework-using-qabstractitemmodel-with-qtableview-and-qlistview/", "published_at": "2019-03-11T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3ea7b4c74", "title": "Python 3 - Generating get and set for C++", "url": "https://www.badprog.com/python-3-generating-get-and-set-for-c/", "published_at": "2019-02-09T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3ea8a6a51", "title": "C++ - Qt Framework - Using QDataStream", "url": "https://www.badprog.com/c-qt-framework-using-qdatastream/", "published_at": "2019-02-04T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3eb18bb12", "title": "UNIX & GNU/Linux - SSH - Communication between client and server", "url": "https://www.badprog.com/unix-gnu-linux-ssh-communication-between-client-and-server/", "published_at": "2019-01-17T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3eb26f794", "title": "C++ - Visual Studio IDE - Sharing project property sheets on many projects", "url": "https://www.badprog.com/c-visual-studio-ide-sharing-project-property-sheets-on-many-projects/", "published_at": "2019-01-09T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3eb3585fc", "title": "C++ - Design pattern - Command", "url": "https://www.badprog.com/c-design-pattern-command/", "published_at": "2018-08-14T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3ebcef569", "title": "C++ - Design pattern - Memento", "url": "https://www.badprog.com/c-design-pattern-memento/", "published_at": "2018-06-06T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3ec4aaff9", "title": "C++ - Design pattern - Strategy", "url": "https://www.badprog.com/c-design-pattern-strategy/", "published_at": "2018-05-13T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3ec97969d", "title": "C++ - Design pattern - Proxy", "url": "https://www.badprog.com/c-design-pattern-proxy/", "published_at": "2018-05-10T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3ec98b4c1", "title": "C++ - Design pattern - Mediator", "url": "https://www.badprog.com/c-design-pattern-mediator/", "published_at": "2018-05-08T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3eced6764", "title": "C++ - Standard library - move", "url": "https://www.badprog.com/c-standard-library-move/", "published_at": "2018-04-29T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3ed591d36", "title": "C++ - Design pattern - Decorator", "url": "https://www.badprog.com/c-design-pattern-decorator/", "published_at": "2018-04-11T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3ee33c22a", "title": "C++ - Design pattern - Prototype", "url": "https://www.badprog.com/c-design-pattern-prototype/", "published_at": "2018-04-05T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3eedad520", "title": "C++ - Design pattern - Factory method", "url": "https://www.badprog.com/c-design-pattern-factory-method/", "published_at": "2018-03-04T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3ef188727", "title": "C++ - Design pattern - Singleton", "url": "https://www.badprog.com/c-design-pattern-singleton/", "published_at": "2018-02-14T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3ef206460", "title": "C++ - Design pattern - Observer", "url": "https://www.badprog.com/c-design-pattern-observer/", "published_at": "2018-01-31T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3effdc75e", "title": "Android - API - Creating a GridView", "url": "https://www.badprog.com/android-api-creating-a-gridview/", "published_at": "2017-12-17T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3f0309220", "title": "Android - API - Creating a ListView", "url": "https://www.badprog.com/android-api-creating-a-listview/", "published_at": "2017-12-16T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3f082f9dc", "title": "C++ - CMake - Setup with Cygwin", "url": "https://www.badprog.com/c-cmake-setup-with-cygwin/", "published_at": "2017-08-18T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3f1782eaa", "title": "C++ - Google Test - Set up projects to use the gtest library", "url": "https://www.badprog.com/c-google-test-set-up-projects-to-use-the-gtest-library/", "published_at": "2017-08-10T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3f212796d", "title": "C++ - Google Test - Generating the gtest.lib from gtest.sln with Visual Studio", "url": "https://www.badprog.com/c-google-test-generating-the-gtest-lib-from-gtest-sln-with-visual-studio/", "published_at": "2017-08-07T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3f244c758", "title": "C++ - Google Test - Using a Makefile to generate tests", "url": "https://www.badprog.com/c-google-test-using-a-makefile-to-generate-tests/", "published_at": "2017-08-06T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3f27b1719", "title": "C++ - Google Test - Setup Visual Studio by hand", "url": "https://www.badprog.com/c-google-test-setup-visual-studio-by-hand/", "published_at": "2017-08-03T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3f29b6820", "title": "C++ - Qt Framework - Using Jenkins to generate an .EXE file", "url": "https://www.badprog.com/c-qt-framework-using-jenkins-to-generate-an-exe-file/", "published_at": "2017-07-10T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3f383f2af", "title": "UNIX & GNU/Linux - SSH - Generating the public and private keys with a CLI", "url": "https://www.badprog.com/unix-gnu-linux-ssh-generating-the-public-and-private-keys-with-a-cli/", "published_at": "2017-06-29T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3f3c0c8c0", "title": "C++ - Qt Framework - Moving a shape with arrow keys", "url": "https://www.badprog.com/c-qt-framework-moving-a-shape-with-arrow-keys/", "published_at": "2017-06-14T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3f45d4514", "title": "UNIX & GNU/Linux - Kernel - Hello world Linux kernel compilation", "url": "https://www.badprog.com/unix-gnu-linux-kernel-hello-world-linux-kernel-compilation/", "published_at": "2016-12-12T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3f54dd291", "title": "UNIX & GNU/Linux - Gentoo - Basis for setting it up", "url": "https://www.badprog.com/unix-gnu-linux-gentoo-basis-for-setting-it-up/", "published_at": "2016-12-11T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3f5c35081", "title": "UNIX & GNU/Linux - bash - Setting a profile with the Git prompt", "url": "https://www.badprog.com/unix-gnu-linux-bash-setting-a-profile-with-the-git-prompt/", "published_at": "2016-11-06T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3f609b9f7", "title": "UNIX & GNU/Linux - Raspberry Pi - Set up for a connection with a desktop PC", "url": "https://www.badprog.com/unix-gnu-linux-raspberry-pi-set-up-for-a-connection-with-a-desktop-pc/", "published_at": "2016-10-16T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3f6c2fbd7", "title": "Android - API - Classic methods during a life cycle with one activity", "url": "https://www.badprog.com/android-api-classic-methods-during-a-life-cycle-with-one-activity/", "published_at": "2016-08-21T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3f78493ee", "title": "Android - API - Life cycle of 2 activities with the Intent class", "url": "https://www.badprog.com/android-api-life-cycle-of-2-activities-with-the-intent-class/", "published_at": "2016-08-21T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3f81040e0", "title": "Android - API - Getting the current method name with StackTraceElement", "url": "https://www.badprog.com/android-api-getting-the-current-method-name-with-stacktraceelement/", "published_at": "2016-08-20T00:00:00+00:00" }, { "id": "01a08735-2aa9-71a3-8118-2ff3f8688685", "title": "Android - Tips'n Tricks - Hiding/Showing the Notification bar", "url": "https://www.badprog.com/android-tips-n-tricks-hiding-showing-the-notification-bar/", "published_at": "2016-08-16T00:00:00+00:00" }, { "id": "01a08735-2aaa-7153-9ede-e9bd1829e881", "title": "Electronics - STM32 - GPIO overview with the STM32F3-Discovery board", "url": "https://www.badprog.com/electronics-stm32-gpio-overview-with-the-stm32f3-discovery-board/", "published_at": "2016-04-11T00:00:00+00:00" }, { "id": "01a08735-2aaa-7153-9ede-e9bd189eaea6", "title": "Electronics - STM32 - Using the push button to switch on the LED6 on the STM32F3-Discovery board", "url": "https://www.badprog.com/electronics-stm32-using-the-push-button-to-switch-on-the-led6-on-the-stm32f3-discovery-board/", "published_at": "2016-03-24T00:00:00+00:00" }, { "id": "01a08735-2aaa-7153-9ede-e9bd19188540", "title": "Electronics - Atollic - Code completion and content assist", "url": "https://www.badprog.com/electronics-atollic-code-completion-and-content-assist/", "published_at": "2016-03-22T00:00:00+00:00" }, { "id": "01a08735-2aaa-7153-9ede-e9bd1956a6f5", "title": "C# - Visual Studio - Adding a custom ICO file to an application", "url": "https://www.badprog.com/c-visual-studio-adding-a-custom-ico-file-to-an-application/", "published_at": "2016-03-16T00:00:00+00:00" }, { "id": "01a08735-2aaa-7153-9ede-e9bd1a3a4bce", "title": "Electronics - MSP430 - Using timer and interruption to generate a delay of 1 second", "url": "https://www.badprog.com/electronics-msp430-using-timer-and-interruption-to-generate-a-delay-of-1-second/", "published_at": "2016-01-04T00:00:00+00:00" }, { "id": "01a08735-2aaa-7153-9ede-e9bd1a5b30c6", "title": "C++ - OpenGL - Using the OR and LEFT SHIFT operators to retrieve the display mode with strings", "url": "https://www.badprog.com/c-opengl-using-the-or-and-left-shift-operators-to-retrieve-the-display-mode-with-strings/", "published_at": "2015-08-30T00:00:00+00:00" }, { "id": "01a08735-2aaa-7153-9ede-e9bd1b348e37", "title": "C++ - OpenGL - Checking the FreeGLUT, GLEW and OpenGL version", "url": "https://www.badprog.com/c-opengl-checking-the-freeglut-glew-and-opengl-version/", "published_at": "2015-08-10T00:00:00+00:00" }, { "id": "01a08735-2aaa-7153-9ede-e9bd1be8c361", "title": "C++ - OpenGL - Adding an icon to the executable with Visual Studio", "url": "https://www.badprog.com/c-opengl-adding-an-icon-to-the-executable-with-visual-studio/", "published_at": "2015-08-02T00:00:00+00:00" }, { "id": "01a08735-2aaa-7153-9ede-e9bd1caef449", "title": "C++ - OpenGL - Setting up Visual Studio", "url": "https://www.badprog.com/c-opengl-setting-up-visual-studio/", "published_at": "2015-07-26T00:00:00+00:00" }, { "id": "01a08735-2aaa-7153-9ede-e9bd1d241e27", "title": "Android - Android Studio - Generating an unsigned release .apk", "url": "https://www.badprog.com/android-android-studio-generating-an-unsigned-release-apk/", "published_at": "2015-06-15T00:00:00+00:00" }, { "id": "01a08735-2aaa-7153-9ede-e9bd1d8f3abd", "title": "C++ - Algorithm - Using min(), max(), minmax() functions", "url": "https://www.badprog.com/c-algorithm-using-min-max-minmax-functions/", "published_at": "2015-05-31T00:00:00+00:00" }, { "id": "01a08735-2aaa-7153-9ede-e9bd1e648acb", "title": "Electronics - STM32 - Setting up the Nucleo board with IAR", "url": "https://www.badprog.com/electronics-stm32-setting-up-the-nucleo-board-with-iar/", "published_at": "2014-11-15T00:00:00+00:00" }, { "id": "01a08735-2aaa-7153-9ede-e9bd1f3f2fdf", "title": "Electronics - Verilog - Turning off 7-segment displays", "url": "https://www.badprog.com/electronics-verilog-turning-off-7-segment-displays/", "published_at": "2014-04-22T00:00:00+00:00" }, { "id": "01a08735-2aaa-7153-9ede-e9bd1fa2e69c", "title": "Electronics - Verilog - Blinking a LED with GPIOs", "url": "https://www.badprog.com/electronics-verilog-blinking-a-led-with-gpios/", "published_at": "2014-04-19T00:00:00+00:00" }, { "id": "01a08735-2aaa-7153-9ede-e9bd209b97d8", "title": "Electronics - Quartus II - Creating your first SoPC with Qsys and Nios II software", "url": "https://www.badprog.com/electronics-quartus-ii-creating-your-first-sopc-with-qsys-and-nios-ii-software/", "published_at": "2014-04-06T00:00:00+00:00" }, { "id": "01a08735-2aab-719b-bbb3-fc448b120b73", "title": "Electronics - Verilog - Instantiating a module from another module", "url": "https://www.badprog.com/electronics-verilog-instantiating-a-module-from-another-module/", "published_at": "2014-03-29T00:00:00+00:00" }, { "id": "01a08735-2aab-719b-bbb3-fc448b1a1468", "title": "Electronics - Verilog - Structural description", "url": "https://www.badprog.com/electronics-verilog-structural-description/", "published_at": "2014-03-19T00:00:00+00:00" }, { "id": "01a08735-2aab-719b-bbb3-fc448bd9586d", "title": "Electronics - Quartus II - Using command-line interface (CLI)", "url": "https://www.badprog.com/electronics-quartus-ii-using-command-line-interface-cli/", "published_at": "2014-03-04T00:00:00+00:00" }, { "id": "01a08735-2aab-719b-bbb3-fc448c7bad55", "title": "Electronics - Quartus II - Setting up command-line interface (CLI)", "url": "https://www.badprog.com/electronics-quartus-ii-setting-up-command-line-interface-cli/", "published_at": "2014-03-02T00:00:00+00:00" }, { "id": "01a08735-2aab-719b-bbb3-fc448cf09431", "title": "Electronics - Quartus II - Using ModelSim-Altera Starter Edition", "url": "https://www.badprog.com/electronics-quartus-ii-using-modelsim-altera-starter-edition/", "published_at": "2014-02-27T00:00:00+00:00" }, { "id": "01a08735-2aab-719b-bbb3-fc448cf4de53", "title": "Electronics - Quartus II - Introduction to ModelSim-Altera Starter Edition", "url": "https://www.badprog.com/electronics-quartus-ii-introduction-to-modelsim-altera-starter-edition/", "published_at": "2014-02-23T00:00:00+00:00" }, { "id": "01a08735-2aab-719b-bbb3-fc448d4aaf59", "title": "Electronics - Quartus II - Installing ModelSim-Altera Starter Edition", "url": "https://www.badprog.com/electronics-quartus-ii-installing-modelsim-altera-starter-edition/", "published_at": "2014-02-15T00:00:00+00:00" }, { "id": "01a08735-2aab-719b-bbb3-fc448dc615ac", "title": "Electronics - Verilog - Blinking a LED", "url": "https://www.badprog.com/electronics-verilog-blinking-a-led/", "published_at": "2014-02-04T00:00:00+00:00" } ] posts Claim your blog
Back to badprog.com
Blog · corpus.blog/blogs/badprog.com/posts

badprog.com

badprog.com

2026

2025

2023

2022

2021

2020

2019

2018

2017

2016

2015

2014