41554 blogs · [
{
"id": "01a0878f-f7f8-71a2-9385-b091dddb9d65",
"title": "Using Dev Tunnels to share your local web server",
"url": "https://www.jonathancreamer.com/using-dev-tunnels-to-share-your-local-web-server/",
"published_at": "2026-07-31T14:06:47+00:00"
},
{
"id": "01a0878f-f7f9-7105-89b5-0bc4100680bf",
"title": "Celebrating my 5th year at Microsoft by developing AI skills",
"url": "https://www.jonathancreamer.com/celebrating-my-5th-year-at-microsoft/",
"published_at": "2026-02-17T03:43:10+00:00"
},
{
"id": "01a0878f-f7f9-7105-89b5-0bc410aad12b",
"title": "What does Build.SourceVersion actually mean in Azure pipelines",
"url": "https://www.jonathancreamer.com/what-does-build-sourceversion-actually-mean-in-azure-pipelines/",
"published_at": "2025-12-03T16:01:48+00:00"
},
{
"id": "01a0878f-f7f9-7105-89b5-0bc411217361",
"title": "rebase is dead long live the squabaserge",
"url": "https://www.jonathancreamer.com/rebase-is-dead-long-live-the-squabaserge/",
"published_at": "2025-08-21T14:42:14+00:00"
},
{
"id": "01a0878f-f7f9-7105-89b5-0bc411ecdf37",
"title": "How bin linking works in node.js npm and yarn and monorepos",
"url": "https://www.jonathancreamer.com/how-bin-linking-works-in-node-js-npm-and-yarn-and-monorepos/",
"published_at": "2025-07-16T00:02:54+00:00"
},
{
"id": "01a0878f-f7f9-7105-89b5-0bc4126c83ba",
"title": "4 Years at Microsoft",
"url": "https://www.jonathancreamer.com/4-years-at-microsoft/",
"published_at": "2025-02-18T22:25:53+00:00"
},
{
"id": "01a0878f-f7f9-7105-89b5-0bc41358a01a",
"title": "Using Typescript in node.js scripts without actually writing Typescript",
"url": "https://www.jonathancreamer.com/using-typescript-in-node-js-scripts-without-actually-writing-typescript/",
"published_at": "2024-11-08T18:33:22+00:00"
},
{
"id": "01a0878f-f7f9-7105-89b5-0bc4141ee1c9",
"title": "How we shrunk our Javascript monorepo git size by 94%",
"url": "https://www.jonathancreamer.com/how-we-shrunk-our-git-repo-size-by-94-percent/",
"published_at": "2024-10-25T14:50:48+00:00"
},
{
"id": "01a0878f-f7f9-7105-89b5-0bc41451776a",
"title": "Reflecting on 3 years at Microsoft",
"url": "https://www.jonathancreamer.com/3-years-at-microsoft/",
"published_at": "2024-02-20T23:08:28+00:00"
},
{
"id": "01a0878f-f7f9-7105-89b5-0bc414ec0ede",
"title": "The JavaScript Developer's Guide to Ubuntu on Windows 11 with WSL",
"url": "https://www.jonathancreamer.com/the-javascript-developers-guide-to-ubuntu-on-windows-11-with-wsl/",
"published_at": "2024-01-05T16:34:09+00:00"
},
{
"id": "01a0878f-f7f9-7105-89b5-0bc41591dc34",
"title": "Switched to the Shure MV7 from the Blue Yeti",
"url": "https://www.jonathancreamer.com/switched-to-the-shure-mv7-from-the-blue-yeti/",
"published_at": "2023-11-27T21:45:00+00:00"
},
{
"id": "01a0878f-f7f9-7105-89b5-0bc4167c06bf",
"title": "Learning how to Learn",
"url": "https://www.jonathancreamer.com/learning-how-to-learn/",
"published_at": "2023-05-19T14:43:54+00:00"
},
{
"id": "01a0878f-f7f9-7105-89b5-0bc4171dc9c4",
"title": "How to spend a week in Madrid",
"url": "https://www.jonathancreamer.com/enjoying-a-few-days-in-madrid-spain/",
"published_at": "2023-03-11T03:15:59+00:00"
},
{
"id": "01a0878f-f7f9-7105-89b5-0bc417dffef5",
"title": "Tips for writing nodejs scripts using only built-in modules and async",
"url": "https://www.jonathancreamer.com/write-async-node-scripts-using-the-only-native-nodejs-modules/",
"published_at": "2023-01-03T21:42:35+00:00"
},
{
"id": "01a0878f-f7f9-7105-89b5-0bc4183a74a9",
"title": "Calling an API with authorization using native nodejs with zero external dependencies",
"url": "https://www.jonathancreamer.com/calling-an-api-with-authorization-using-native-nodejs-with-zero-external-dependencies/",
"published_at": "2022-08-19T19:17:48+00:00"
}
] posts Claim your blog