41554 blogs · [ { "id": "01a08752-8b47-70e7-910f-ed3bc29babb6", "title": "Notes on restoring my iPod Classic", "url": "https://blog.r0b.io/post/notes-on-restoring-my-ipod/", "published_at": "2025-11-19T19:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bc30048eb", "title": "Using Explicit Resource Management with TypeScript and Postgres", "url": "https://blog.r0b.io/post/using-explicit-resource-management-with-typescript-and-postgres/", "published_at": "2025-01-29T12:30:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bc32b32dc", "title": "Async iteration for JavaScript EventTargets using ReadableStreams", "url": "https://blog.r0b.io/post/javascript-async-iteration-with-readable-streams-from-events/", "published_at": "2024-06-28T17:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bc41d1934", "title": "Learning a bit of Für Elise", "url": "https://blog.r0b.io/post/learning-fur-elise/", "published_at": "2024-06-09T17:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bc452ca21", "title": "Get to da Terminal", "url": "https://blog.r0b.io/post/get-to-da-terminal/", "published_at": "2024-02-23T10:50:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bc53a6548", "title": "Isomorphic JavaScript, Web Standards and Documentation Driven Design", "url": "https://blog.r0b.io/post/isomorphic-javascript-web-standards-and-documentation-driven-design/", "published_at": "2024-01-08T22:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bc5c2b7b8", "title": "Eleventy WebC in a nutshell", "url": "https://blog.r0b.io/post/eleventy-webc-in-a-nutshell/", "published_at": "2023-12-02T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bc667c792", "title": "Creating a HTTP proxy with Deno", "url": "https://blog.r0b.io/post/creating-a-proxy-with-deno/", "published_at": "2023-08-12T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bc6b03dca", "title": "Host an ics calendar feed with Eleventy", "url": "https://blog.r0b.io/post/host-an-ics-calendar-feed-with-eleventy/", "published_at": "2023-05-21T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bc75d3edb", "title": "Embed JSDoc comments in an Eleventy website", "url": "https://blog.r0b.io/post/embed-jsdoc-comments-in-an-eleventy-website-with-ts-morph/", "published_at": "2023-05-03T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bc855ffbd", "title": "Yoath released", "url": "https://blog.r0b.io/post/yoath-released/", "published_at": "2023-03-08T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bc8c04618", "title": "Using URLPattern to add \"edit on GitHub\" support to my blog", "url": "https://blog.r0b.io/post/using-urlpattern-to-add-edit-on-github-support-to-my-blog/", "published_at": "2023-02-18T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bc9bc1e19", "title": "Trying to make a vanilla web app", "url": "https://blog.r0b.io/post/trying-to-make-a-vanilla-web-app/", "published_at": "2023-01-28T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bcabb3e33", "title": "Creating drag interactions with setPointerCapture in JavaScript", "url": "https://blog.r0b.io/post/creating-drag-interactions-with-set-pointer-capture-in-java-script/", "published_at": "2023-01-07T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bcac61dbb", "title": "Deploying ESP32 with SPIFFS using github actions", "url": "https://blog.r0b.io/post/deploying-esp32-with-spiffs-using-github-actions/", "published_at": "2022-11-25T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bcb42843f", "title": "ESM Node.js TypeScript with subpath exports", "url": "https://blog.r0b.io/post/esm-nodejs-typescript-with-subpath-exports/", "published_at": "2022-11-05T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bcbf7945c", "title": "Getting started with kube-prometheus-stack", "url": "https://blog.r0b.io/post/getting-started-with-kube-prometheus-stack/", "published_at": "2022-02-02T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bccee144d", "title": "Creating custom JavaScript errors", "url": "https://blog.r0b.io/post/creating-custom-javascript-errors/", "published_at": "2021-09-12T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bcdba139f", "title": "Creating a Nova Extension with TypeScript", "url": "https://blog.r0b.io/post/creating-a-nova-extension-with-typescript/", "published_at": "2021-07-25T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bcde9a47d", "title": "Bundle JavaScript with Eleventy and esbuild", "url": "https://blog.r0b.io/post/bundle-javascript-with-eleventy-and-esbuild/", "published_at": "2021-06-27T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bce08d891", "title": "Compile Sass with eleventy", "url": "https://blog.r0b.io/post/compile-sass-with-eleventy/", "published_at": "2021-05-25T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bce5999cc", "title": "Quick Array to Map Conversion in JavaScript", "url": "https://blog.r0b.io/post/quick-concise-array-to-map-conversion-in-javascript/", "published_at": "2021-02-28T19:50:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bcee5f483", "title": "Running Node.Js as a systemd service", "url": "https://blog.r0b.io/post/running-node-js-as-a-systemd-service/", "published_at": "2020-11-16T09:58:50+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bcf7981e6", "title": "My first generator function", "url": "https://blog.r0b.io/post/my-first-generator-function/", "published_at": "2020-07-25T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bcf86cf04", "title": "Automating developer operations for Node.js", "url": "https://blog.r0b.io/post/automating-developer-operations-for-nodejs/", "published_at": "2020-04-10T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bd0280a33", "title": "Tales from the bashrc: d1", "url": "https://blog.r0b.io/post/tales-from-the-bashrc-d1/", "published_at": "2020-03-28T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bd113aad2", "title": "Useful Raspberry Pi WiFi commands", "url": "https://blog.r0b.io/post/useful-rpi-wifi-commands/", "published_at": "2020-03-21T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bd1d7c76a", "title": "Spoofing a Raspberry Pi's mac address", "url": "https://blog.r0b.io/post/spoofing-an-rpi-mac-address/", "published_at": "2020-02-22T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bd2d07461", "title": "Tales from the bashrc: bashrc", "url": "https://blog.r0b.io/post/tales-from-the-bashrc-bashrc/", "published_at": "2020-02-13T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bd2db699b", "title": "Connecting a Raspberry pi to 802.1x WiFi", "url": "https://blog.r0b.io/post/connecting-an-rpi-to-802.1x/", "published_at": "2020-02-03T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bd3020c78", "title": "Tales from the bashrc: npr", "url": "https://blog.r0b.io/post/tales-from-the-bashrc-npr/", "published_at": "2020-01-27T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bd3b33ff2", "title": "A minimal kiosk mode for a Raspberry Pi", "url": "https://blog.r0b.io/post/minimal-rpi-kiosk/", "published_at": "2020-01-20T00:00:00+00:00" }, { "id": "01a08752-8b47-70e7-910f-ed3bd3cc4cdb", "title": "Using jsx WITHOUT React", "url": "https://blog.r0b.io/post/using-jsx-without-react/", "published_at": "2020-01-12T00:00:00+00:00" } ] posts Claim your blog
Back to blog.r0b.io
Blog · corpus.blog/blogs/blog.r0b.io/posts

blog.r0b.io

blog.r0b.io

2025

2024

2023

2022

2021

2020