41554 blogs · [ { "id": "01a0d052-4e13-72fc-88e6-d795984e9fcb", "title": "How To Keep Developer Platform Office Hours From Becoming Unplanned Work", "url": "https://slaptijack.com/articles/how-to-keep-developer-platform-office-hours-from-becoming-unplanned-work.html", "published_at": "2026-09-23T07:00:00+00:00" }, { "id": "01a0d052-4e13-72fc-88e6-d7959892a9b0", "title": "A Repository Ownership File Is Only Useful If Escalation Works", "url": "https://slaptijack.com/articles/repository-ownership-file-only-useful-if-escalation-works.html", "published_at": "2026-09-21T07:00:00+00:00" }, { "id": "01a0d052-4e13-72fc-88e6-d795995073ca", "title": "The Exception Backlog Is a Developer Platform Roadmap", "url": "https://slaptijack.com/articles/exception-backlog-is-a-developer-platform-roadmap.html", "published_at": "2026-09-18T07:00:00+00:00" }, { "id": "01a0d052-4e13-72fc-88e6-d7959a42c770", "title": "When Can You Finally Retire a Developer Tool?", "url": "https://slaptijack.com/articles/when-can-you-finally-retire-a-developer-tool.html", "published_at": "2026-09-16T07:00:00+00:00" }, { "id": "01a0d052-4e13-72fc-88e6-d7959b323682", "title": "When an AI Coding Agent Pilot Is Ready for a Team Default", "url": "https://slaptijack.com/articles/when-an-ai-coding-agent-pilot-is-ready-for-a-team-default.html", "published_at": "2026-09-14T07:00:00+00:00" }, { "id": "01a09547-0a4d-71d7-808f-5142945ee126", "title": "Make the Safe Development Path the Easy One", "url": "https://slaptijack.com/articles/make-the-safe-development-path-the-easy-one.html", "published_at": "2026-09-11T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0ec866e45", "title": "Developer Platform Health Signals That Lead to Action", "url": "https://slaptijack.com/articles/developer-platform-health-signals-that-lead-to-action.html", "published_at": "2026-09-09T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0ecf7fd6e", "title": "What Should an AI Coding Agent Pilot Prove?", "url": "https://slaptijack.com/articles/what-should-an-ai-coding-agent-pilot-prove.html", "published_at": "2026-09-07T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0ed1b38fa", "title": "Give AI Coding Agents a Change Budget Before You Give Them a Repository", "url": "https://slaptijack.com/articles/give-ai-coding-agents-a-change-budget-before-you-give-them-a-repository.html", "published_at": "2026-09-04T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0edb447b9", "title": "A Safe Developer Feedback Loop for AI Agents", "url": "https://slaptijack.com/articles/a-safe-developer-feedback-loop-for-ai-agents.html", "published_at": "2026-09-02T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0ee5acd28", "title": "How To Measure AI-Assisted Engineering Productivity Without Turning Developers Into Telemetry", "url": "https://slaptijack.com/articles/how-to-measure-ai-assisted-engineering-productivity-without-turning-developers-into-telemetry.html", "published_at": "2026-08-31T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0ee8fb749", "title": "How To Design AI-Agent Handoffs That a Human Reviewer Can Actually Trust", "url": "https://slaptijack.com/articles/how-to-design-ai-agent-handoffs-that-a-human-reviewer-can-actually-trust.html", "published_at": "2026-08-28T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0ef03e237", "title": "How To Run a Focused Terminal Investigation Without Losing the Evidence", "url": "https://slaptijack.com/articles/how-to-run-a-focused-terminal-investigation-without-losing-the-evidence.html", "published_at": "2026-08-26T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0ef410fd6", "title": "How To Turn Agent Investigation Notes Into an Engineering Plan", "url": "https://slaptijack.com/articles/how-to-turn-agent-investigation-notes-into-an-engineering-plan.html", "published_at": "2026-08-24T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0efa5c978", "title": "Ghostty Vs. iTerm2 For Developers: Which Terminal Workflow Fits Your Work?", "url": "https://slaptijack.com/articles/ghostty-vs-iterm2-for-developers-which-terminal-workflow-fits-your-work.html", "published_at": "2026-08-21T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0efc4068f", "title": "Ghostty, tmux, And SSH: A Terminal Workflow That Survives Context Switching", "url": "https://slaptijack.com/articles/ghostty-tmux-and-ssh-a-terminal-workflow-that-survives-context-switching.html", "published_at": "2026-08-19T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0f0551af2", "title": "How To Configure Ghostty For A Productive macOS Development Terminal", "url": "https://slaptijack.com/articles/how-to-configure-ghostty-for-a-productive-macos-development-terminal.html", "published_at": "2026-08-17T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0f0dcb19d", "title": "Switching From iTerm2 To Ghostty: What Changes In A Mac Developer Workflow", "url": "https://slaptijack.com/articles/switching-from-iterm2-to-ghostty-what-changes-in-a-mac-developer-workflow.html", "published_at": "2026-08-14T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0f0f38f3b", "title": "How To Place Home Wi-Fi Access Points Without Guessing", "url": "https://slaptijack.com/articles/how-to-place-home-wifi-access-points-without-guessing.html", "published_at": "2026-08-12T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0f0f5f5d8", "title": "How To Choose an Ethernet Switch for a Home Network Without Buying a Rack", "url": "https://slaptijack.com/articles/how-to-choose-an-ethernet-switch-for-a-home-network-without-buying-a-rack.html", "published_at": "2026-08-10T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0f14cb79d", "title": "How To Use 6 GHz Wi-Fi at Home Without Sacrificing Coverage", "url": "https://slaptijack.com/articles/how-to-use-6-ghz-wi-fi-at-home-without-sacrificing-coverage.html", "published_at": "2026-08-07T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0f1513dfd", "title": "How To Measure Home Network Latency Before and After a Change", "url": "https://slaptijack.com/articles/how-to-measure-home-network-latency-before-and-after-a-change.html", "published_at": "2026-08-05T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0f222c231", "title": "A Practical Home Network Upgrade Order: Fix Coverage, Backhaul, Then Router Features", "url": "https://slaptijack.com/articles/a-practical-home-network-upgrade-order.html", "published_at": "2026-08-03T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0f28a46fc", "title": "Wi-Fi 7 Mesh Networks: When Multi-Link Operation Helps—and When Wired Backhaul Still Wins", "url": "https://slaptijack.com/articles/wi-fi-7-mesh-networks-when-multi-link-operation-helps.html", "published_at": "2026-07-31T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0f313a027", "title": "How To Diagnose Bad Wi-Fi Before Buying a New Router", "url": "https://slaptijack.com/articles/how-to-diagnose-bad-wi-fi-before-buying-a-new-router.html", "published_at": "2026-07-29T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0f406c2a2", "title": "Wi-Fi 8 vs. Wi-Fi 7: Why Reliability Matters More Than Another Speed Claim", "url": "https://slaptijack.com/articles/wi-fi-8-vs-wi-fi-7-why-reliability-matters-more-than-another-speed-claim.html", "published_at": "2026-07-27T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0f45942d9", "title": "Promotion Readiness Is Not The Same As Being Good At Your Current Job", "url": "https://slaptijack.com/articles/promotion-readiness-is-not-the-same-as-being-good-at-your-current-job.html", "published_at": "2026-07-24T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0f4adce36", "title": "How To Build Scope Without Becoming The Team’s Escalation Queue", "url": "https://slaptijack.com/articles/how-to-build-scope-without-becoming-the-teams-escalation-queue.html", "published_at": "2026-07-22T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0f5330a04", "title": "How Engineering Managers Can Coach Senior ICs Without Turning Them Into Managers", "url": "https://slaptijack.com/articles/how-engineering-managers-can-coach-senior-ics-without-turning-them-into-managers.html", "published_at": "2026-07-20T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0f5960681", "title": "The Difference Between Staff Engineer Impact And Senior Engineer Output", "url": "https://slaptijack.com/articles/the-difference-between-staff-engineer-impact-and-senior-engineer-output.html", "published_at": "2026-07-17T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0f695848f", "title": "Why Senior Engineers Stall Before Staff Engineer", "url": "https://slaptijack.com/articles/why-senior-engineers-stall-before-staff-engineer.html", "published_at": "2026-07-15T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0f6e84813", "title": "How To Write Agent Prompts That Produce Reviewable Pull Requests", "url": "https://slaptijack.com/articles/how-to-write-agent-prompts-that-produce-reviewable-pull-requests.html", "published_at": "2026-07-13T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0f7c10507", "title": "How To Decide When A Build Tool Wrapper Has Become A Platform", "url": "https://slaptijack.com/articles/how-to-decide-when-a-build-tool-wrapper-has-become-a-platform.html", "published_at": "2026-07-10T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0f7eeb24f", "title": "What Actually Changes When You Move From Senior Engineer To Staff Engineer", "url": "https://slaptijack.com/articles/what-actually-changes-when-you-move-from-senior-engineer-to-staff-engineer.html", "published_at": "2026-07-08T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0f8d2edce", "title": "How To Review CI Failures With AI Without Turning Off Your Judgment", "url": "https://slaptijack.com/articles/how-to-review-ci-failures-with-ai-without-turning-off-your-judgment.html", "published_at": "2026-07-06T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0f8f2ec6b", "title": "How To Keep AI Coding Agent Changes Small Enough To Review", "url": "https://slaptijack.com/articles/how-to-keep-ai-coding-agent-changes-small-enough-to-review.html", "published_at": "2026-07-03T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0f95316d9", "title": "How To Make Build Failures Reproducible Before They Become CI Mysteries", "url": "https://slaptijack.com/articles/how-to-make-build-failures-reproducible-before-they-become-ci-mysteries.html", "published_at": "2026-07-01T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0f9e243cc", "title": "How To Design CI Output That Humans Can Actually Debug", "url": "https://slaptijack.com/articles/how-to-design-ci-output-that-humans-can-actually-debug.html", "published_at": "2026-06-29T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0fa1fc013", "title": "When To Trust AI Coding Agent Refactors", "url": "https://slaptijack.com/articles/when-to-trust-ai-coding-agent-refactors.html", "published_at": "2026-06-26T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0faa089d2", "title": "How To Debug Bazel Remote Cache Misses Without Guessing", "url": "https://slaptijack.com/articles/how-to-debug-bazel-remote-cache-misses-without-guessing.html", "published_at": "2026-06-24T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0fb091a58", "title": "Making Local CI Commands Boring Enough for Humans and AI Agents", "url": "https://slaptijack.com/articles/making-local-ci-commands-boring-enough-for-humans-and-ai-agents.html", "published_at": "2026-06-22T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0fb9a7492", "title": "Reviewing AI-Written Tests Without Fooling Yourself", "url": "https://slaptijack.com/articles/reviewing-ai-written-tests-without-fooling-yourself.html", "published_at": "2026-06-19T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0fc9a4dd7", "title": "When Remote Build Caching Is Worth It", "url": "https://slaptijack.com/articles/when-remote-build-caching-is-worth-it.html", "published_at": "2026-06-17T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0fccd132b", "title": "Designing Guardrails for AI-Generated Pull Requests", "url": "https://slaptijack.com/articles/designing-guardrails-for-ai-generated-pull-requests.html", "published_at": "2026-06-15T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0fd82d30a", "title": "Bazel vs. Make vs. Just: Choosing Build Tools for Real Engineering Teams", "url": "https://slaptijack.com/articles/bazel-vs-make-vs-just-choosing-build-tools-for-real-engineering-teams.html", "published_at": "2026-06-12T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0fdac826a", "title": "How to Use AI Coding Agents Without Losing Engineering Judgment", "url": "https://slaptijack.com/articles/how-to-use-ai-coding-agents-without-losing-engineering-judgment.html", "published_at": "2026-06-10T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0fe3d8d3d", "title": "Migrating from WORKSPACE to Bzlmod Without Making Your Build Weird", "url": "https://slaptijack.com/articles/migrating-bazel-workspace-to-bzlmod.html", "published_at": "2026-06-08T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0fed9801b", "title": "Bazel 9.1.0: What Changed and How to Think About the Upgrade", "url": "https://slaptijack.com/articles/bazel-9-1-0.html", "published_at": "2026-06-05T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0ff7f3e3c", "title": "The Staff Engineer's Path Review", "url": "https://slaptijack.com/articles/the-staff-engineers-path-review.html", "published_at": "2026-05-25T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad0ff862ea5", "title": "A Philosophy of Software Design, 2nd Edition Review", "url": "https://slaptijack.com/articles/a-philosophy-of-software-design-2nd-edition-review.html", "published_at": "2026-04-29T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad100793563", "title": "Designing Data-Intensive Applications, 2nd Edition Review", "url": "https://slaptijack.com/articles/designing-data-intensive-applications-2nd-edition-review.html", "published_at": "2026-03-30T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad10148d4b4", "title": "Bazel 8.0.0: What Changed and How to Upgrade Without Surprises", "url": "https://slaptijack.com/articles/bazel-8-0.html", "published_at": "2024-12-09T08:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad1022fa225", "title": "Building a Full-Stack LangChain Prototype for Natural Language Developer Queries", "url": "https://slaptijack.com/articles/building-a-full-stack-langchain-prototype-for-natural-language-developer-queries.html", "published_at": "2024-09-30T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad10238a953", "title": "Bringing AI to Backstage: Building an LLM-Powered Developer Portal", "url": "https://slaptijack.com/articles/bringing-ai-to-backstage.html", "published_at": "2024-09-28T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad10267f4bf", "title": "Beyond Git: Using LLMs to Power Your Internal Developer Portals", "url": "https://slaptijack.com/articles/beyond-git-using-llms-to-power-your-internal-developer-portals.html", "published_at": "2024-09-26T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad1029c3d67", "title": "Explaining Bazel Build Failures with OpenAI: Automating Log Summarization", "url": "https://slaptijack.com/articles/explaining-build-failures-with-openai-automating-log-summarization.html", "published_at": "2024-09-24T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad103227bc7", "title": "AI-Assisted Log Analysis: Building a Git Hook That Explains Your Build Failures", "url": "https://slaptijack.com/articles/ai-assisted-log-analysis.html", "published_at": "2024-09-22T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad1037a0750", "title": "How to Write Secure Prompts for AI-Driven Developer Workflows", "url": "https://slaptijack.com/articles/how-to-write-secure-prompts-for-developer-worflows.html", "published_at": "2024-09-20T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad103b33a01", "title": "Building an AI-Powered Pre-Push Policy Validator with OpenAI", "url": "https://slaptijack.com/articles/building-an-ai-powered-pre-push-validator.html", "published_at": "2024-09-18T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad103e3a7dd", "title": "Post-Merge Git Hook: Summarizing Changes with OpenAI", "url": "https://slaptijack.com/articles/post-merge-git-hook-summarizing-changes-with-openai.html", "published_at": "2024-09-16T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad104cede4a", "title": "Auto-Generating Changelogs with Git Hooks and OpenAI", "url": "https://slaptijack.com/articles/auto-generating-changelogs-with-git-hooks-and-openai.html", "published_at": "2024-09-14T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad1055011cc", "title": "Creating a Downloadable Git Hook Template Repo for Your AI-Powered CLI", "url": "https://slaptijack.com/articles/creating-a-downloadable-git-hook-template-repo-for-your-ai-powered-cli.html", "published_at": "2024-09-12T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad1060d4f3b", "title": "Packaging Your AI-Powered Git Hook as a Python CLI Tool", "url": "https://slaptijack.com/articles/packaging-your-ai-powered-git-hook.html", "published_at": "2024-09-10T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad1067bfc78", "title": "Beyond Bash: Writing Intelligent Git Hooks with Python and LLMs", "url": "https://slaptijack.com/articles/beyond-bash-writing-intelligent-git-hooks-with-python-and-llms.html", "published_at": "2024-09-08T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad106a21a0f", "title": "Building Your Own Git Assistant with OpenAI and Python", "url": "https://slaptijack.com/articles/building-your-own-ai-powered-git-assistant.html", "published_at": "2024-09-06T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad10751ec3b", "title": "AI-Powered GitOps: Automating DevOps Workflows with LLMs", "url": "https://slaptijack.com/articles/ai-powered-gitops.html", "published_at": "2024-09-04T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad1081fa5b5", "title": "Git Rebase vs. Merge: Choose a History Shape Deliberately", "url": "https://slaptijack.com/articles/git-rebase-vs-merge.html", "published_at": "2024-09-02T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad108e5e21f", "title": "The Evolution of Source Code Management: From SVN to AI-Powered Git", "url": "https://slaptijack.com/articles/evolution-of-source-code-mgmt.html", "published_at": "2024-08-31T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad1098d5af8", "title": "Understanding the “Semaphore Released Too Many Times” gsutil Error", "url": "https://slaptijack.com/articles/gsutil-semaphore-released-too-many-times.html", "published_at": "2024-08-29T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad10a55127c", "title": "Counting Lines of Code by Language Using Only Unix Tools", "url": "https://slaptijack.com/articles/counting-lines-of-code-by-language-unix-only.html", "published_at": "2024-08-27T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad10aa28877", "title": "How to Count Lines of Code by Language in a Git Repository", "url": "https://slaptijack.com/articles/counting-lines-of-code-by-language.html", "published_at": "2024-08-25T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad10ac452ce", "title": "Counting Bazel Targets by Top-Level Directory", "url": "https://slaptijack.com/articles/counting-bazel-targets-tld.html", "published_at": "2024-08-23T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad10b468483", "title": "Best Practices, Advanced Topics, and Choosing the Right Tool for Cross-Language RPC", "url": "https://slaptijack.com/articles/client-server-wrapup.html", "published_at": "2024-08-21T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad10b8a1832", "title": "Protobuf in Rust: Integrating Another Language into the gRPC Ecosystem", "url": "https://slaptijack.com/articles/client-server-protobuf-and-rust.html", "published_at": "2024-08-19T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad10c8160f3", "title": "Introducing Protobuf and gRPC: Building a Java Server and Python Client", "url": "https://slaptijack.com/articles/client-server-starting-with-protobuf.html", "published_at": "2024-08-17T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad10d70d82e", "title": "Expanding Thrift with Rust: Adding a Third Language to the Mix", "url": "https://slaptijack.com/articles/client-server-thrift-and-rust.html", "published_at": "2024-08-15T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad10e01c267", "title": "Getting Started with Thrift: Building a Java Server and Python Client", "url": "https://slaptijack.com/articles/client-server-starting-with-thrift.html", "published_at": "2024-08-13T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad10e7b0b02", "title": "Introduction to Thrift and Protobuf: Laying the Foundation for Cross-Language RPC", "url": "https://slaptijack.com/articles/client-server-intro.html", "published_at": "2024-08-11T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad10f15fc14", "title": "Comparing Thrift and Protobuf: Choosing the Right Data Serialization Framework", "url": "https://slaptijack.com/articles/comparing-thrift-and-protobuf.html", "published_at": "2024-08-09T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad10f2b3d0f", "title": "Hermeticity Best Practices for Open Source Projects", "url": "https://slaptijack.com/articles/hermeticity-best-practices-for-open-source.html", "published_at": "2024-08-07T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad10fe5255b", "title": "Overcoming Challenges to Achieve Hermeticity in Large Codebases", "url": "https://slaptijack.com/articles/overcoming-hermeticity-challenges-in-large-codebases.html", "published_at": "2024-08-05T07:00:00+00:00" }, { "id": "01a087e2-27ed-71ca-b297-2ad110cf1c02", "title": "Implementing Hermetic Builds in Your CI/CD Pipeline", "url": "https://slaptijack.com/articles/implementing-hermetic-builds.html", "published_at": "2024-08-03T07:00:00+00:00" }, { "id": "01a087e2-27ee-72b9-b848-b1d4d6611450", "title": "GitHub Copilot vs. Amazon Q Developer: Choose for Your Engineering Environment", "url": "https://slaptijack.com/articles/github-copilot-vs-amazon-q-developer.html", "published_at": "2024-08-01T07:00:00+00:00" }, { "id": "01a087e2-27ee-72b9-b848-b1d4d6dcf4bb", "title": "Comparing Python's Quart vs FastAPI: Which Async Framework Is Right for You?", "url": "https://slaptijack.com/articles/python-quart-vs-fastapi.html", "published_at": "2024-07-30T07:00:00+00:00" }, { "id": "01a087e2-27ee-72b9-b848-b1d4d74f875f", "title": "Conclusion: Next Steps and Additional Resources", "url": "https://slaptijack.com/articles/chatbot-conclusion-and-next-steps.html", "published_at": "2024-07-28T07:00:00+00:00" }, { "id": "01a087e2-27ee-72b9-b848-b1d4d762166e", "title": "Deploying Your Chatbot as a Web Application", "url": "https://slaptijack.com/articles/deploying-your-chatbot-as-a-web-app.html", "published_at": "2024-07-26T07:00:00+00:00" }, { "id": "01a087e2-27ee-72b9-b848-b1d4d85e497a", "title": "Customizing the Chatbot's Personality", "url": "https://slaptijack.com/articles/customizing-the-chatbots-personality.html", "published_at": "2024-07-24T07:00:00+00:00" }, { "id": "01a087e2-27ee-72b9-b848-b1d4d8f06fa0", "title": "Enhancing the Chatbot with Contextual Awareness", "url": "https://slaptijack.com/articles/enhancing-the-chatbot-with-context.html", "published_at": "2024-07-22T07:00:00+00:00" }, { "id": "01a087e2-27ee-72b9-b848-b1d4d9a6baab", "title": "Building a Basic Chatbot Interface", "url": "https://slaptijack.com/articles/building-a-basic-chatbot-interface.html", "published_at": "2024-07-20T07:00:00+00:00" }, { "id": "01a087e2-27ee-72b9-b848-b1d4da728835", "title": "Making Your First API Call with OpenAI", "url": "https://slaptijack.com/articles/chatbot-making-your-first-api-call.html", "published_at": "2024-07-18T07:00:00+00:00" }, { "id": "01a087e2-27ee-72b9-b848-b1d4da8f79c2", "title": "Setting Up Your Development Environment", "url": "https://slaptijack.com/articles/chatbot-setting-up-your-dev-environment.html", "published_at": "2024-07-16T07:00:00+00:00" }, { "id": "01a087e2-27ee-72b9-b848-b1d4daa9872d", "title": "Introduction to Chatbots and the OpenAI API", "url": "https://slaptijack.com/articles/intro-to-chatbots-and-the-openai-api.html", "published_at": "2024-07-14T07:00:00+00:00" }, { "id": "01a087e2-27ee-72b9-b848-b1d4db05c159", "title": "Building a Chatbot with Python and the OpenAI API: A Comprehensive Series", "url": "https://slaptijack.com/articles/building-a-chatbot-with-python-and-openai.html", "published_at": "2024-07-12T07:00:00+00:00" }, { "id": "01a087e2-27ee-72b9-b848-b1d4db99ca3c", "title": "Mastering Vim in VS Code: Boosting Developer Productivity", "url": "https://slaptijack.com/articles/mastering-vim-in-vscode.html", "published_at": "2024-07-10T07:00:00+00:00" }, { "id": "01a087e2-27ee-72b9-b848-b1d4dc863841", "title": "Continuous Learning and Professional Growth: Investing in Developer Productivity", "url": "https://slaptijack.com/articles/continuous-learning-for-dev-prod.html", "published_at": "2024-07-08T07:00:00+00:00" }, { "id": "01a087e2-27ee-72b9-b848-b1d4dcc5207d", "title": "Mastering the Pomodoro Technique: A Developer's Guide to Enhanced Focus and Productivity", "url": "https://slaptijack.com/articles/mastering-the-pomodoro-technique.html", "published_at": "2024-07-06T07:00:00+00:00" }, { "id": "01a087e2-27ee-72b9-b848-b1d4dd9dafc8", "title": "The Role of Team Collaboration and Communication in Developer Productivity", "url": "https://slaptijack.com/articles/role-of-team-collaboration-in-dev-prod.html", "published_at": "2024-07-06T07:00:00+00:00" }, { "id": "01a087e2-27ee-72b9-b848-b1d4ddbc097d", "title": "Best Practices for Effective Time Management and Focus in Software Development", "url": "https://slaptijack.com/articles/best-practices-for-effective-time-management.html", "published_at": "2024-07-04T07:00:00+00:00" }, { "id": "01a087e2-27ee-72b9-b848-b1d4de57b23e", "title": "Essential Tools and Technologies to Enhance Developer Productivity", "url": "https://slaptijack.com/articles/essential-tools-for-developer-productivity.html", "published_at": "2024-07-02T07:00:00+00:00" }, { "id": "01a087e2-27ee-72b9-b848-b1d4de61c974", "title": "Python CSV error on new-line character in unquoted field", "url": "https://slaptijack.com/articles/python-csv-error-on-new-line-character-in-unquoted-field.html", "published_at": "2024-06-30T07:00:00+00:00" } ] posts Claim your blog
Back to slaptijack.com
Blog · corpus.blog/blogs/slaptijack.com/posts

slaptijack.com

slaptijack.com

2026

2024