41554 blogs · [ { "id": "01a087a5-ec8a-734b-b25a-9b1b67dd2f67", "title": "Farewell, wordpress!", "url": "https://mike42.me/blog/2025-12-farewell-wordpress", "published_at": "2025-12-29T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fbc63dd86", "title": "About", "url": "https://mike42.me/blog/about", "published_at": "2025-08-31T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fbd3265a4", "title": "Switching between VFIO-enabled virtual machines", "url": "https://mike42.me/blog/2024-04-switching-between-vfio-enabled-virtual-machines", "published_at": "2024-04-25T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fbde763e1", "title": "Going all-in on GPU passthrough for software development", "url": "https://mike42.me/blog/2023-12-going-all-in-on-gpu-passthrough-for-software-development", "published_at": "2023-12-11T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fbebf1d83", "title": "Building a 1U quiet NAS", "url": "https://mike42.me/blog/2023-10-building-a-1u-quiet-nas", "published_at": "2023-10-22T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fbf320591", "title": "Controlling computer fans with a microcontroller", "url": "https://mike42.me/blog/2023-09-controlling-computer-fans-with-a-microcontroller", "published_at": "2023-09-21T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fbff84163", "title": "Converting my 65C816 computer project to 3.3 V", "url": "https://mike42.me/blog/2023-01-converting-my-65c816-computer-project-to-3-3-v", "published_at": "2023-01-12T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fc009153a", "title": "Porting the Amiga bouncing ball demo to the NES", "url": "https://mike42.me/blog/2022-11-porting-the-amiga-bouncing-ball-demo-to-the-nes", "published_at": "2022-11-23T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fc1064456", "title": "Let’s make a bootloader – Part 2", "url": "https://mike42.me/blog/2022-09-lets-make-a-bootloader-part-2", "published_at": "2022-09-22T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fc1b963ad", "title": "Let's make a bootloader - Part 1", "url": "https://mike42.me/blog/2022-09-lets-make-a-bootloader-part-1", "published_at": "2022-09-01T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fc1cebb79", "title": "Building a simple power supply module", "url": "https://mike42.me/blog/2022-08-building-a-simple-power-supply-module", "published_at": "2022-08-18T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fc22960f7", "title": "Let's implement power-on self test (POST)", "url": "https://mike42.me/blog/2022-06-lets-implement-power-on-self-test-post", "published_at": "2022-06-16T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fc27910c4", "title": "Building a 65C816 test board", "url": "https://mike42.me/blog/2022-06-building-a-65c816-test-board", "published_at": "2022-06-02T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fc35e3bea", "title": "65C816 computer - second prototype", "url": "https://mike42.me/blog/2022-05-65c816-computer-second-prototype", "published_at": "2022-05-28T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fc43a5549", "title": "Building an emulator for my 65C816 computer", "url": "https://mike42.me/blog/2022-04-building-an-emulator-for-my-65c816-computer", "published_at": "2022-04-07T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fc4beba8d", "title": "Let's implement preemptive multitasking", "url": "https://mike42.me/blog/2022-03-lets-implement-preemptive-multitasking", "published_at": "2022-03-10T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fc52bcb8c", "title": "Interfacing an NXP UART to an 8-bit computer", "url": "https://mike42.me/blog/2022-02-interfacing-an-nxp-uart-to-an-8-bit-computer", "published_at": "2022-02-24T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fc5ca7b0e", "title": "65C816 computer - initial prototype", "url": "https://mike42.me/blog/2022-02-65c816-computer-initial-prototype", "published_at": "2022-02-10T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fc6a25d87", "title": "A first look at the 65C816 processor", "url": "https://mike42.me/blog/2022-01-a-first-look-at-the-65c816-processor", "published_at": "2022-01-27T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fc7127cc8", "title": "Rendering my 6502 computer project in Blender", "url": "https://mike42.me/blog/2022-01-rendering-my-6502-computer-project-in-blender", "published_at": "2022-01-13T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fc7d4c082", "title": "Assembling my 6502 computer", "url": "https://mike42.me/blog/2021-12-assembling-my-6502-computer", "published_at": "2021-12-30T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fc7f0b0b4", "title": "Adding an SD card reader to my 6502 computer", "url": "https://mike42.me/blog/2021-12-adding-an-sd-card-reader-to-my-6502-computer", "published_at": "2021-12-16T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fc8be5b75", "title": "Implementing the XMODEM protocol for file transfer", "url": "https://mike42.me/blog/2021-12-implementing-the-xmodem-protocol-for-file-transfer", "published_at": "2021-12-02T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fc90aa39d", "title": "Designing a 3D printed enclosure for my KiCad project in Blender", "url": "https://mike42.me/blog/2021-11-designing-a-3d-printed-enclosure-for-my-kicad-project-in-blender", "published_at": "2021-11-18T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fc9d8ba40", "title": "Building a hardware interrupt controller", "url": "https://mike42.me/blog/2021-11-building-a-hardware-interrupt-controller", "published_at": "2021-11-04T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fcab93c64", "title": "Programming PLD's with open source software", "url": "https://mike42.me/blog/2021-10-programming-plds-with-open-source-software", "published_at": "2021-10-21T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fcb55152f", "title": "Re-creating the world's worst sound card", "url": "https://mike42.me/blog/2021-10-re-creating-the-worlds-worst-sound-card", "published_at": "2021-10-07T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fcbc4e124", "title": "6502 computer - from breadboard to PCB", "url": "https://mike42.me/blog/2021-09-6502-computer-from-breadboard-to-pcb", "published_at": "2021-09-23T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fcc8d3291", "title": "Porting BASIC to my 6502 computer", "url": "https://mike42.me/blog/2021-09-porting-basic-to-my-6502-computer", "published_at": "2021-09-09T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fcd5b2387", "title": "Upgrades and improvements to my 6502 computer", "url": "https://mike42.me/blog/2021-08-upgrades-and-improvements-to-my-6502-computer", "published_at": "2021-08-26T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fce2c6270", "title": "A first look at programmable logic", "url": "https://mike42.me/blog/2021-08-a-first-look-at-programmable-logic", "published_at": "2021-08-12T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fceec96c1", "title": "Adding a serial port to my 6502 computer", "url": "https://mike42.me/blog/2021-07-adding-a-serial-port-to-my-6502-computer", "published_at": "2021-07-22T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fcf4d92ef", "title": "Building a 6502 computer", "url": "https://mike42.me/blog/2021-07-building-a-6502-computer", "published_at": "2021-07-08T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fcf73d5ad", "title": "IntelliJ plugin for 6502 assembly language", "url": "https://mike42.me/blog/2021-05-intellij-plugin-for-6502-assembly-language", "published_at": "2021-05-27T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fd028d407", "title": "Building my first NES game: A retrospective", "url": "https://mike42.me/blog/2021-04-building-my-first-nes-game-a-retrospective", "published_at": "2021-04-22T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fd0555262", "title": "Building a tiny Linux gaming PC", "url": "https://mike42.me/blog/2021-01-building-a-tiny-linux-gaming-pc", "published_at": "2021-01-31T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fd08abb63", "title": "How to auto-scale the display in GNOME Boxes", "url": "https://mike42.me/blog/2019-08-how-to-auto-scale-the-display-in-gnome-boxes", "published_at": "2019-08-22T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fd1377975", "title": "How to use the qemu-bridge-helper on Debian 10", "url": "https://mike42.me/blog/2019-08-how-to-use-the-qemu-bridge-helper-on-debian-10", "published_at": "2019-08-08T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fd1c18e3c", "title": "Benchmarking PHP code with PhpBench", "url": "https://mike42.me/blog/2019-07-benchmarking-php-code-with-phpbench", "published_at": "2019-07-04T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fd2495b11", "title": "How to integrate Gitea and Jenkins", "url": "https://mike42.me/blog/2019-05-how-to-integrate-gitea-and-jenkins", "published_at": "2019-05-30T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fd2fedaa7", "title": "Archives", "url": "https://mike42.me/blog/archives", "published_at": "2019-05-28T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fd3382d3b", "title": "Handling I/O errors in PHP", "url": "https://mike42.me/blog/2019-03-handling-io-errors-in-php", "published_at": "2019-03-07T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fd3826db9", "title": "The top 100 Ansible modules", "url": "https://mike42.me/blog/2019-01-the-top-100-ansible-modules", "published_at": "2019-01-30T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fd4666ab1", "title": "Thermal Sans Mono: A new bitmap font for receipt printers", "url": "https://mike42.me/blog/2018-10-thermal-sans-mono-font", "published_at": "2018-11-01T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fd538047d", "title": "Three ways to archive a website", "url": "https://mike42.me/blog/2018-09-three-ways-to-archive-a-website", "published_at": "2018-09-13T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fd57694c3", "title": "Monitoring network throughput with Prometheus", "url": "https://mike42.me/blog/2018-08-monitoring-network-throughput", "published_at": "2018-08-23T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fd5914b3d", "title": "How to export a Maildir email inbox as a CSV file", "url": "https://mike42.me/blog/2018-07-how-to-export-a-maildir-email-inbox-as-a-csv-file", "published_at": "2018-07-12T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fd606d7a6", "title": "How to make HHVM 3.21 identify itself as PHP 7", "url": "https://mike42.me/blog/2018-07-how-to-make-hhvm-3-21-identify-itself-as-php-7", "published_at": "2018-07-05T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fd6d260de", "title": "How to check PHP code style in a continuous integration environment", "url": "https://mike42.me/blog/2018-06-how-to-check-php-code-style-in-a-continuous-integration-environment", "published_at": "2018-06-28T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fd7c5042c", "title": "Make better CLI progress bars with Unicode block characters", "url": "https://mike42.me/blog/2018-06-make-better-cli-progress-bars-with-unicode-block-characters", "published_at": "2018-06-14T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fd7d2290b", "title": "How to create effective PHP project documentation with Read the Docs", "url": "https://mike42.me/blog/2018-06-how-to-create-effective-php-project-documentation-with-read-the-docs", "published_at": "2018-06-07T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fd84766b2", "title": "How to get a notification when your site appears on HackerNews", "url": "https://mike42.me/blog/2018-05-how-to-get-a-notification-when-your-site-appears-on-hackernews", "published_at": "2018-05-31T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fd8a7f1ad", "title": "Quick statistics about documentation hosted on Read the Docs", "url": "https://mike42.me/blog/2018-05-quick-statistics-about-documentation-hosted-on-read-the-docs", "published_at": "2018-05-24T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fd90451fc", "title": "Recovering text from a receipt with escpos-tools", "url": "https://mike42.me/blog/2018-05-recovering-text-from-a-receipt-with-escpos-tools", "published_at": "2018-05-17T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fd9fc561d", "title": "First impressions of the Rust programming language", "url": "https://mike42.me/blog/2018-05-first-impressions-of-rust", "published_at": "2018-05-10T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fda16a15d", "title": "How to print the characters in an ESC/POS printer code page", "url": "https://mike42.me/blog/2018-05-how-to-print-the-characters-in-an-esc-pos-printer-code-page", "published_at": "2018-05-03T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fdae046ec", "title": "Optimization: How I made my PHP code run 100 times faster", "url": "https://mike42.me/blog/2018-06-how-i-made-my-php-code-run-100-times-faster", "published_at": "2018-04-26T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fdbcdb822", "title": "Using a receipt printer with the Amazon Echo", "url": "https://mike42.me/blog/2018-04-using-a-receipt-printer-with-the-amazon-echo", "published_at": "2018-04-19T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fdcbc80f7", "title": "Raster to vector conversion tips", "url": "https://mike42.me/blog/2018-04-raster-to-vector-conversion-tips", "published_at": "2018-04-12T00:00:00+00:00" }, { "id": "01a087a5-ec8b-73b2-84e2-b86fdd362430", "title": "Git Introductory Material - Tips for Users, Admins and Git Champions", "url": "https://mike42.me/blog/2018-03-git-introductory-material", "published_at": "2018-04-05T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c027d44928e", "title": "How to communicate with USB and networked devices from in-browser Javascript", "url": "https://mike42.me/blog/2018-04-how-to-communicate-with-usb-and-networked-devices-from-in-browser-javascript", "published_at": "2018-03-29T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c027dbc06d2", "title": "Automating LXC container creation with Ansible", "url": "https://mike42.me/blog/2018-03-automating-lxc-container-creation-with-ansible", "published_at": "2018-03-22T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c027e881c43", "title": "Using custom fonts to add new glyphs to an Epson printer", "url": "https://mike42.me/blog/2018-03-using-custom-fonts-to-add-new-glyphs-to-an-epson-printer", "published_at": "2018-03-15T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c027f720643", "title": "escpos-php 2.0 released", "url": "https://mike42.me/blog/2018-03-escpos-php-2-0-released", "published_at": "2018-03-13T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c027faef23b", "title": "New Wordpress theme (2018 edition)", "url": "https://mike42.me/blog/2018-03-new-wordpress-theme-2018-edition", "published_at": "2018-03-08T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c027fdcccea", "title": "How to print custom currency symbols on a receipt printer", "url": "https://mike42.me/blog/2018-03-how-to-print-custom-currency-symbols-on-a-receipt-printer", "published_at": "2018-03-01T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c0280a7dff7", "title": "How to use HiDPI displays on Debian 9", "url": "https://mike42.me/blog/2018-02-how-to-use-hidpi-displays-on-debian-9", "published_at": "2018-02-22T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c02815f473c", "title": "How to print Spanish characters on a thermal receipt printer", "url": "https://mike42.me/blog/2018-02-how-to-print-spanish-characters-on-a-thermal-receipt-printer", "published_at": "2018-02-15T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c02816ee307", "title": "How to install PHP Composer as a regular user", "url": "https://mike42.me/blog/2018-02-how-to-install-php-composer-as-a-regular-user", "published_at": "2018-02-08T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c0281fc49a8", "title": "How to boot Debian in 4 seconds", "url": "https://mike42.me/blog/2018-02-how-to-boot-debian-in-4-seconds", "published_at": "2018-02-01T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c0282baea44", "title": "How to use parallel to speed up your work", "url": "https://mike42.me/blog/2018-01-how-to-use-parallel-to-speed-up-your-work", "published_at": "2018-01-25T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c028380b50a", "title": "How to generate star fields", "url": "https://mike42.me/blog/2018-01-howo-to-generate-star-fields", "published_at": "2018-01-18T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c028451bb9c", "title": "On running deployments via GitHub", "url": "https://mike42.me/blog/2018-01-on-running-deployments-via-github", "published_at": "2018-01-10T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c028507a106", "title": "How to use a Radeon graphics card on Debian 9", "url": "https://mike42.me/blog/2018-01-how-to-use-a-radeon-graphics-card-on-debian-9", "published_at": "2018-01-04T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c02857cb5f4", "title": "How to assemble a Linux software RAID array on a different computer", "url": "https://mike42.me/blog/2017-12-how-to-assemble-linux-software-raid-on-a-new-computer", "published_at": "2017-12-28T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c0285e48a48", "title": "Crowd-sourced POS printer compatibility site is online", "url": "https://mike42.me/blog/2017-11-crowd-sourced-pos-printer-compatibility-site-is-online", "published_at": "2017-11-26T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c02868871a4", "title": "escpos-php 1.6 released", "url": "https://mike42.me/blog/2017-11-escpos-php-1-6-released", "published_at": "2017-11-05T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c02877807c0", "title": "mdcheckr: Practical testing for Markdown files", "url": "https://mike42.me/blog/2017-06-mdcheckr-practical-testing-for-markdown-files", "published_at": "2017-06-25T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c02877d9600", "title": "How to access a raw network printer as a file on Linux", "url": "https://mike42.me/blog/2017-06-how-to-access-a-raw-network-printer-as-a-file-on-linux", "published_at": "2017-06-12T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c0287c87756", "title": "The 5890 printer does not support barcodes", "url": "https://mike42.me/blog/2017-06-the-5890-printer-does-not-support-barcodes", "published_at": "2017-06-12T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c0288082a2c", "title": "How to add a proper Android Studio launcher on Linux", "url": "https://mike42.me/blog/2017-04-how-to-add-a-proper-android-studio-launcher-on-linux", "published_at": "2017-04-24T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c0288831d27", "title": "libgdx 3D particle effects in HTML", "url": "https://mike42.me/blog/2017-04-libgdx-3d-particle-effects-in-html", "published_at": "2017-04-24T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c02895045c1", "title": "escpos-php 1.5 released", "url": "https://mike42.me/blog/2017-02-escpos-php-1-5-released", "published_at": "2017-02-10T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c0289d302fd", "title": "escpos-php 1.4 released", "url": "https://mike42.me/blog/2016-10-escpos-php-1-4-released", "published_at": "2016-10-24T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c0289d6c48a", "title": "OpenWrt setup on Netgear WNR2200", "url": "https://mike42.me/blog/2016-10-openwrt-on-netgear-wnr2200", "published_at": "2016-10-23T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c028ac736a1", "title": "libvirt: Migrate a VM from qemu:///session to qemu:///system", "url": "https://mike42.me/blog/2016-09-libvirt-migrate-a-vm-from-qemusession-to-qemusystem", "published_at": "2016-09-29T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c028ba9cb82", "title": "How to print PDF417 codes with escpos-php", "url": "https://mike42.me/blog/2016-09-how-to-print-pdf417-codes-with-escpos-php", "published_at": "2016-09-08T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c028c1b1776", "title": "What's in the AEC data feed, and how to use it", "url": "https://mike42.me/blog/2016-06-aec-data-feed", "published_at": "2016-06-30T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c028c44b4e6", "title": "How to set up Docker containers in Travis CI", "url": "https://mike42.me/blog/2016-06-how-to-set-up-docker-containers-in-travis-ci", "published_at": "2016-06-23T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c028d3da9fa", "title": "Print larger or smaller text on a thermal receipt printer", "url": "https://mike42.me/blog/2016-06-print-larger-or-smaller-text-on-a-thermal-receipt-printer", "published_at": "2016-06-16T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c028d842764", "title": "How to compile a C++11 app on Travis CI", "url": "https://mike42.me/blog/2016-06-how-to-compile-a-c11-app-on-travis-ci", "published_at": "2016-06-09T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c028daa5a78", "title": "How to edit emulator flags in Android Studio", "url": "https://mike42.me/blog/2016-05-how-to-edit-emulator-flags-in-android-studio", "published_at": "2016-05-26T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c028e774d5d", "title": "Blog domain migrated", "url": "https://mike42.me/blog/2016-05-domain-move", "published_at": "2016-05-03T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c028f3beaf0", "title": "Quick guide: Running stock Debian on the Raspberry Pi 2", "url": "https://mike42.me/blog/2016-01-rpi2-debian", "published_at": "2016-04-22T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c028f89c788", "title": "How to resize a Windows VM image with virt-resize", "url": "https://mike42.me/blog/2016-03-how-to-resize-a-windows-vm-image-with-virt-resize", "published_at": "2016-03-10T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c0290675ea5", "title": "Convert a PC to a HTPC with Debian and Kodi", "url": "https://mike42.me/blog/2016-02-convert-a-pc-to-a-htpc-with-debian-and-kodi", "published_at": "2016-02-25T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c02915450db", "title": "How to regenerate SSH client keys", "url": "https://mike42.me/blog/2016-01-how-to-regenerate-ssh-client-keys", "published_at": "2016-01-22T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c029200e63e", "title": "Basic Cucumber feature testing", "url": "https://mike42.me/blog/2016-01-basic-cucumber-feature-testing", "published_at": "2016-01-16T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c029271610f", "title": "How to arrange pages for printing and cutting in LaTeX", "url": "https://mike42.me/blog/2016-01-how-to-arrange-pages-for-printing-and-cutting-in-latex", "published_at": "2016-01-08T00:00:00+00:00" }, { "id": "01a087a5-ec8c-7137-a122-1c0292f7dd33", "title": "How to print red/black on an impact receipt printer", "url": "https://mike42.me/blog/2015-12-red-black-impact-receipt-printing", "published_at": "2015-12-27T00:00:00+00:00" } ] posts Claim your blog
Back to mike42.me
Blog · corpus.blog/blogs/mike42.me/posts

mike42.me

mike42.me

2025

2024

2023

2022

2021

2019

2018

2017

2016

2015