41554 blogs · [ { "id": "01a08764-765c-7221-b57f-d71c58f3c012", "title": "Shadow Pipeline Success", "url": "https://www.craigpardey.com/post/2026-04-03-shadow-pipeline-success/", "published_at": "2026-04-03T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c27b74c15", "title": "Global Delivery Partners", "url": "https://www.craigpardey.com/post/2026-03-04-global-delivery/", "published_at": "2026-03-04T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c2863d762", "title": "Tech Screening", "url": "https://www.craigpardey.com/post/2026-02-24-screening/", "published_at": "2026-02-24T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c28e9cefb", "title": "Shadow Pipeline", "url": "https://www.craigpardey.com/post/2026-01-24-shadow-pipeline/", "published_at": "2026-01-24T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c2966c664", "title": "The Cost of CI/CD Performance", "url": "https://www.craigpardey.com/post/2025-12-26-cicd-performance/", "published_at": "2025-12-26T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c2984dc1f", "title": "Implementing ISO 20022", "url": "https://www.craigpardey.com/post/2025-03-17-implementing-iso-20022/", "published_at": "2025-03-17T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c29b05995", "title": "ISO 20022 is not a standard", "url": "https://www.craigpardey.com/post/2025-02-27-iso-20022-is-not-a-standard/", "published_at": "2025-02-27T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c2a0b8f45", "title": "App Config Design", "url": "https://www.craigpardey.com/post/2024-12-09-app-config-design/", "published_at": "2024-12-09T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c2a2f02ba", "title": "Retail Returns", "url": "https://www.craigpardey.com/post/2024-12-08-retail-returns/", "published_at": "2024-12-08T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c2a528379", "title": "Process Optimization", "url": "https://www.craigpardey.com/post/2024-10-27-process-optimization/", "published_at": "2024-10-27T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c2acb9e25", "title": "The Value Is The Process", "url": "https://www.craigpardey.com/post/2024-10-15-value-of-process/", "published_at": "2024-10-15T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c2b5b2157", "title": "Let's Talk About Signs", "url": "https://www.craigpardey.com/post/2024-05-29-sign-design/", "published_at": "2024-05-29T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c2bfadf37", "title": "Non-Functional Requirements", "url": "https://www.craigpardey.com/post/2024-05-07-nfrs/", "published_at": "2024-05-07T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c2c45a292", "title": "On Modernization", "url": "https://www.craigpardey.com/post/2024-02-18-modernization/", "published_at": "2024-02-18T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c2cb93444", "title": "Moral Hazard", "url": "https://www.craigpardey.com/post/2023-12-13-moral-hazard/", "published_at": "2023-12-13T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c2d90e71a", "title": "QA: The Final Frontier", "url": "https://www.craigpardey.com/post/2023-09-18-qa-strategy/", "published_at": "2023-09-18T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c2decb980", "title": "A Good Place To Work", "url": "https://www.craigpardey.com/post/2023-06-20-a-good-place-to-work/", "published_at": "2023-06-20T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c2e77947a", "title": "Architecture Vs Engineering", "url": "https://www.craigpardey.com/post/2023-01-27-architecture-vs-engineering/", "published_at": "2023-01-27T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c2eaca4a8", "title": "The Power Of Constraints", "url": "https://www.craigpardey.com/post/2022-12-09-meatings/", "published_at": "2022-12-09T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c2ec556e6", "title": "Antipattern: BFF", "url": "https://www.craigpardey.com/post/2022-11-28-bff/", "published_at": "2022-11-28T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c2f577f6e", "title": "Details Matter", "url": "https://www.craigpardey.com/post/2022-09-30-details-matter/", "published_at": "2022-09-30T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c3010e3bf", "title": "The Art of Documentation", "url": "https://www.craigpardey.com/post/2022-08-30-art-of-docs/", "published_at": "2022-08-30T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c3095ed4c", "title": "Basic Skills", "url": "https://www.craigpardey.com/post/2022-08-01-skills/", "published_at": "2022-08-01T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c31242448", "title": "Autonomous Teams", "url": "https://www.craigpardey.com/post/2021-11-29-autonomous-teams/", "published_at": "2021-11-29T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c31e99932", "title": "Do One Thing", "url": "https://www.craigpardey.com/post/2021-01-26-do-one-thing/", "published_at": "2021-01-26T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c32214538", "title": "Trunk-based Development", "url": "https://www.craigpardey.com/post/2021-01-04-trunk-based-dev/", "published_at": "2021-01-04T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c32bf000a", "title": "Subdomains", "url": "https://www.craigpardey.com/post/2019-10-17-subdomains/", "published_at": "2019-10-17T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c32e8ebf8", "title": "The Data Interface", "url": "https://www.craigpardey.com/post/2018-04-12-data-interfaces/", "published_at": "2018-04-12T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c3350b310", "title": "Test First Manufacturing", "url": "https://www.craigpardey.com/post/2018-03-29-test-first/", "published_at": "2018-03-29T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c33b902c9", "title": "Challenger Bank", "url": "https://www.craigpardey.com/post/2017-11-01-challenger-bank/", "published_at": "2017-11-01T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c33cc3a7f", "title": "Heirloom Code", "url": "https://www.craigpardey.com/post/2017-10-11-heirloom-code/", "published_at": "2017-10-11T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c33fa4db2", "title": "Pragmatic Programmer", "url": "https://www.craigpardey.com/post/2017-04-15-andy-hunt/", "published_at": "2017-04-15T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c34364c9d", "title": "Separate Your Email From Your Identity", "url": "https://www.craigpardey.com/post/2017-01-28-separate-email-identity/", "published_at": "2017-01-28T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c34a8794c", "title": "Clean Tea - Part III", "url": "https://www.craigpardey.com/post/2016-11-07-clean-tea-part-iii/", "published_at": "2016-11-07T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c34c5eb30", "title": "Good Support", "url": "https://www.craigpardey.com/post/2016-11-02-good-support/", "published_at": "2016-11-02T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c34d7d77b", "title": "Clean Tea - Part II", "url": "https://www.craigpardey.com/post/2016-10-06-clean-tea-part-ii/", "published_at": "2016-10-06T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c3589f6b2", "title": "Clean Tea", "url": "https://www.craigpardey.com/post/2016-09-21-clean-tea/", "published_at": "2016-09-21T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c36509b1a", "title": "The Immutable Laws of Marketing", "url": "https://www.craigpardey.com/post/2016-09-12-laws-of-marketing/", "published_at": "2016-09-12T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c36cb7207", "title": "Hubot and HipChat", "url": "https://www.craigpardey.com/post/2016-05-31-hubot-hipchat/", "published_at": "2016-05-31T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c3782fb1f", "title": "Keep Everything in Source Control", "url": "https://www.craigpardey.com/post/2016-05-21-everything-in-vcs/", "published_at": "2016-05-21T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c381a614e", "title": "Successful teams", "url": "https://www.craigpardey.com/post/2016-03-07-successful-teams/", "published_at": "2016-03-07T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c3827d266", "title": "On Agile Transformations", "url": "https://www.craigpardey.com/post/2016-02-16-agile-transformation/", "published_at": "2016-02-16T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c3925592b", "title": "Back To XP", "url": "https://www.craigpardey.com/post/2015-08-12-xp/", "published_at": "2015-08-12T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c39f79087", "title": "Broken Build", "url": "https://www.craigpardey.com/post/2015-06-26-build/", "published_at": "2015-06-26T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c3a664697", "title": "DRY Configuration", "url": "https://www.craigpardey.com/post/2015-03-30-dry-config/", "published_at": "2015-03-30T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c3b56a7df", "title": "Trust Me", "url": "https://www.craigpardey.com/post/2015-03-01-trust-me/", "published_at": "2015-03-01T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c3c183e57", "title": "Good Advice", "url": "https://www.craigpardey.com/post/2015-01-20-good-advice/", "published_at": "2015-01-20T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c3c3fb216", "title": "Git baffles", "url": "https://www.craigpardey.com/post/2014-12-10-git-baffles/", "published_at": "2014-12-10T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c3d34611d", "title": "Netezza: failed to create external table for bulk load", "url": "https://www.craigpardey.com/post/2014-11-30-nz-bulk/", "published_at": "2014-11-30T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c3d35dfef", "title": "Bi-temporal Data Model", "url": "https://www.craigpardey.com/post/2014-09-27-bi-temporal-data-model/", "published_at": "2014-09-27T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c3da77e93", "title": "Throwing Under The Bus", "url": "https://www.craigpardey.com/post/2014-07-23-throwing-under-the-bus/", "published_at": "2014-07-23T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c3e940697", "title": "Thoughts on Netezza", "url": "https://www.craigpardey.com/post/2014-07-15-thoughts-on-netezza/", "published_at": "2014-07-15T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c3f2813f1", "title": "He who estimates, implements", "url": "https://www.craigpardey.com/post/2014-05-25-he-who-estimates-implements/", "published_at": "2014-05-25T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c3f3c5b78", "title": "Hauppauge 950Q doesn't work with WD Live", "url": "https://www.craigpardey.com/post/2014-05-12-hauppauge-950q-doesnt-work-with-wd-live/", "published_at": "2014-05-12T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c3f8a67ba", "title": "@Value not resolved when using @PropertySource annotation.", "url": "https://www.craigpardey.com/post/2014-04-15-value-not-resolved-when-using-propertysource-annotation/", "published_at": "2014-04-15T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c40226f3e", "title": "Interviewing", "url": "https://www.craigpardey.com/post/2014-02-16-interviewing/", "published_at": "2014-02-16T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c40ecedae", "title": "Scheduled tasks with Spring and Java configs", "url": "https://www.craigpardey.com/post/2014-01-16-scheduled-tasks-with-spring-and-java-configs/", "published_at": "2014-01-16T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c41d683c1", "title": "Converting from JUnit to TestNG", "url": "https://www.craigpardey.com/post/2013-12-18-converting-from-junit-to-testng/", "published_at": "2013-12-18T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c424a6ce1", "title": "Using Factory Beans in Spring Java Configs", "url": "https://www.craigpardey.com/post/2013-12-16-using-factory-beans-in-spring-java-configs/", "published_at": "2013-12-16T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c4317ea0b", "title": "Atomic construction", "url": "https://www.craigpardey.com/post/2013-12-11-atomic-construction/", "published_at": "2013-12-11T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c43fc077b", "title": "On vlogs", "url": "https://www.craigpardey.com/post/2013-11-09-on-vlogs/", "published_at": "2013-11-09T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c4411b447", "title": "Moving on", "url": "https://www.craigpardey.com/post/2013-10-31-moving-on/", "published_at": "2013-10-31T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c445c5c08", "title": "Writing deterministic tests", "url": "https://www.craigpardey.com/post/2013-10-04-writing-deterministic-tests/", "published_at": "2013-10-04T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c44e021d0", "title": "List.clear() throws UnsupportedOperationException", "url": "https://www.craigpardey.com/post/2013-09-16-list-clear-throws-unsupportedoperationexception/", "published_at": "2013-09-16T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c4544dd70", "title": "Arrays.asList() gives a list with wrong size", "url": "https://www.craigpardey.com/post/2013-07-08-arrays-aslist-gives-a-list-with-wrong-size/", "published_at": "2013-07-08T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c458295c8", "title": "How to set JMSXUserID in Websphere MQ using Spring JMS", "url": "https://www.craigpardey.com/post/2013-07-05-how-to-set-jmsxuserid-in-websphere-mq-using-spring-jms/", "published_at": "2013-07-05T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c4613c94e", "title": "Big Data and HR", "url": "https://www.craigpardey.com/post/2013-04-29-big-data-and-hr/", "published_at": "2013-04-29T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c46a0cad6", "title": "Can not execute Sonar: Missing column: period in ALERTS", "url": "https://www.craigpardey.com/post/2013-03-27-can-not-execute-sonar-missing-column-period-in-alerts/", "published_at": "2013-03-27T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c474bc7ef", "title": "hg clone fails with 255 error", "url": "https://www.craigpardey.com/post/2013-03-26-hg-clone-fails-with-255-error/", "published_at": "2013-03-26T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c47d6190c", "title": "The Guild", "url": "https://www.craigpardey.com/post/2013-03-20-the-guild/", "published_at": "2013-03-20T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c482dc8a6", "title": "Apache commons for readability", "url": "https://www.craigpardey.com/post/2013-02-20-apache-commons-for-readability/", "published_at": "2013-02-20T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c485b3270", "title": "SonarException: The project is already been analysing.", "url": "https://www.craigpardey.com/post/2013-02-12-sonarexception-the-project-is-already-been-analysing/", "published_at": "2013-02-12T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c48c4906a", "title": "How to show which .hgrc Mercurial is using", "url": "https://www.craigpardey.com/post/2012-11-22-how-to-show-which-hgrc-mercurial-is-using/", "published_at": "2012-11-22T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c49b3d090", "title": "How to take local in Mercurial without a merge conflict", "url": "https://www.craigpardey.com/post/2012-11-12-how-to-take-local-in-mercurial-without-a-merge-conflict/", "published_at": "2012-11-12T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c4a18e10d", "title": "Broken Generics", "url": "https://www.craigpardey.com/post/2012-11-07-broken-generics/", "published_at": "2012-11-07T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c4a5c78ae", "title": "Slow Mercurial clone", "url": "https://www.craigpardey.com/post/2012-10-25-slow-mercurial-clone/", "published_at": "2012-10-25T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c4ae69e80", "title": "Error creating logs directory in Apache Tomcat", "url": "https://www.craigpardey.com/post/2012-10-01-error-creating-logs-directory-in-apache-tomcat/", "published_at": "2012-10-01T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c4bbd147e", "title": "Anti-pattern: Re-use through inheritance", "url": "https://www.craigpardey.com/post/2012-07-19-anti-pattern-re-use-through-inheritance/", "published_at": "2012-07-19T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c4c6423e7", "title": "JUnit categories with Maven", "url": "https://www.craigpardey.com/post/2012-07-14-junit-categories-with-maven/", "published_at": "2012-07-14T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c4cbff889", "title": "Mercurial ignore file for Maven projects", "url": "https://www.craigpardey.com/post/2012-06-21-mercurial-ignore-file-for-maven-projects/", "published_at": "2012-06-21T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c4cdfd848", "title": "No stand-up", "url": "https://www.craigpardey.com/post/2012-06-12-no-stand-up/", "published_at": "2012-06-12T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c4d9a1ca5", "title": "Maven Release from Jenkins", "url": "https://www.craigpardey.com/post/2012-05-22-maven-release-from-jenkins/", "published_at": "2012-05-22T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c4da915e2", "title": "Synchronized code in distributed systems", "url": "https://www.craigpardey.com/post/2012-05-08-synchronized-code-in-distributed-systems/", "published_at": "2012-05-08T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c4dd22a9d", "title": "Learn To Type!", "url": "https://www.craigpardey.com/post/2012-05-04-learn-to-type/", "published_at": "2012-05-04T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c4ebf363d", "title": "Reflection HashCodeBuilder Performance", "url": "https://www.craigpardey.com/post/2012-04-29-reflection-hashcodebuilder-performance/", "published_at": "2012-04-29T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c4efc93e5", "title": "A new assignment", "url": "https://www.craigpardey.com/post/2012-04-06-a-new-assignment/", "published_at": "2012-04-06T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c4f86adaf", "title": "How to insulate yourself from static methods", "url": "https://www.craigpardey.com/post/2012-03-28-how-to-insulate-yourself-from-static-methods/", "published_at": "2012-03-28T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c4f8b2341", "title": "Two Eclipse Icons in Windows 7 taskbar", "url": "https://www.craigpardey.com/post/2012-03-20-two-eclipse-icons-in-windows-7-taskbar/", "published_at": "2012-03-20T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c504c460d", "title": "How to divide without using division operator", "url": "https://www.craigpardey.com/post/2012-03-17-how-to-divide-without-using-division-operator/", "published_at": "2012-03-17T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c50d45f8e", "title": "Keep calm and carry on", "url": "https://www.craigpardey.com/post/2012-03-03-keep-calm-and-carry-on/", "published_at": "2012-03-03T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c517065da", "title": "How to be Agile when using 3rd party software framework", "url": "https://www.craigpardey.com/post/2012-02-17-how-to-be-agile-when-using-3rd-party-software-framework/", "published_at": "2012-02-17T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c52004f85", "title": "ControlTier: Initial Impressions", "url": "https://www.craigpardey.com/post/2012-02-11-controltier-initial-impressions/", "published_at": "2012-02-11T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c525c6df4", "title": "Things I Learnt in 2011", "url": "https://www.craigpardey.com/post/2012-01-01-things-i-learnt-in-2011/", "published_at": "2012-01-01T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c52e2a438", "title": "Dysfunctions of a corporation", "url": "https://www.craigpardey.com/post/2011-12-31-dysfunctions-of-a-corporation/", "published_at": "2011-12-31T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c5380433a", "title": "Closing tasks", "url": "https://www.craigpardey.com/post/2011-12-30-closing-tasks/", "published_at": "2011-12-30T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c545bb01c", "title": "Continuous deployment", "url": "https://www.craigpardey.com/post/2011-12-14-continuous-deployment/", "published_at": "2011-12-14T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c5523cfb9", "title": "Use affirmative phrases for boolean names", "url": "https://www.craigpardey.com/post/2011-11-22-boolean-naming/", "published_at": "2011-11-22T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c556806fa", "title": "TD Bank Password Policy", "url": "https://www.craigpardey.com/post/2011-10-07-td-bank-password-policy/", "published_at": "2011-10-07T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c563b3873", "title": "Tools of the trade", "url": "https://www.craigpardey.com/post/2011-07-11-tools-of-the-trade/", "published_at": "2011-07-11T00:00:00+00:00" }, { "id": "01a08764-765d-737b-919f-6b7c57237229", "title": "Things to consider before switching to VOIP", "url": "https://www.craigpardey.com/post/2011-05-21-things-to-consider-before-switching-to-voip/", "published_at": "2011-05-21T00:00:00+00:00" } ] posts Claim your blog
Back to pards
Blog · corpus.blog/blogs/craigpardey.com/posts

pards

craigpardey.com

2026

2025

2024

2023

2022

2021

2019

2018

2017

2016

2015

2014

2013

2012

2011