41554 blogs · [ { "id": "01a08781-5cb1-7214-9e1f-73799c2a8011", "title": "When AI Writes the Code, Who Owns the Change?", "url": "https://happihacking.com/blog/posts/2026/when-ai-writes-the-code-who-owns-the-change/", "published_at": "2026-09-04T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-73799cc68f80", "title": "Architecture Amnesia", "url": "https://happihacking.com/blog/posts/2026/architecture-amnesia/", "published_at": "2026-09-03T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-73799d3860b3", "title": "Staff, Not Author", "url": "https://happihacking.com/blog/posts/2026/staff-not-author/", "published_at": "2026-08-10T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-73799d4f278c", "title": "From Markdown to Print", "url": "https://happihacking.com/blog/posts/2026/from-markdown-to-print/", "published_at": "2026-08-09T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-73799dc2389c", "title": "The Words You Do Not Have", "url": "https://happihacking.com/blog/posts/2026/the-words-you-do-not-have/", "published_at": "2026-08-07T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-73799de2ced9", "title": "Why I Wrote a Tech Thriller", "url": "https://happihacking.com/blog/posts/2026/why-i-wrote-a-tech-thriller/", "published_at": "2026-08-06T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-73799df04968", "title": "When Exports Become Accidental APIs", "url": "https://happihacking.com/blog/posts/2026/when-exports-become-accidental-apis/", "published_at": "2026-05-19T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-73799e1e8167", "title": "The Shared State of Isolation.", "url": "https://happihacking.com/blog/posts/2026/the-erlang-isolation-trap/", "published_at": "2026-03-29T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-73799eb965ef", "title": "Your Code Has No Memory", "url": "https://happihacking.com/blog/posts/2026/your-code-has-no-memory/", "published_at": "2026-03-26T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-73799f7f1da4", "title": "The Late-Night Feeling of Wonder", "url": "https://happihacking.com/blog/posts/2026/the-late-night-feeling-of-wonder/", "published_at": "2026-03-16T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379a07cb4b8", "title": "Why I Built a Course on the BEAM", "url": "https://happihacking.com/blog/posts/2026/why_I_built_a_course_on_the_beam/", "published_at": "2026-03-11T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379a1572770", "title": "Observers: The Watchful Gnomes of the Village", "url": "https://happihacking.com/blog/posts/2025/observers/", "published_at": "2025-12-12T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379a16f99fe", "title": "Gatekeepers: The Traffic Controllers of the Gnome Village", "url": "https://happihacking.com/blog/posts/2025/gatekeepers/", "published_at": "2025-12-08T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379a2564502", "title": "Routers: Processes That Only Decide Where Stuff Goes", "url": "https://happihacking.com/blog/posts/2025/routers/", "published_at": "2025-11-26T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379a34fb383", "title": "Resource Owners: One Process, One Piece of State", "url": "https://happihacking.com/blog/posts/2025/resource_owners/", "published_at": "2025-11-24T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379a358b2a9", "title": "Workers: Do One Job, Then Get Out of the Way", "url": "https://happihacking.com/blog/posts/2025/workers/", "published_at": "2025-11-22T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379a385888e", "title": "Process Archetypes: The Roles in the Gnome Village", "url": "https://happihacking.com/blog/posts/2025/process_archetypes/", "published_at": "2025-11-21T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379a389b7b9", "title": "Gnomes, Domains, and Flows: Putting It Together", "url": "https://happihacking.com/blog/posts/2025/gnomes-domains-flows-putting-it-together/", "published_at": "2025-11-12T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379a41d0577", "title": "Flows Keep Work Moving", "url": "https://happihacking.com/blog/posts/2025/flows-keep-work-moving/", "published_at": "2025-11-12T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379a44960a9", "title": "Domains Own Code and Data", "url": "https://happihacking.com/blog/posts/2025/domains-own-code-and-data/", "published_at": "2025-11-12T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379a4b0cca8", "title": "Gnomes, Domains, and Flows", "url": "https://happihacking.com/blog/posts/2025/gnomes-domains-flows/", "published_at": "2025-11-12T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379a4dbba93", "title": "Supervisors Are Managers", "url": "https://happihacking.com/blog/posts/2025/supervisors-are-managers/", "published_at": "2025-11-11T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379a5bc1cff", "title": "The Gnome Village", "url": "https://happihacking.com/blog/posts/2025/the-gnome-village/", "published_at": "2025-11-06T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379a6a6ac66", "title": "Exposing the 'Multibank Crypto Poker' Recruitment Scam", "url": "https://happihacking.com/blog/posts/2025/recruitment_scam/", "published_at": "2025-08-20T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379a6ddf5ab", "title": "Exactly once", "url": "https://happihacking.com/blog/posts/2025/exacly_once/", "published_at": "2025-08-19T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379a7ab43ff", "title": "Assembler, Stepper Motors, and a Hotel Pool", "url": "https://happihacking.com/blog/posts/2025/statt_background/", "published_at": "2025-08-18T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379a8389e04", "title": "Why I Wrote the BEAM Book", "url": "https://happihacking.com/blog/posts/2025/why_I_wrote_theBEAMBook/", "published_at": "2025-06-03T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379a8c82a91", "title": "Your Finance Stack Is Lying to You", "url": "https://happihacking.com/blog/posts/2025/fintech_complexity/", "published_at": "2025-05-22T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379a9c0faed", "title": "AI Rubber Ducking: When Your Duck Starts Talking Back", "url": "https://happihacking.com/blog/posts/2025/ai_duck/", "published_at": "2025-04-01T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379aa160c0f", "title": "The BEAM Book Is Almost Done. Here's What Writing It Taught Me.", "url": "https://happihacking.com/blog/posts/2025/the_beam_book_lessons/", "published_at": "2025-03-25T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379aa9e4f79", "title": "Why Some Fintechs Scale Seamlessly; and Others Crash and Burn", "url": "https://happihacking.com/blog/posts/2025/fintech_fails/", "published_at": "2025-03-18T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379ab609925", "title": "Summon Your AI Sidekick: Building a Tireless Personal Coach", "url": "https://happihacking.com/blog/posts/2025/ai_coach/", "published_at": "2025-03-11T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379aba5d951", "title": "The Best Issue Ever Reported on GitHub", "url": "https://happihacking.com/blog/posts/2025/an_issue/", "published_at": "2025-03-06T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379ac9e73e3", "title": "Hyperchains: Your Own L1 with Aeternity Tech", "url": "https://happihacking.com/blog/posts/2025/hyperchains/", "published_at": "2025-03-05T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379ad07a26a", "title": "Synchronous vs. Asynchronous: Clearing the Confusion", "url": "https://happihacking.com/blog/posts/2025/asynchp/", "published_at": "2025-02-25T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379adc51b03", "title": "RabbitMQ Reliability: A Reality Check", "url": "https://happihacking.com/blog/posts/2025/rabbitmq/", "published_at": "2025-02-24T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379ae39fc6d", "title": "Forget Microservices: Just Use Erlang.", "url": "https://happihacking.com/blog/posts/2025/the_monolith/", "published_at": "2025-02-21T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379ae566258", "title": "The Hidden Cost of Bad Payment Architecture", "url": "https://happihacking.com/blog/the-hidden-cost-of-bad-payment-architecture/", "published_at": "2025-02-20T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379af4adb28", "title": "Opinions: Just the Facts, 11 Years Later", "url": "https://happihacking.com/blog/posts/2025/opinions/", "published_at": "2025-02-19T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379b0111b81", "title": "Microservices Are NOT an Excuse for Chaos", "url": "https://happihacking.com/blog/posts/2025/microsevices/", "published_at": "2025-02-18T00:00:00+00:00" }, { "id": "01a08781-5cb1-7214-9e1f-7379b089fca5", "title": "Getting the hang of Rebar3", "url": "https://happihacking.com/blog/posts/2025/rebar/", "published_at": "2025-01-07T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763e6130d48", "title": "Why Windows 11 Virtual Desktop Switching Is Slow", "url": "https://happihacking.com/blog/posts/2024/slow_virtual_desktop_switching/", "published_at": "2024-12-17T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763e65c1b7f", "title": "Developer Productivity for Early-Career Engineers", "url": "https://happihacking.com/blog/posts/2024/gen_z_dev_course/", "published_at": "2024-11-26T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763e6ab6bad", "title": "Developer Productivity for Experienced Engineers", "url": "https://happihacking.com/blog/posts/2024/gen_x_dev_course/", "published_at": "2024-11-26T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763e6e56c5c", "title": "Developer Productivity", "url": "https://happihacking.com/blog/posts/2024/developer_productivity/", "published_at": "2024-11-26T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763e7ca6d5a", "title": "Dev Containers Part 3: UIDs and file ownership", "url": "https://happihacking.com/blog/posts/2024/dev-containers-uids/", "published_at": "2024-10-29T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763e8305575", "title": "Enhancing Fintech Security with Erlang", "url": "https://happihacking.com/blog/posts/2024/security_for_fintech/", "published_at": "2024-09-24T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763e91a4027", "title": "How Erlang Powers High-Volume Finance", "url": "https://happihacking.com/blog/posts/2024/erlang_for_fintech/", "published_at": "2024-09-11T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763e9afaceb", "title": "TIPS and RIX-Inst: Navigating the Future of Real-Time Payments in the EU", "url": "https://happihacking.com/blog/posts/2024/tips/", "published_at": "2024-09-03T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763eaa53c55", "title": "Developer Types", "url": "https://happihacking.com/blog/posts/2024/the_elephant/", "published_at": "2024-05-15T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763eafb7816", "title": "The Quest for Enhanced Productivity in Software Development", "url": "https://happihacking.com/blog/posts/2024/team_performace/", "published_at": "2024-04-28T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763ebe0a789", "title": "Designing Concurrent Systems on the BEAM", "url": "https://happihacking.com/blog/posts/2024/designing_concurrency/", "published_at": "2024-03-09T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763ec029c49", "title": "Three Decades with Erlang", "url": "https://happihacking.com/blog/posts/2023/erlang-history/", "published_at": "2023-12-14T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763ec325ef6", "title": "Recovering from a Hacked Social Media Account", "url": "https://happihacking.com/blog/posts/2023/hacked/", "published_at": "2023-10-17T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763ed236bd4", "title": "Dev Containers Part 2: Setup, the devcontainer CLI & Emacs", "url": "https://happihacking.com/blog/posts/2023/dev-containers-emacs/", "published_at": "2023-08-11T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763ed9a9694", "title": "Dev Containers: Consistency in Development", "url": "https://happihacking.com/blog/posts/2023/dev-containers/", "published_at": "2023-07-24T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763edb7b6d3", "title": "Seamless Productivity with Mouse without Borders", "url": "https://happihacking.com/blog/posts/2023/mouse_without_borders/", "published_at": "2023-06-21T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763ee9e27cc", "title": "Neural Networks in Elixir", "url": "https://happihacking.com/blog/posts/2023/neural_networks_elixir/", "published_at": "2023-06-19T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763ef35ae67", "title": "AI Laser Metal Cutting - Part 3", "url": "https://happihacking.com/blog/posts/2023/2dpacking-3/", "published_at": "2023-06-16T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763efa37c16", "title": "AI Laser Metal Cutting - Part 2", "url": "https://happihacking.com/blog/posts/2023/2dpacking-2/", "published_at": "2023-06-15T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763f04178b0", "title": "AI Laser Metal Cutting - Part 1", "url": "https://happihacking.com/blog/posts/2023/2dpacking-1/", "published_at": "2023-06-14T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763f0b67502", "title": "Audits through Merkle Root Hashes", "url": "https://happihacking.com/blog/posts/2023/blockchain-audit/", "published_at": "2023-06-09T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763f123dd41", "title": "It is never about technology - until it is", "url": "https://happihacking.com/blog/posts/2023/its_not_technology/", "published_at": "2023-06-06T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763f1cd41e1", "title": "Book Review \"The Goal - A Process of Ongoing Improvement\" by Eliyahu M. Goldratt and Jeff Cox", "url": "https://happihacking.com/blog/posts/2023/the_goal/", "published_at": "2023-06-02T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763f24c5074", "title": "Taba the story", "url": "https://happihacking.com/blog/posts/2023/taba_story/", "published_at": "2023-06-01T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763f2dfb1f4", "title": "How We Designed FATE", "url": "https://happihacking.com/blog/posts/2023/fate/", "published_at": "2023-05-31T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763f3073f2e", "title": "Unleashing the Power of Erlang's BEAM", "url": "https://happihacking.com/blog/posts/2023/delta/", "published_at": "2023-05-30T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763f36cf334", "title": "Rapid Prototyping", "url": "https://happihacking.com/blog/posts/2023/iot_pipeline/", "published_at": "2023-05-29T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763f39cd071", "title": "Taming the Spaghetti Monster: The Birth of Kappa", "url": "https://happihacking.com/blog/posts/2023/kappa/", "published_at": "2023-05-26T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763f3ad0772", "title": "The Happy Path Method", "url": "https://happihacking.com/blog/posts/2023/the_happy_path/", "published_at": "2023-05-25T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763f40835ed", "title": "HappiHacking's Just in Time Development", "url": "https://happihacking.com/blog/posts/2023/Installment_plans/", "published_at": "2023-05-24T00:00:00+00:00" }, { "id": "01a08781-5cb2-72e1-84d8-2763f41dacd1", "title": "Unlocking Performance: Introducing HappiHacking's New Course on BEAM", "url": "https://happihacking.com/blog/posts/2023/course_on_beam/", "published_at": "2023-05-23T00:00:00+00:00" } ] posts Claim your blog
Back to happihacking.com
Blog · corpus.blog/blogs/happihacking.com/posts

happihacking.com

happihacking.com

2026

2025

2024

2023