41554 blogs · [ { "id": "01a087a1-ce92-713f-845a-f2610d0cfa90", "title": "Layering Local AI on Paperless-ngx: Let It Store, Not Think", "url": "https://mattgoodrich.com/posts/local-ai-on-paperless-document-pipeline/", "published_at": "2026-07-23T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2610dbb0b77", "title": "Make Mistakes Cheap Before You Let the Agent Run", "url": "https://mattgoodrich.com/posts/make-mistakes-cheap/", "published_at": "2026-07-22T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2610dffac9d", "title": "Letting the Loop Merge: The Janitors That Keep It Honest", "url": "https://mattgoodrich.com/posts/letting-the-loop-merge/", "published_at": "2026-07-21T12:11:49+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2610e5a4c89", "title": "Two Systems for Handing Work to Agents", "url": "https://mattgoodrich.com/posts/two-systems-for-handing-work-to-agents/", "published_at": "2026-07-21T00:50:01+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2610f063895", "title": "Pasting Screenshots Into a Remote Claude Session", "url": "https://mattgoodrich.com/posts/pasting-screenshots-into-a-remote-claude-session/", "published_at": "2026-07-14T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2610f3cd634", "title": "Collapsing a Pile of Tunnels onto Tailscale", "url": "https://mattgoodrich.com/posts/collapsing-a-pile-of-tunnels-onto-tailscale/", "published_at": "2026-07-13T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2610fceb945", "title": "Authorization Is Three Decisions, Not One", "url": "https://mattgoodrich.com/posts/authorization-is-three-decisions-not-one/", "published_at": "2026-07-10T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26110aea214", "title": "Whose Request Is This, Three Hops In?", "url": "https://mattgoodrich.com/posts/whose-request-is-this-three-hops-in/", "published_at": "2026-07-09T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26110b0f90e", "title": "A Secure Enterprise on Devices You Don't Own", "url": "https://mattgoodrich.com/posts/secure-enterprise-on-devices-you-dont-own/", "published_at": "2026-07-08T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2611178da98", "title": "Friction Is Why People Hoard Access", "url": "https://mattgoodrich.com/posts/friction-is-why-people-hoard-access/", "published_at": "2026-07-07T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26111f0430f", "title": "Your Authorization Model Is Never Done", "url": "https://mattgoodrich.com/posts/your-authorization-model-is-never-done/", "published_at": "2026-07-06T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26111f8b63a", "title": "Identity Is Becoming Continuous", "url": "https://mattgoodrich.com/posts/identity-is-becoming-continuous/", "published_at": "2026-07-02T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2611227e142", "title": "Collapse the Surface, Then Defend It", "url": "https://mattgoodrich.com/posts/collapse-the-surface-then-defend-it/", "published_at": "2026-07-01T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26112da1630", "title": "The Other Half of Identity Security", "url": "https://mattgoodrich.com/posts/the-other-half-of-identity-security/", "published_at": "2026-06-30T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26113825e5a", "title": "Access Should Know What the Data Is", "url": "https://mattgoodrich.com/posts/access-should-know-what-the-data-is/", "published_at": "2026-06-29T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26114576e3a", "title": "Standardize the Gates, Not the Steps", "url": "https://mattgoodrich.com/posts/standardize-the-gates-not-the-steps/", "published_at": "2026-06-28T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f261152f11d0", "title": "The Gateway Can't See the Object", "url": "https://mattgoodrich.com/posts/the-gateway-cant-see-the-object/", "published_at": "2026-06-26T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26115cd384b", "title": "Per-App Access Ends the Flat Network", "url": "https://mattgoodrich.com/posts/per-app-access-ends-the-flat-network/", "published_at": "2026-06-25T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26115e32b10", "title": "Zero Trust Is a Sequence, Not a Posture", "url": "https://mattgoodrich.com/posts/zero-trust-is-a-sequence/", "published_at": "2026-06-24T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2611634e8bf", "title": "Trust the User, Then Trust the Machine", "url": "https://mattgoodrich.com/posts/trust-the-user-then-the-machine/", "published_at": "2026-06-23T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26116d2cfa8", "title": "The Only MFA That Survives Phishing", "url": "https://mattgoodrich.com/posts/mfa-that-survives-phishing/", "published_at": "2026-06-22T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2611703d401", "title": "Roles Don't Scale the Way You Think", "url": "https://mattgoodrich.com/posts/roles-dont-scale-the-way-you-think/", "published_at": "2026-06-19T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f261177a0432", "title": "Logging Out Is Harder Than Logging In", "url": "https://mattgoodrich.com/posts/logging-out-is-harder-than-logging-in/", "published_at": "2026-06-18T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f261178fa502", "title": "Automate the Leaver Before the Joiner", "url": "https://mattgoodrich.com/posts/automate-the-leaver-before-the-joiner/", "published_at": "2026-06-17T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f261184ecdb4", "title": "One Front Door, One Place to Revoke", "url": "https://mattgoodrich.com/posts/one-front-door-one-place-to-revoke/", "published_at": "2026-06-16T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f261188ab581", "title": "Break-Glass Without the Backdoor", "url": "https://mattgoodrich.com/posts/break-glass-without-the-backdoor/", "published_at": "2026-06-15T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26118f4df53", "title": "SPIFFE Is Workload Identity That Crosses Boundaries", "url": "https://mattgoodrich.com/posts/workload-identity-that-crosses-boundaries/", "published_at": "2026-06-12T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f261197e65fe", "title": "The Identities Nobody Owns", "url": "https://mattgoodrich.com/posts/non-human-identities/", "published_at": "2026-06-11T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2611a37e93f", "title": "The Broker Is the Choke Point", "url": "https://mattgoodrich.com/posts/authorization-broker-models/", "published_at": "2026-06-10T07:01:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2611a7c4c7c", "title": "The Identity Spine", "url": "https://mattgoodrich.com/page/identity/", "published_at": "2026-06-09T19:10:08+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2611b79b01f", "title": "When You Can Actually Use Workload Identity", "url": "https://mattgoodrich.com/posts/when-you-can-use-workload-identity/", "published_at": "2026-06-09T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2611bcf38bb", "title": "You Can Reach More Than You Were Granted", "url": "https://mattgoodrich.com/posts/you-can-reach-more-than-you-were-granted/", "published_at": "2026-06-08T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2611c8760f6", "title": "You'll Never Be Greenfield: IAM for the Company You Actually Have", "url": "https://mattgoodrich.com/posts/iam-for-the-company-you-have/", "published_at": "2026-06-07T17:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2611d56fc3a", "title": "Who Wrote This Code? A Layered Approach to AI Attribution and Provenance", "url": "https://mattgoodrich.com/posts/ai-code-attribution-and-provenance/", "published_at": "2026-06-06T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2611d730e47", "title": "Every Agent Protocol Earns Its Keep at a Boundary", "url": "https://mattgoodrich.com/posts/agent-communication-stack/", "published_at": "2026-06-05T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2611df288c2", "title": "What Compliance Work Belongs to the Agent", "url": "https://mattgoodrich.com/posts/what-compliance-work-belongs-to-the-agent/", "published_at": "2026-05-31T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2611e6964ac", "title": "Your Access Review Is Already Stale: Telemetry-Driven Least Privilege", "url": "https://mattgoodrich.com/posts/telemetry-driven-access-reviews/", "published_at": "2026-05-30T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2611eca67cc", "title": "MCP Earns Its Keep at the Boundary", "url": "https://mattgoodrich.com/posts/mcp-at-the-boundary/", "published_at": "2026-05-29T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2611f0a7e2e", "title": "MCP Authorization When the User Isn't Clicking", "url": "https://mattgoodrich.com/posts/mcp-headless-authorization/", "published_at": "2026-05-28T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2611fa05b02", "title": "Agents Need Capabilities, Not Roles", "url": "https://mattgoodrich.com/posts/agents-need-capabilities-not-roles/", "published_at": "2026-05-27T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2611fd07b5b", "title": "Agent Identities Are Service Accounts That Improvise", "url": "https://mattgoodrich.com/posts/service-accounts-that-improvise/", "published_at": "2026-05-26T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f261201bd1d9", "title": "Security Is an Overlay, Not a Column", "url": "https://mattgoodrich.com/posts/security-is-an-overlay-not-a-column/", "published_at": "2026-05-24T08:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26120783c83", "title": "The Org Chart Is Not the Value Stream", "url": "https://mattgoodrich.com/posts/the-org-chart-is-not-the-value-stream/", "published_at": "2026-05-23T08:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26120ef0165", "title": "The First Security Hire Is a Unicorn Hire", "url": "https://mattgoodrich.com/posts/first-security-hire-unicorn-hire/", "published_at": "2026-05-22T18:28:29+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26121794e0f", "title": "AI Governance, Calibrated: Why the Real Risk Isn't What Most People Think", "url": "https://mattgoodrich.com/posts/ai-governance-existing-controls-identity-guardrails/", "published_at": "2026-05-14T16:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f261218519ee", "title": "Stop Putting Secrets in .env Files: A 1Password Service Account for Claude", "url": "https://mattgoodrich.com/posts/1password-service-account-claude-secrets/", "published_at": "2026-05-13T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2612251ce4b", "title": "Agents Don't Travel Well", "url": "https://mattgoodrich.com/posts/my-ai-workspace-tmux-cloudflared/", "published_at": "2026-05-12T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f261231e4312", "title": "The BlackDuck API: A Love Letter Written in 406 Errors", "url": "https://mattgoodrich.com/posts/navigating-blackduck-api-vulnerability-data-collection/", "published_at": "2026-03-16T17:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f261241dbe43", "title": "The Hardest Part of Security Isn't Finding the Problems", "url": "https://mattgoodrich.com/posts/hardest-part-of-security/", "published_at": "2026-02-25T08:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26124bc233d", "title": "Designing for Complexity: Why Security (and AI) Need a New Playbook", "url": "https://mattgoodrich.com/posts/complicated-vs-complex/", "published_at": "2026-02-24T19:29:52+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26124ff56fd", "title": "GRC Engineering: Stop Collecting Frameworks and Start Building a Program", "url": "https://mattgoodrich.com/posts/grc-engineering/", "published_at": "2026-02-23T18:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26125f76402", "title": "Ushuaia & Tierra del Fuego", "url": "https://mattgoodrich.com/posts/ushuaia-tierra-del-fuego-2026/", "published_at": "2026-02-21T13:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26126349fb3", "title": "Cape Horn", "url": "https://mattgoodrich.com/posts/cape-horn-chile-2026/", "published_at": "2026-02-20T15:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2612679fcfa", "title": "AI Needs to Be More Humble", "url": "https://mattgoodrich.com/posts/ai-needs-humility-ciso-series/", "published_at": "2026-02-19T20:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26126a981b4", "title": "Falkland Islands Penguins", "url": "https://mattgoodrich.com/posts/falkland-islands-penguins-2026/", "published_at": "2026-02-18T13:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26126bec757", "title": "Building Trust in AI Through Governance", "url": "https://mattgoodrich.com/posts/ai-governance-trust-ciso-series/", "published_at": "2026-02-16T20:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26126d90c35", "title": "Colonia del Sacramento", "url": "https://mattgoodrich.com/posts/colonia-del-sacramento-uruguay-2026/", "published_at": "2026-02-15T13:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26126e4c621", "title": "Fixing iCloud Drive Sync Issues on macOS: A Troubleshooting Guide", "url": "https://mattgoodrich.com/posts/fixing-icloud-drive-sync-issues-macos/", "published_at": "2025-12-29T15:52:06+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2612745a5d7", "title": "Podcasts", "url": "https://mattgoodrich.com/page/podcasts/", "published_at": "2025-12-28T08:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26127e3348c", "title": "Hacking AI Data Readiness on Super Cyber Friday", "url": "https://mattgoodrich.com/posts/hacking-ai-data-readiness-super-cyber-friday/", "published_at": "2025-12-05T08:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26127e7a727", "title": "Fall in the Pacific Northwest - 2025", "url": "https://mattgoodrich.com/posts/fall-in-the-pnw-2025/", "published_at": "2025-11-15T05:30:36+00:00" }, { "id": "01a087a1-ce92-713f-845a-f261280ccc8e", "title": "Prague Nights", "url": "https://mattgoodrich.com/posts/prague-nights-2025/", "published_at": "2025-11-05T20:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f261285b3887", "title": "What I Learned From Actually Talking to Vendors", "url": "https://mattgoodrich.com/posts/working-with-vendors/", "published_at": "2025-11-05T07:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2612936e212", "title": "11-Hour Layover in NYC", "url": "https://mattgoodrich.com/posts/layover-in-nyc-2025/", "published_at": "2025-11-03T01:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2612a1a7c27", "title": "Why Security Checklists Fail (And What Aviation Gets Right)", "url": "https://mattgoodrich.com/posts/why-security-checklists-fail/", "published_at": "2025-09-15T07:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2612a574ebf", "title": "Book Reviews", "url": "https://mattgoodrich.com/page/read/", "published_at": "2025-08-31T14:53:08+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2612b21bf07", "title": "Books Up Next", "url": "https://mattgoodrich.com/page/to-be-read/", "published_at": "2025-08-31T14:52:59+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2612be2df1c", "title": "About", "url": "https://mattgoodrich.com/page/about/", "published_at": "2025-08-31T14:20:31+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2612c31c7c9", "title": "The Secret About Strategy: It Happens Everywhere", "url": "https://mattgoodrich.com/posts/the-secret-about-strategy/", "published_at": "2025-08-30T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2612cd3c82d", "title": "The Perfect Storm: How AI Adoption Collided with Economic Reality to Create a Generational Career Gap", "url": "https://mattgoodrich.com/posts/the-perfect-storm-ai-hiring-crisis-new-graduates/", "published_at": "2025-08-27T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2612d607d4b", "title": "AI Governance: Same Problems, Same Solutions", "url": "https://mattgoodrich.com/posts/ai-governance-same-old-problems/", "published_at": "2025-08-24T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2612dade69b", "title": "I Was Wrong About AI", "url": "https://mattgoodrich.com/posts/i-was-wrong-about-ai/", "published_at": "2025-08-22T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2612ead28ae", "title": "The Hardest Flying I've Ever Done – B2Osh PNW Formation Training 2024", "url": "https://mattgoodrich.com/posts/b2osh-pnw-formation-training-2024/", "published_at": "2025-05-27T00:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2612ed5e9f5", "title": "AuthCon 2025 - Our journey to SaaS, and the identity challenges along the way", "url": "https://mattgoodrich.com/posts/authcon-2025-ciam-journey/", "published_at": "2025-05-14T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2612ef3fbd5", "title": "Archives", "url": "https://mattgoodrich.com/page/archives/", "published_at": "2025-01-01T00:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2612fb3680e", "title": "Search", "url": "https://mattgoodrich.com/page/search/", "published_at": "2025-01-01T00:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26130654db9", "title": "BlueHat 2024: Security Challenges Are Universal (Just Ask Microsoft)", "url": "https://mattgoodrich.com/posts/bluehat-2024-day-1/", "published_at": "2024-10-30T04:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26131582840", "title": "Streamlining SSH Key Management with 1Password", "url": "https://mattgoodrich.com/posts/1password-ssh-agent/", "published_at": "2024-10-14T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26131f3fda8", "title": "Cross Platform Encryption using AES-256 (NodeJS, PowerShell, C#)", "url": "https://mattgoodrich.com/posts/aes-256-encryption-dotnet-node-powershell/", "published_at": "2024-10-13T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26132601254", "title": "The Power of Vulnerability: Lessons from Getting Naked", "url": "https://mattgoodrich.com/posts/getting-naked/", "published_at": "2024-01-02T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26132a85d7a", "title": "Application Security and Product Security are NOT the same", "url": "https://mattgoodrich.com/posts/application-security-and-product-security-are-not-the-same/", "published_at": "2023-11-28T00:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26132b54fa5", "title": "How to file for IFR practice approaches in the Seattle area", "url": "https://mattgoodrich.com/posts/seattle-area-ifr-practice-approach-filing/", "published_at": "2023-11-22T00:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26133b09406", "title": "Flying Her Home: 1,000 Miles After 500+ Shop Days", "url": "https://mattgoodrich.com/posts/flying-her-home-after-500-plus-shop-days/", "published_at": "2023-10-09T00:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26133f72fe3", "title": "Lessons from Investments Unlimited: The Importance of Automation and Transparency in Security", "url": "https://mattgoodrich.com/posts/investments-unlimited/", "published_at": "2022-11-07T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26134152593", "title": "My Xtreme Experience: A Day of Driving Ferraris, Porsches, Lamborghinis, and Mustangs", "url": "https://mattgoodrich.com/posts/xtreme-experience/", "published_at": "2022-09-18T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f261349e7943", "title": "Book Review: Product-Led Growth and Escaping the Build Trap", "url": "https://mattgoodrich.com/posts/product-led-growth/", "published_at": "2022-09-15T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f261356b0c62", "title": "Why Aircraft Modifications Aren't Like Car Mods (And My A36 Bonanza Wishlist)", "url": "https://mattgoodrich.com/posts/a36-bonanza-stc/", "published_at": "2022-04-15T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2613601db26", "title": "Breaking into Security: The Soft Skills That Matter Most", "url": "https://mattgoodrich.com/posts/breaking-into-security/", "published_at": "2022-02-08T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f261369d0b8e", "title": "My 2021 Year in Review: Life, Leadership, and Learning", "url": "https://mattgoodrich.com/posts/year-in-review-2021/", "published_at": "2021-12-31T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26136b5073d", "title": "A New Chapter for mattgoodrich.com: From Web Forms to Markdown with Jekyll", "url": "https://mattgoodrich.com/posts/my-return/", "published_at": "2021-12-22T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26136ce7f39", "title": "Google Analytics .NET Integration", "url": "https://mattgoodrich.com/posts/google-analytics-dot-net/", "published_at": "2010-12-27T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26136faddc9", "title": "Creating a Simple Function to Get a Short URL with Bit.ly API", "url": "https://mattgoodrich.com/posts/short-urls-bitly-csharp/", "published_at": "2010-07-02T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f261374c5e7d", "title": "The SSL Certificate Conundrum: A Tale of Bitten Fingers and Base64 Encoding", "url": "https://mattgoodrich.com/posts/ssl-problems-ie-xp/", "published_at": "2010-06-28T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26137fc3960", "title": "Gaining Valuable Insights at OWASP Conference 2010", "url": "https://mattgoodrich.com/posts/owasp-conference-2010/", "published_at": "2010-06-19T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26138d3ae1f", "title": "The Misconceptions of CIS Majors: A Computer Science Perspective", "url": "https://mattgoodrich.com/posts/difference-between-cs-and-cis/", "published_at": "2010-06-18T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26139a8710a", "title": "Debunking Common Misconceptions About IT Professionals", "url": "https://mattgoodrich.com/posts/it-misconceptions/", "published_at": "2010-06-17T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26139d37432", "title": "My Experience Installing Tube Fenders and Rear Corner Protection on My Jeep TJ", "url": "https://mattgoodrich.com/posts/metalcloak-archedtubefender-install/", "published_at": "2010-06-03T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f26139ea47d2", "title": "Fixing a PDF Export Issue with InDesign CS4 and Adobe Acrobat", "url": "https://mattgoodrich.com/posts/acrobat-9-problem-2-pixel-white-line/", "published_at": "2009-07-29T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2613a28d286", "title": "Fixing Adobe Dreamweaver Freeze on Domain Machine", "url": "https://mattgoodrich.com/posts/dreamweaver-initializing-extension-freeze/", "published_at": "2009-06-30T19:00:00+00:00" }, { "id": "01a087a1-ce92-713f-845a-f2613a4216bf", "title": "Displaying Flickr Photos on a Web Page with C# and ASP.NET", "url": "https://mattgoodrich.com/posts/flicker-net-api/", "published_at": "2009-06-20T19:00:00+00:00" } ] posts Claim your blog
Back to mattgoodrich.com
Blog · corpus.blog/blogs/mattgoodrich.com/posts

mattgoodrich.com

mattgoodrich.com

2026

2025

2024

2023

2022

2021

2010

2009