41554 blogs · [ { "id": "01a0e6a6-5b4c-7347-a7c4-1538d29b75b0", "title": "WordPressSharp 2.0: A .NET 10 Client for the WordPress REST API", "url": "https://brudtkuhl.com/blog/wordpresssharp-2-dotnet10-rest-api/", "published_at": "2026-09-25T00:00:00+00:00" }, { "id": "01a0d768-8e9d-721c-a535-0faf7f4a8db8", "title": "Ask the Model What It Means, Not Whether It's Right", "url": "https://brudtkuhl.com/blog/ask-the-model-what-it-means-not-whether-its-right/", "published_at": "2026-09-24T00:00:00+00:00" }, { "id": "01a0e6a6-5b4c-7347-a7c4-1538d387e471", "title": "Jev Query Routing: Ask What It Means, Not Whether It's Right", "url": "https://brudtkuhl.com/blog/jev-query-routing-ask-what-it-means/", "published_at": "2026-09-24T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-3056194b4f20", "title": "How and why I built openclawpm", "url": "https://brudtkuhl.com/blog/building-openclawpm/", "published_at": "2026-02-20T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-30561a403b58", "title": "Shipping pmprompt Skills as a Claude Code Plugin", "url": "https://brudtkuhl.com/blog/shipping-pmprompt-skills-as-claude-code-plugin/", "published_at": "2026-02-04T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-30561ae0bd50", "title": "Building PM Practice: Extracting Real Product Decisions from Lenny's Podcast Transcripts", "url": "https://brudtkuhl.com/blog/building-pm-practice-lenny-podcast-transcripts/", "published_at": "2026-01-29T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-30561b505b47", "title": "Compound Engineering for Laravel", "url": "https://brudtkuhl.com/blog/compound-engineering-for-laravel/", "published_at": "2025-12-29T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-30561bcd4b84", "title": "Building Snooji", "url": "https://brudtkuhl.com/blog/building-snooji/", "published_at": "2025-09-26T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-30561c85bd83", "title": "JSONL Viewer Tool", "url": "https://brudtkuhl.com/blog/jsonl-viewer-tool/", "published_at": "2025-09-04T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-30561d27cabe", "title": "Building a Serverless Search Engine with Laravel and Cloudflare Vectorize", "url": "https://brudtkuhl.com/blog/building-serverless-search-laravel-cloudflare-vectorize/", "published_at": "2025-04-15T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-30561d9d42c6", "title": "Building a Site Search Engine with Laravel and Meilisearch", "url": "https://brudtkuhl.com/blog/building-site-search-engine-laravel-meilisearch/", "published_at": "2025-04-09T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-30561dc5b8b7", "title": "Building a Laravel Cloud Pricing Calculator with Livewire", "url": "https://brudtkuhl.com/blog/building-laravel-cloud-pricing-calculator/", "published_at": "2025-04-03T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-30561e9cfc5d", "title": "Building a Hybrid Search System with Laravel, OpenAI, and PostgreSQL", "url": "https://brudtkuhl.com/blog/building-hybrid-search-system-laravel-ai-postgresql/", "published_at": "2025-02-28T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-30561ed9ce06", "title": "Building a Website Spell Checker with Laravel and GPT-4", "url": "https://brudtkuhl.com/blog/building-sitespellchecker/", "published_at": "2025-02-24T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-30561f604a9f", "title": "Building a Modern Site Search Engine with Laravel, Elasticsearch, and AI", "url": "https://brudtkuhl.com/blog/building-modern-site-search-engine/", "published_at": "2025-02-03T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-30561fe26182", "title": "Building a JSON to JSONL Converter", "url": "https://brudtkuhl.com/blog/building-json-to-jsonl-converter/", "published_at": "2025-01-28T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-305620157030", "title": "Building PMPrompt - AI-Powered Product Management Tools", "url": "https://brudtkuhl.com/blog/building-pmprompt-ai-powered-product-management/", "published_at": "2024-11-25T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-30562075d592", "title": "Building SurveySnaps: Location-Based QR Code Surveys", "url": "https://brudtkuhl.com/blog/building-surveysnaps-location-based-qr-survey-platform/", "published_at": "2024-10-27T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-3056211a4f34", "title": "Building JSONLTools with Laravel and Livewire", "url": "https://brudtkuhl.com/blog/building-jsonl-tools/", "published_at": "2024-10-07T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-305621efcb7a", "title": "Migrating a WordPress website", "url": "https://brudtkuhl.com/blog/migrate-wordpress/", "published_at": "2022-12-20T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-3056226fedab", "title": "Building an app for virtual phone numbers", "url": "https://brudtkuhl.com/blog/receive-sms-online-with-cloudnumber/", "published_at": "2022-11-08T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-305622fe51d9", "title": "Building An Online Fax Service", "url": "https://brudtkuhl.com/blog/building-online-fax-service/", "published_at": "2021-02-10T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-3056239c7679", "title": "Weekly Agtech Email Newsletter", "url": "https://brudtkuhl.com/blog/agtech-email-launch/", "published_at": "2019-01-23T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-305623f9605b", "title": "How I Migrated WordPress to a Static Website", "url": "https://brudtkuhl.com/blog/migrate-wordpress-static-site/", "published_at": "2019-01-19T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-305624118ff3", "title": "Full Stack Marketing", "url": "https://brudtkuhl.com/blog/full-stack-marketing/", "published_at": "2017-10-31T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-3056248ce540", "title": "Building a Referral System with Laravel", "url": "https://brudtkuhl.com/blog/building-referral-system-laravel/", "published_at": "2016-12-15T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-305625160174", "title": "That Time I Tricked Google With Its Own Data", "url": "https://brudtkuhl.com/blog/time-tricked-google-data/", "published_at": "2016-10-24T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-30562568cf68", "title": "Building Public Slack Communities - Slackvite Launch", "url": "https://brudtkuhl.com/blog/building-public-slack-communities-slackvite-launch/", "published_at": "2016-06-28T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-305625743a98", "title": "WordPress .gitignore", "url": "https://brudtkuhl.com/blog/wordpress-gitignore/", "published_at": "2016-05-05T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-30562623cd64", "title": "Building A Slack Bot With Node.js And WordPress REST API", "url": "https://brudtkuhl.com/blog/building-slack-bot-nodejs-wordpress-rest-api/", "published_at": "2016-03-24T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-305626bf3ad1", "title": "Slack Slash Command With WordPress REST API Backend", "url": "https://brudtkuhl.com/blog/slack-slash-command-wordpress-rest-api-backend/", "published_at": "2016-03-11T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-30562700dc02", "title": "WordPress Single Page Template For Categories", "url": "https://brudtkuhl.com/blog/wordpress-single-page-template-for-categories/", "published_at": "2015-09-25T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-3056278ff839", "title": "Cowboy Coding To Professional Developer", "url": "https://brudtkuhl.com/blog/cowboy-coding-to-professional-developer-wckc-2015/", "published_at": "2015-06-12T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-30562877429f", "title": "Style Disqus Comments in Twenty Fifteen Theme", "url": "https://brudtkuhl.com/blog/style-disqus-comments-in-twenty-fifteen-theme/", "published_at": "2015-04-22T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-305628dd3837", "title": "Zendesk Helpdesk Widget in WordPress Admin", "url": "https://brudtkuhl.com/blog/zendesk-helpdesk-widget-in-wordpress-admin/", "published_at": "2015-04-21T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-305629528414", "title": "Add Terms and Conditions to Restrict Content Pro", "url": "https://brudtkuhl.com/blog/add-terms-and-conditions-to-restrict-content-pro/", "published_at": "2015-04-15T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-3056298cc7da", "title": "Using WordPressSharp To Publish A Post", "url": "https://brudtkuhl.com/blog/using-wordpresssharp-publish-post/", "published_at": "2015-01-26T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-30562a46e133", "title": "WordPress Plugin: Open Files In New Tab or Window", "url": "https://brudtkuhl.com/blog/wordpress-plugin-open-files-new-tab-window/", "published_at": "2014-10-07T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-30562a99f0a3", "title": "Bootstrap Styles for Gravity Forms WordPress Plugin", "url": "https://brudtkuhl.com/blog/bootstrap-styles-gravity-forms-wordpress-plugin/", "published_at": "2014-10-02T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-30562b393608", "title": "Easy KnockoutJS Pagination with Data Tables", "url": "https://brudtkuhl.com/blog/easy-knockoutjs-pagination-data-tables/", "published_at": "2014-10-02T00:00:00+00:00" }, { "id": "01a08759-e1f8-7389-8556-30562b93b3f1", "title": "WordPress Mass Update Post, Page, or Custom Post Type Taxonomies", "url": "https://brudtkuhl.com/blog/wordpress-mass-update-post-page-custom-post-type-taxonomies/", "published_at": "2014-09-11T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1bfe86a4b", "title": "Add Already Registered Custom Taxonomy to Custom Post Type in WordPress", "url": "https://brudtkuhl.com/blog/add-already-registered-custom-taxonomy-custom-post-type/", "published_at": "2014-08-08T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1c02b6844", "title": "WordPress Permalinks On IIS", "url": "https://brudtkuhl.com/blog/wordpress-permalinks-on-iis/", "published_at": "2014-08-02T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1c046e688", "title": "WordPress Filter Posts By Custom Field Value In Admin", "url": "https://brudtkuhl.com/blog/wordpress-filter-posts-custom-field-value-admin/", "published_at": "2014-07-28T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1c0ea17c0", "title": "WordPress Reset AUTO_INCREMENT ID In Posts", "url": "https://brudtkuhl.com/blog/wordpress-reset-auto_increment-id-posts/", "published_at": "2014-07-22T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1c17c4df1", "title": "Hosted Elasticsearch Recommendations", "url": "https://brudtkuhl.com/blog/hosted-elasticsearch/", "published_at": "2014-07-13T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1c1d805f4", "title": "Securing Elasticsearch", "url": "https://brudtkuhl.com/blog/securing-elasticsearch/", "published_at": "2014-07-11T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1c209f3c6", "title": "WordPress On IIS: Permissions, Updates, Permalinks", "url": "https://brudtkuhl.com/blog/wordpress-iis-permissions-updates-permalinks/", "published_at": "2014-06-30T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1c2c3be39", "title": "Install Elasticsearch in 5 Minutes on Digital Ocean", "url": "https://brudtkuhl.com/blog/install-elasticsearch-in-5-minutes/", "published_at": "2014-05-29T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1c2fc8fba", "title": "3 Things You Should Know Before You Advertise On Twitter", "url": "https://brudtkuhl.com/blog/learn-before-you-advertise-on-twitter/", "published_at": "2013-05-10T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1c3dc1d11", "title": "How To Move From Posterous To WordPress", "url": "https://brudtkuhl.com/blog/how-to-move-from-posterous-to-wordpress/", "published_at": "2013-02-16T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1c46690b9", "title": "WordPress Bootstrap Theme", "url": "https://brudtkuhl.com/blog/wordpress-bootstrap-theme/", "published_at": "2013-02-13T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1c4cd03d9", "title": "How To Make Facebook Comments Responsive in WordPress", "url": "https://brudtkuhl.com/blog/how-to-make-facebook-comments-responsive/", "published_at": "2012-08-08T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1c5beae24", "title": "WordPress Get Permalink By Page Name Or Slug", "url": "https://brudtkuhl.com/blog/wordpress-get-permalink-by-page-name-or-slug/", "published_at": "2011-10-19T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1c5cced16", "title": "LaunchChimp - Weekend Project", "url": "https://brudtkuhl.com/blog/launchchimp-weekend-project/", "published_at": "2011-08-08T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1c6590ae4", "title": "WordPress Query Multiple Taxonomies", "url": "https://brudtkuhl.com/blog/wordpress-query-multiple-taxonomies/", "published_at": "2011-06-29T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1c752c5cb", "title": "Cheatin’ uh? Error - WordPress Custom Post Types", "url": "https://brudtkuhl.com/blog/cheatin-uh-error-wordpress-custom-post-types/", "published_at": "2011-04-04T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1c7f9f0d1", "title": "How I Used Data For Product Development", "url": "https://brudtkuhl.com/blog/how-i-used-data-for-product-development/", "published_at": "2011-02-23T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1c833b14a", "title": "Light Bulb To Launch In A Weekend", "url": "https://brudtkuhl.com/blog/light-bulb-to-launch-in-a-weekend/", "published_at": "2011-02-20T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1c83aa542", "title": "What's The Best Forum Plugin For WordPress?", "url": "https://brudtkuhl.com/blog/whats-the-best-forum-plugin-for-wordpress/", "published_at": "2011-02-10T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1c8cea57c", "title": "How To Add Social Sharing Buttons To WordPress Blog", "url": "https://brudtkuhl.com/blog/how-to-add-social-sharing-buttons-to-wordpress-blog/", "published_at": "2011-02-07T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1c91a42ac", "title": "hashDSM - Des Moines In Real Time", "url": "https://brudtkuhl.com/blog/hashdsm-des-moines-in-real-time/", "published_at": "2011-01-26T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1c924f9e0", "title": "Change Footer Text In Thesis WordPress Theme", "url": "https://brudtkuhl.com/blog/change-footer-text-in-thesis/", "published_at": "2011-01-07T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1c9413245", "title": "WordPress Sharing Plugins", "url": "https://brudtkuhl.com/blog/wordpress-sharing-plugins/", "published_at": "2010-12-30T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1ca185579", "title": "Change Leave A Reply Comment Text In WordPress", "url": "https://brudtkuhl.com/blog/change-leave-a-reply-comment-text-in-wordpress/", "published_at": "2010-11-23T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1ca49cf8c", "title": "WordPress Theme Updates - Skeletor", "url": "https://brudtkuhl.com/blog/wordpress-theme-updates-skeletor/", "published_at": "2010-10-01T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1ca72da49", "title": "Disrupt The Wedding Registry Business - Free Idea", "url": "https://brudtkuhl.com/blog/disrupt-the-wedding-registry-business-free-id/", "published_at": "2010-07-23T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1cb199b59", "title": "How To Install easyPHP on Windows with IIS", "url": "https://brudtkuhl.com/blog/howto-install-easyphp-on-windows-with-iis/", "published_at": "2005-12-13T00:00:00+00:00" }, { "id": "01a08759-e1f9-71e1-bdcd-acc1cb4072e7", "title": "How to alternate list iems with Javascript", "url": "https://brudtkuhl.com/blog/howto-alternate-list-items-in-a-div-with-java/", "published_at": "2005-12-10T00:00:00+00:00" } ] posts Claim your blog
Back to brudtkuhl.com
Blog · corpus.blog/blogs/brudtkuhl.com/posts

brudtkuhl.com

brudtkuhl.com

2026

2025

2024

2022

2021

2019

2017

2016

2015

2014

2013

2012

2011

2010

2005