41554 blogs · [ { "id": "01a0821c-c1e1-7163-89dc-e35235484a8b", "title": "Test For Bytestring in Elixir", "url": "https://jaketrent.com/post/test_is_bytestring_elixir", "published_at": "2025-01-13T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e35246279ca2", "title": "Import a Jinja Macro & Use in For Loop", "url": "https://jaketrent.com/post/import-jinja-macro-for-loop", "published_at": "2025-01-06T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e352390b10c7", "title": "Clojure Build on Netlify", "url": "https://jaketrent.com/post/clojure-build-netlify", "published_at": "2024-12-30T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e35273ab0760", "title": "Narrow Union on Nested Value", "url": "https://jaketrent.com/post/narrow-union-nested-value", "published_at": "2024-12-26T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e3524271f09b", "title": "Order Tailwind Styles in Layers", "url": "https://jaketrent.com/post/order-tailwind-layers", "published_at": "2024-11-11T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a672afa601", "title": "Error Response Shapes in Ash Graphql", "url": "https://jaketrent.com/post/error-shapes-ash-graphql", "published_at": "2024-11-04T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a65ab08b3e", "title": "Restore Postgres Dump to Ash", "url": "https://jaketrent.com/post/restore-postgres-dump-ash", "published_at": "2024-11-01T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a65d253fae", "title": "What I Learned in Conjure School", "url": "https://jaketrent.com/post/what-learned-conjure-school", "published_at": "2024-10-30T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a6aafd650c", "title": "Tailwind Parent Selector", "url": "https://jaketrent.com/post/tailwind-parent-selector", "published_at": "2024-10-30T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e352bd8b21c7", "title": "Burn an MP3 CD in Linux", "url": "https://jaketrent.com/post/burn-mp3-cd-linux", "published_at": "2024-10-21T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a64d62659c", "title": "Implementing Ash Policies for GraphQL", "url": "https://jaketrent.com/post/ash-policies-graphql", "published_at": "2024-10-01T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e3529e7f21d6", "title": "Count Git Blame Lines on Current Files", "url": "https://jaketrent.com/post/count-blame-lines-current-files", "published_at": "2024-10-01T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a6072eb9e9", "title": "Save Variables in SQL", "url": "https://jaketrent.com/post/save-variables-sql", "published_at": "2024-09-27T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a67b8547a3", "title": "Thank You for the Code", "url": "https://jaketrent.com/post/thank-you-code", "published_at": "2024-09-20T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a631bbe50f", "title": "Export Multiple Stylesheets to postcss-import", "url": "https://jaketrent.com/post/export-multiple-stylesheets-postcss-import", "published_at": "2024-09-18T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a605fdd829", "title": "Publish an NPM Package to JFrog Artifactory", "url": "https://jaketrent.com/post/publish-npm-package-jfrog-artifactory", "published_at": "2024-09-17T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a6a8a976b7", "title": "Transfer Music to a Classic iPod on Linux", "url": "https://jaketrent.com/post/transfer-music-classic-ipod-linux", "published_at": "2024-09-08T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a660c8ada5", "title": "Alternatives to Spread Operator Reduce", "url": "https://jaketrent.com/post/alternatives-spread-operator-reduce", "published_at": "2024-09-05T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a68389e6a5", "title": "Capture Right Click in React", "url": "https://jaketrent.com/post/capture-right-click-react", "published_at": "2024-09-05T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e3529a3f3246", "title": "Sort By Two Fields in JavaScript", "url": "https://jaketrent.com/post/sort-two-fields-js", "published_at": "2024-09-05T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a60b38140e", "title": "Making Changes in a Distributed System", "url": "https://jaketrent.com/post/pull-requests-distributed-system", "published_at": "2024-08-28T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e3521f0c0df2", "title": "Make a Lowercase Enum in Absinthe", "url": "https://jaketrent.com/post/lowercase-enum-absinthe", "published_at": "2024-08-22T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e3523b7dd025", "title": "Writing a Subquery in Ecto", "url": "https://jaketrent.com/post/writing-subquery-ecto", "published_at": "2024-08-15T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e3528b72f114", "title": "Run an Ecto Query in an Ash Manual Action", "url": "https://jaketrent.com/post/run-ecto-query-ash-manual-action", "published_at": "2024-08-15T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e35240e23efa", "title": "Create a Custom Commitlint Pattern", "url": "https://jaketrent.com/post/create-custom-commitlint-pattern", "published_at": "2024-07-08T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a612ca0f4c", "title": "Set up Multiple Jest Configs", "url": "https://jaketrent.com/post/setup-multiple-jest-configs", "published_at": "2024-06-24T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e3522c8964f1", "title": "Load .env File in Jest", "url": "https://jaketrent.com/post/load-dotenv-file-jest", "published_at": "2024-06-24T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a63b216f03", "title": "Dependencies Show Cleanliness", "url": "https://jaketrent.com/post/dependencies-show-cleanliness", "published_at": "2024-06-20T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a65ffac233", "title": "See TODOs in a Branch", "url": "https://jaketrent.com/post/see-todos-from-pr", "published_at": "2024-06-20T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a656fa741f", "title": "Run RabbitMQ Locally", "url": "https://jaketrent.com/post/run-rabbit-mq-locally", "published_at": "2024-06-13T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a6929deeaa", "title": "Remove Parens in Elixir Formatter", "url": "https://jaketrent.com/post/elixir-remove-parens-formatter", "published_at": "2024-06-13T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a676164639", "title": "Query System Specs in Linux", "url": "https://jaketrent.com/post/query-system-specs", "published_at": "2024-05-30T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e352a2a6e668", "title": "Type a Declared Function in TypeScript", "url": "https://jaketrent.com/post/type-declared-functions", "published_at": "2024-05-28T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a6370ce3cf", "title": "Sculpting Software to Create Beauty", "url": "https://jaketrent.com/post/sculpting-software", "published_at": "2024-05-17T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e352101a364c", "title": "Redirect in Middleware in Next.js 14", "url": "https://jaketrent.com/post/redirect-middleware-next-14", "published_at": "2024-05-17T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e352395735b1", "title": "Encode Base64 in Node.js", "url": "https://jaketrent.com/post/encode-base64-nodejs", "published_at": "2024-05-17T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a69d6aa945", "title": "Store JSON Secret in Vault", "url": "https://jaketrent.com/post/store-json-secret-vault", "published_at": "2024-04-26T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e35287cf4f36", "title": "Create a File on Google Drive using Promises", "url": "https://jaketrent.com/post/create-file-google-drive-promise", "published_at": "2024-04-24T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a63e0e4fa2", "title": "Test Localhost on Mobile Device", "url": "https://jaketrent.com/post/test-localhost-mobile-device", "published_at": "2024-04-17T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e35241b9b9c3", "title": "Logging to DataDog from Next.js", "url": "https://jaketrent.com/post/logging-datadog-nextjs", "published_at": "2024-04-11T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e3528debdcee", "title": "Block Websites with /etc/hosts File", "url": "https://jaketrent.com/post/block-websites-etc-hosts", "published_at": "2024-04-11T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e352665b7818", "title": "Format an NTFS Drive in Linux", "url": "https://jaketrent.com/post/format-ntfs-drive-linux", "published_at": "2024-04-10T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e35248e594c8", "title": "Play Playlist with mpv", "url": "https://jaketrent.com/post/play-playlist-mpv", "published_at": "2024-04-06T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a649971eb1", "title": "Generate Validator and Type Def with AJV", "url": "https://jaketrent.com/post/generate-validator-type-ajv", "published_at": "2024-04-05T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e352118163e1", "title": "Strong Type Checks with AJV Additional Properties", "url": "https://jaketrent.com/post/strong-type-check-ajv-additional-properties", "published_at": "2024-04-05T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a674f8bdea", "title": "Error Handling with Result Type", "url": "https://jaketrent.com/post/error-handling-result-type", "published_at": "2024-04-01T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a6858d40c9", "title": "Use Vault for Local Dev Secrets", "url": "https://jaketrent.com/post/use-vault-local-dev-secrets", "published_at": "2024-03-27T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e35265fca7cf", "title": "Dev Silver Bullets Still Don't Exist", "url": "https://jaketrent.com/post/dev-silver-bullets-still-dont-exist", "published_at": "2024-03-27T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a6a10ddbc0", "title": "Trigger Caps Lock From Linux Terminal", "url": "https://jaketrent.com/post/trigger-caps-lock-linux-terminal", "published_at": "2024-03-26T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a62480c093", "title": "Connect to AWS VPN from i3", "url": "https://jaketrent.com/post/connect-aws-vpn-i3", "published_at": "2024-03-15T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a697ce9efc", "title": "It's People Behind The Curtain", "url": "https://jaketrent.com/post/people-behind-curtain", "published_at": "2024-03-15T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e35284856133", "title": "Export Authy Desktop Data", "url": "https://jaketrent.com/post/export-authy-desktop-data", "published_at": "2024-02-15T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e35211aeaf0a", "title": "Test Postgres Connection", "url": "https://jaketrent.com/post/test-postgres-connection", "published_at": "2024-02-09T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e3522856464b", "title": "Avoid Unix Socket Connections with Postgres PGHOST", "url": "https://jaketrent.com/post/avoid-postgres-unix-socket-connections", "published_at": "2024-02-09T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e3522ecee759", "title": "Narrow Input Over Time", "url": "https://jaketrent.com/post/narrow-input-over-time", "published_at": "2024-02-06T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e352549220a3", "title": "Conditionally Change Object in JavaScript", "url": "https://jaketrent.com/post/conditionally-change-object-javascript", "published_at": "2024-02-04T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a67179a930", "title": "Use Vim Keybindings in Alacritty", "url": "https://jaketrent.com/post/vim-key-bindings-alacritty", "published_at": "2024-02-03T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a696346a79", "title": "Abort Fetch API Request", "url": "https://jaketrent.com/post/abort-fetch-api", "published_at": "2024-02-03T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a64144afca", "title": "Diff Files in Neovim", "url": "https://jaketrent.com/post/git-diff-neovim", "published_at": "2024-01-24T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a6526a7f51", "title": "Run a Single Elixir Test", "url": "https://jaketrent.com/post/elixir-run-single-test", "published_at": "2024-01-24T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e35260fae5d4", "title": "Run Elixir Tests in Watch Mode", "url": "https://jaketrent.com/post/elixir-tests-watch-mode", "published_at": "2024-01-24T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e3529c532800", "title": "Cleanup Local Git Branches", "url": "https://jaketrent.com/post/clean-local-git-branches", "published_at": "2024-01-24T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e352b37b281f", "title": "React is a Framework", "url": "https://jaketrent.com/post/react-framework", "published_at": "2024-01-24T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a6399ca3b8", "title": "Format USB Drive as FAT32", "url": "https://jaketrent.com/post/format-usb-drive-fat32", "published_at": "2024-01-20T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a64dd10b0a", "title": "Empty the Trash from Terminal", "url": "https://jaketrent.com/post/empty-trash-terminal", "published_at": "2024-01-20T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e35208040851", "title": "Change Hostname in Linux", "url": "https://jaketrent.com/post/change-hostname-linux", "published_at": "2024-01-20T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a6abee348c", "title": "Catch Error Thrown from setTimeout", "url": "https://jaketrent.com/post/catch-error-thrown-settimeout", "published_at": "2024-01-12T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e352344ae283", "title": "TypeScript Type-safe Filter Boolean", "url": "https://jaketrent.com/post/typescript-type-safe-filter-boolean", "published_at": "2024-01-12T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e35267166cb9", "title": "De-dup Files from the Terminal", "url": "https://jaketrent.com/post/de-dup-files-terminal", "published_at": "2024-01-08T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a680684eca", "title": "Render Markdown in the Terminal", "url": "https://jaketrent.com/post/render-markdown-terminal", "published_at": "2023-12-22T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a612244977", "title": "Cut and Stitch Clips with ffmpeg", "url": "https://jaketrent.com/post/cut-stitch-clips-ffmpeg", "published_at": "2023-12-21T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e352602e30b9", "title": "Unwrap a Promise in TypeScript", "url": "https://jaketrent.com/post/unwrap-promise-typescript", "published_at": "2023-12-21T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a68bbcad8c", "title": "Copilot Experience So Far", "url": "https://jaketrent.com/post/copilot-experience", "published_at": "2023-12-20T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e3526278da2e", "title": "Serialize Undefined Static Props in NextJS", "url": "https://jaketrent.com/post/serialize-static-props-nextjs", "published_at": "2023-12-20T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e3521f5b0515", "title": "Gamify Games", "url": "https://jaketrent.com/post/gamify-games", "published_at": "2023-12-13T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e3520fbdec4a", "title": "Reduce System76 Fan Noise", "url": "https://jaketrent.com/post/reduce-system76-fan-noise", "published_at": "2023-12-11T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a6608f70a9", "title": "Be on Time, Be Professional", "url": "https://jaketrent.com/post/be-on-time-be-professional", "published_at": "2023-12-06T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e352459e1e2d", "title": "Install Erlang on Ubuntu 22.04", "url": "https://jaketrent.com/post/install-erlang-ubuntu-2204", "published_at": "2023-12-06T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a69e212232", "title": "Mark i3 Windows and Navigate Marks", "url": "https://jaketrent.com/post/mark-i3-windows-navigate-marks", "published_at": "2023-12-01T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a677eb5f71", "title": "Center Grid Cells on Page", "url": "https://jaketrent.com/post/center-grid-cells-page", "published_at": "2023-11-29T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e35200ae3a8e", "title": "Type Diacritics in Linux", "url": "https://jaketrent.com/post/type-diacritics-linux", "published_at": "2023-11-11T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a69f609ba2", "title": "Rendering on Client Only in NextJS", "url": "https://jaketrent.com/post/client-only-components-nextjs", "published_at": "2023-11-09T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a6423f09a1", "title": "Add a Script to dmenu", "url": "https://jaketrent.com/post/add-script-dmenu", "published_at": "2023-11-08T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e3520489edc4", "title": "Run AppImage on Pop!_OS", "url": "https://jaketrent.com/post/run-app-image-pop-os", "published_at": "2023-11-08T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a6ba23ad5b", "title": "Computer-specific i3 Config", "url": "https://jaketrent.com/post/computer-specific-i3-config", "published_at": "2023-11-07T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e352b3e6f6ea", "title": "Why Use the function Keyword in JavaScript", "url": "https://jaketrent.com/post/why-function-keyword-javascript", "published_at": "2023-11-06T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e351f4ca31da", "title": "Open Git Log Files from the Terminal", "url": "https://jaketrent.com/post/open-git-log-files-terminal", "published_at": "2023-10-31T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e352860a7911", "title": "Mock process.env in Jest", "url": "https://jaketrent.com/post/mock-process-env-jest", "published_at": "2023-10-31T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a6486bc38a", "title": "Format and Parse Naming Convention", "url": "https://jaketrent.com/post/format-parse-naming-convention", "published_at": "2023-10-25T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e352677f1f6c", "title": "Prefer Local, Specific Code", "url": "https://jaketrent.com/post/prefer-local-specific-code", "published_at": "2023-10-24T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e35291a17f88", "title": "Reused Means Coupled", "url": "https://jaketrent.com/post/reused-means-coupled", "published_at": "2023-10-21T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a635b6ef6c", "title": "Start Apps in i3 with Keyboard Shortcuts", "url": "https://jaketrent.com/post/start-apps-i3-keyboard-shortcut", "published_at": "2023-10-20T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a625a929c2", "title": "Install Font on Linux", "url": "https://jaketrent.com/post/install-font-linux", "published_at": "2023-10-19T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a638eeb828", "title": "Undo Git Commit Amend", "url": "https://jaketrent.com/post/undo-git-commit-amend", "published_at": "2023-10-19T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a62286be16", "title": "Simple Static Site on Nginx on Docker", "url": "https://jaketrent.com/post/simple-static-site-nginx-docker", "published_at": "2023-10-05T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a6848a4cbd", "title": "Share Terminal Amongst Multiple Processes", "url": "https://jaketrent.com/post/share-terminal-multiple-processes", "published_at": "2023-10-04T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e352ba0097ee", "title": "Add a Printer in i3", "url": "https://jaketrent.com/post/add-printer-i3", "published_at": "2023-09-30T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e35222ba4a38", "title": "Hide YouTube Shorts", "url": "https://jaketrent.com/post/hide-youtube-shorts", "published_at": "2023-09-29T00:00:00+00:00" }, { "id": "01a0821c-c1e1-7163-89dc-e35243a049ce", "title": "Rip an Audio CD in Linux", "url": "https://jaketrent.com/post/rip-audio-cd-linux", "published_at": "2023-09-28T00:00:00+00:00" }, { "id": "01a0821c-c1e0-7021-aeaa-62a658ecfcac", "title": "Burn Audio CD in Linux", "url": "https://jaketrent.com/post/burn-audio-cd-linux", "published_at": "2023-09-23T00:00:00+00:00" } ] posts Claim your blog
Back to Jake Trent
Blog · corpus.blog/blogs/jaketrent.com/posts

Jake Trent

jaketrent.com

2025

2024

2023