41554 blogs · [
{
"id": "01a0d88b-bf84-71b8-a9a9-5b53975eae36",
"title": "Did I just replace Fable with Sonnet? Well, sort of",
"url": "https://www.gsarigiannidis.gr/did-i-just-replace-fable-with-sonnet-well-sort-of/",
"published_at": "2026-09-19T13:05:12+00:00"
},
{
"id": "01a0877f-c6b3-7360-9755-43537708a3e1",
"title": "Explain it to me like I’m a smart teenager",
"url": "https://www.gsarigiannidis.gr/explain-it-to-me-like-im-a-smart-teenager/",
"published_at": "2026-09-01T08:48:03+00:00"
},
{
"id": "01a0877f-c6b3-7360-9755-43537738e156",
"title": "F*** you, Claude: How I use natural language as telemetry for my workflow",
"url": "https://www.gsarigiannidis.gr/f-you-claude-how-i-use-natural-language-as-telemetry-for-my-workflow/",
"published_at": "2026-07-18T16:46:06+00:00"
},
{
"id": "01a0877f-c6b3-7360-9755-435377e1a61c",
"title": "My favorite Claude habit: “Are you sure?”",
"url": "https://www.gsarigiannidis.gr/my-favorite-claude-habit-are-you-sure/",
"published_at": "2026-04-24T22:58:08+00:00"
},
{
"id": "01a0877f-c6b3-7360-9755-435378097598",
"title": "In Search of (Claude’s) Lost Time",
"url": "https://www.gsarigiannidis.gr/claude-global-memory/",
"published_at": "2026-04-21T22:40:09+00:00"
},
{
"id": "01a0877f-c6b3-7360-9755-435379094f16",
"title": "On writing a skill about writing skills for Claude Code",
"url": "https://www.gsarigiannidis.gr/on-writing-a-skill-about-writing-skills-for-claude-code/",
"published_at": "2026-04-18T20:36:07+00:00"
},
{
"id": "01a0877f-c6b3-7360-9755-435379ec914a",
"title": "Retro is back in style (at least with Claude Code)",
"url": "https://www.gsarigiannidis.gr/retro-is-back-in-style-at-least-with-claude-code/",
"published_at": "2026-04-15T22:44:49+00:00"
},
{
"id": "01a0877f-c6b3-7360-9755-43537a623b43",
"title": "When you can’t find it, build it yourself – with Claude Code and Obsidian",
"url": "https://www.gsarigiannidis.gr/claude-code-obsidian-ai/",
"published_at": "2026-04-15T09:11:17+00:00"
},
{
"id": "01a0877f-c6b3-7360-9755-43537b5d8241",
"title": "Running two Claude Code accounts without discombobulating, befuddling or bamboozling",
"url": "https://www.gsarigiannidis.gr/running-two-claude-code-instances-without-discombobulating-befuddling-or-bamboozling/",
"published_at": "2026-04-02T23:30:53+00:00"
},
{
"id": "01a0877f-c6b3-7360-9755-43537b9370ad",
"title": "Experimenting with AI-Assisted Block Composition in WordPress 7.0",
"url": "https://www.gsarigiannidis.gr/kratt-ai-assisted-block-composition-in-wordpress/",
"published_at": "2026-03-21T10:44:37+00:00"
},
{
"id": "01a0877f-c6b3-7360-9755-43537c7397c3",
"title": "Using AI as a co-maintainer for a solo WordPress plugin",
"url": "https://www.gsarigiannidis.gr/using-ai-as-a-co-maintainer-for-a-solo-wordpress-plugin/",
"published_at": "2026-03-15T21:00:46+00:00"
},
{
"id": "01a0c510-6e05-722a-a316-90e3482d31a1",
"title": "The alien on the rooftop: The Engineer’s (dis)advantage in an AI world",
"url": "https://www.gsarigiannidis.gr/the-alien-on-the-rooftop-the-engineers-disadvantage-in-an-ai-world/",
"published_at": "2026-03-01T19:10:25+00:00"
},
{
"id": "01a0c510-6e05-722a-a316-90e348a3c78b",
"title": "Stream Deck: The productivity booster with the misleading name",
"url": "https://www.gsarigiannidis.gr/stream-deck-the-productivity-booster-with-the-misleading-name/",
"published_at": "2024-03-17T20:55:34+00:00"
},
{
"id": "01a0c510-6e05-722a-a316-90e348a8787d",
"title": "Lessons learned from integrating OpenAI to a WordPress plugin",
"url": "https://www.gsarigiannidis.gr/openstreetmap-openai-integration/",
"published_at": "2023-12-29T23:24:02+00:00"
},
{
"id": "01a0c510-6e05-722a-a316-90e3497b994d",
"title": "Guess default coordinates for WordPress timezones",
"url": "https://www.gsarigiannidis.gr/default-coordinates-for-wordpress-timezones/",
"published_at": "2022-11-28T11:20:42+00:00"
},
{
"id": "01a0c510-6e05-722a-a316-90e349efbbc6",
"title": "Add WordPress support to PHPStorm’s Ideolog",
"url": "https://www.gsarigiannidis.gr/add-wordpress-support-to-phpstorms-ideolog/",
"published_at": "2022-03-26T17:54:38+00:00"
},
{
"id": "01a0c510-6e05-722a-a316-90e34abeb974",
"title": "How to lock a BitLocker encrypted drive when your PC goes to sleep",
"url": "https://www.gsarigiannidis.gr/how-to-lock-a-bitlocker-encrypted-drive-when-your-pc-goes-to-sleep/",
"published_at": "2021-06-26T20:35:01+00:00"
},
{
"id": "01a0c510-6e05-722a-a316-90e34ac116a3",
"title": "The dilemma of opening external links in new tabs or :not()",
"url": "https://www.gsarigiannidis.gr/the-dilemma-of-opening-external-links-in-new-tabs-or-not/",
"published_at": "2021-02-21T12:36:07+00:00"
},
{
"id": "01a0c510-6e05-722a-a316-90e34b7f182b",
"title": "An easier way to tell apart Gutenberg blocks on the Editor",
"url": "https://www.gsarigiannidis.gr/an-easier-way-to-tell-apart-gutenberg-blocks-on-the-editor/",
"published_at": "2021-02-12T01:53:32+00:00"
},
{
"id": "01a0c510-6e05-722a-a316-90e34c762c1b",
"title": "Two lines of CSS for more consistent design between Gutenberg and the frontend",
"url": "https://www.gsarigiannidis.gr/css-consistent-design-gutenberg-frontend/",
"published_at": "2021-01-13T18:00:40+00:00"
},
{
"id": "01a0c51e-5c52-7322-909d-96abeaf7ed4f",
"title": "Practical tips on writing for the Web",
"url": "https://www.gsarigiannidis.gr/practical-tips-on-writing-for-the-web/",
"published_at": "2021-01-02T00:03:13+00:00"
},
{
"id": "01a0c51e-5c52-7322-909d-96abeb090279",
"title": "Show a subtle cross when hovering on a grid’s item corners",
"url": "https://www.gsarigiannidis.gr/windows-fluent-design-css-cross-hover-corner/",
"published_at": "2020-12-26T21:36:41+00:00"
},
{
"id": "01a0c51e-5c52-7322-909d-96abeb73144f",
"title": "Gutenberg tips to forget the Classic Editor",
"url": "https://www.gsarigiannidis.gr/gutenberg-tips-to-forget-the-classic-editor/",
"published_at": "2020-12-19T22:49:38+00:00"
},
{
"id": "01a0c51e-5c52-7322-909d-96abebb9c838",
"title": "Making the most out of Slash Admin",
"url": "https://www.gsarigiannidis.gr/slash-admin-best-features/",
"published_at": "2020-10-28T16:47:20+00:00"
},
{
"id": "01a0c51e-5c52-7322-909d-96abebff3a18",
"title": "Make WordPress respect the order of the tags you insert in a post",
"url": "https://www.gsarigiannidis.gr/wordpress-post-tags-order/",
"published_at": "2020-10-18T18:32:23+00:00"
},
{
"id": "01a0c51e-5c52-7322-909d-96abeca29fc3",
"title": "Tabs on desktop, accordion on mobile",
"url": "https://www.gsarigiannidis.gr/tabs-on-desktop-accordion-on-mobile/",
"published_at": "2020-10-01T10:12:07+00:00"
},
{
"id": "01a0c51e-5c52-7322-909d-96abecb32f5d",
"title": "Maintain aspect ratio on elements with unknown heights and contents",
"url": "https://www.gsarigiannidis.gr/maintain-aspect-ratio-on-elements-with-unknown-heights-and-contents/",
"published_at": "2020-09-27T20:37:59+00:00"
},
{
"id": "01a0c51e-5c52-7322-909d-96abece74c90",
"title": "The challenges of building a user-friendly place search for OpenStreetMap",
"url": "https://www.gsarigiannidis.gr/openstreetmap-place-search/",
"published_at": "2020-09-21T21:03:13+00:00"
},
{
"id": "01a0c51e-5c52-7322-909d-96abedce3bfe",
"title": "Building an OpenStreetMap Gutenberg block and rethinking the UX of adding locations",
"url": "https://www.gsarigiannidis.gr/wordpress-gutenberg-map-block-openstreetmap/",
"published_at": "2020-09-15T10:52:11+00:00"
},
{
"id": "01a0c51e-5c52-7322-909d-96abee7751aa",
"title": "How to hide WordPress’ Site Health from everyone but you",
"url": "https://www.gsarigiannidis.gr/how-to-hide-wordpress-site-health-from-everyone-but-you/",
"published_at": "2020-09-04T22:49:19+00:00"
},
{
"id": "01a0c529-b250-70f5-862e-c7efbc42fbda",
"title": "How to use a Gutenberg block as a post’s featured content",
"url": "https://www.gsarigiannidis.gr/wordpress-gutenberg-block-featured-content/",
"published_at": "2020-08-22T19:36:39+00:00"
},
{
"id": "01a0c529-b250-70f5-862e-c7efbc912cea",
"title": "Escaping the CSS Framework",
"url": "https://www.gsarigiannidis.gr/escaping-the-css-framework/",
"published_at": "2020-08-20T22:46:11+00:00"
},
{
"id": "01a0c529-b250-70f5-862e-c7efbcd529e4",
"title": "How to display a custom Instagram feed on WordPress after June 2020",
"url": "https://www.gsarigiannidis.gr/instagram-feed-api-after-june-2020/",
"published_at": "2020-06-04T18:10:47+00:00"
},
{
"id": "01a0c529-b250-70f5-862e-c7efbdab73fa",
"title": "How to get the original post creation date on a WordPress post",
"url": "https://www.gsarigiannidis.gr/how-to-get-the-original-post-creation-date-even-if-you-changed-its-publication-date/",
"published_at": "2020-03-21T16:45:17+00:00"
},
{
"id": "01a0c529-b250-70f5-862e-c7efbdc45518",
"title": "Look ma, no JS: Creating a responsive product comparison table, with only HTML and CSS",
"url": "https://www.gsarigiannidis.gr/responsive-product-comparison-table-html-css-no-js/",
"published_at": "2020-03-02T13:17:56+00:00"
},
{
"id": "01a0c529-b250-70f5-862e-c7efbe529e37",
"title": "Adding a DIV wrapper to Gutenberg’s Classic block",
"url": "https://www.gsarigiannidis.gr/adding-a-div-wrapper-to-gutenberg-s-classic-block/",
"published_at": "2019-11-17T22:41:58+00:00"
},
{
"id": "01a0c529-b250-70f5-862e-c7efbecbcdd1",
"title": "Extending the WordPress favicon functionality",
"url": "https://www.gsarigiannidis.gr/extending-the-wordpress-favicon-functionality/",
"published_at": "2019-07-06T20:28:19+00:00"
},
{
"id": "01a0c529-b250-70f5-862e-c7efbfb0d08e",
"title": "Refactoring the Gravity Forms native repeater field",
"url": "https://www.gsarigiannidis.gr/gravity-forms-native-repeater/",
"published_at": "2019-06-30T14:12:01+00:00"
},
{
"id": "01a0c529-b250-70f5-862e-c7efc0950191",
"title": "Custom HTML markup with Gravity Forms",
"url": "https://www.gsarigiannidis.gr/custom-html-markup-with-gravity-forms/",
"published_at": "2018-12-24T19:33:23+00:00"
},
{
"id": "01a0c529-b250-70f5-862e-c7efc102f393",
"title": "Convert HTML assets to WordPress enqueues",
"url": "https://www.gsarigiannidis.gr/convert-html-assets-to-wordpress-enqueues/",
"published_at": "2018-11-10T17:26:00+00:00"
},
{
"id": "01a0c534-cec3-735e-8a8c-b92ed4cd1bd7",
"title": "Quickly peek at an ACF field’s name on WordPress Admin",
"url": "https://www.gsarigiannidis.gr/quickly-view-an-acf-field-s-name-on-wordpress-admin/",
"published_at": "2018-10-07T16:07:35+00:00"
},
{
"id": "01a0c534-cec3-735e-8a8c-b92ed581d392",
"title": "10 steps to clean-up a hacked WordPress site",
"url": "https://www.gsarigiannidis.gr/10-steps-to-clean-up-a-hacked-wordpress-site/",
"published_at": "2018-09-29T17:09:43+00:00"
},
{
"id": "01a0c534-cec3-735e-8a8c-b92ed6146ad0",
"title": "Batch backup a server’s WordPress databases with WP-CLI",
"url": "https://www.gsarigiannidis.gr/wp-cli-batch-backup-wordpress-databases/",
"published_at": "2018-09-25T23:01:49+00:00"
},
{
"id": "01a0c534-cec3-735e-8a8c-b92ed6896fed",
"title": "WP_Query vs get_posts() – When should you use one over the other?",
"url": "https://www.gsarigiannidis.gr/wp_query-vs-get_posts-when-should-you-use-one-over-the-other/",
"published_at": "2018-09-23T00:00:16+00:00"
}
] posts Claim your blog