41554 blogs · [ { "id": "01a0878e-a278-7237-bfdc-75935d1cf1cf", "title": "Login with PDF", "url": "https://joaomagfreitas.link/login-with-pdf/", "published_at": "2025-09-17T00:00:00+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75935da1d428", "title": "For years I’ve always wanted to be an open-source maintainer", "url": "https://joaomagfreitas.link/for-years-ive-always-wanted-to-be-an-open-source-maintainer/", "published_at": "2025-08-28T00:00:00+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75935ddace3d", "title": "I vibe coded for two weeks", "url": "https://joaomagfreitas.link/i-vibe-coded-for-two-weeks/", "published_at": "2025-06-11T00:00:00+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75935e788ca8", "title": "Abandoned Projects", "url": "https://joaomagfreitas.link/abandoned-projects/", "published_at": "2025-01-09T00:00:00+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75935f2aaae3", "title": "Zero Monitor", "url": "https://joaomagfreitas.link/projects/zero-monitor/", "published_at": "2024-12-16T00:00:00+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75935f378d50", "title": "Instagram Archiver", "url": "https://joaomagfreitas.link/projects/instagram-archiver/", "published_at": "2024-10-12T00:00:00+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75935fdc628b", "title": "Dotfiles", "url": "https://joaomagfreitas.link/projects/dotfiles/", "published_at": "2024-09-17T00:00:00+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75935fe440c9", "title": "Scripts should be written using the project main language", "url": "https://joaomagfreitas.link/scripts-should-be-written-using-the-project-main-language/", "published_at": "2024-03-24T12:38:42+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75936041b6df", "title": "Why you should use a terminal editor to write a commit message", "url": "https://joaomagfreitas.link/why-you-should-use-a-terminal-editor-to-write-a-commit-message/", "published_at": "2024-03-20T19:38:42+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75936057347f", "title": "I read a technical article everyday this year", "url": "https://joaomagfreitas.link/i-read-a-technical-article-everyday-this-year/", "published_at": "2023-12-31T17:23:23+00:00" }, { "id": "01a0878e-a278-7237-bfdc-759360a6b77b", "title": "Deleting 50,000 Lines of Code in 3 Days", "url": "https://joaomagfreitas.link/reads/deleting-50000-lines-of-code-in-3-days/", "published_at": "2023-12-31T17:00:59+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75936188d95a", "title": "Tracking Java Native Memory With JDK Flight Recorder", "url": "https://joaomagfreitas.link/reads/tracking-java-native-memory-with-jdk-flight-recorder/", "published_at": "2023-12-30T20:28:55+00:00" }, { "id": "01a0878e-a278-7237-bfdc-759361f297de", "title": "Costs of running a macOS app studio business", "url": "https://joaomagfreitas.link/reads/costs-of-running-a-macos-app-studio-business/", "published_at": "2023-12-29T11:34:19+00:00" }, { "id": "01a0878e-a278-7237-bfdc-759361fd5cea", "title": "Explaining SSH to my Uber Driver", "url": "https://joaomagfreitas.link/reads/explaining-ssh-to-my-uber-driver/", "published_at": "2023-12-28T11:29:31+00:00" }, { "id": "01a0878e-a278-7237-bfdc-759362aa2467", "title": "Explaining Kubernetes To My Uber Driver", "url": "https://joaomagfreitas.link/reads/explaining-kubernetes-to-my-uber-driver/", "published_at": "2023-12-27T11:27:50+00:00" }, { "id": "01a0878e-a278-7237-bfdc-7593634b9b9a", "title": "Paying Netflix $0.53/h, etc.", "url": "https://joaomagfreitas.link/reads/paying-netflix-053h-etc/", "published_at": "2023-12-26T11:22:56+00:00" }, { "id": "01a0878e-a278-7237-bfdc-759363c64701", "title": "Discovery is the original sin of the modern age", "url": "https://joaomagfreitas.link/reads/discovery-is-the-original-sin-of-the-modern-age/", "published_at": "2023-12-25T12:43:20+00:00" }, { "id": "01a0878e-a278-7237-bfdc-759364a92571", "title": "Writing Documentation for Your House", "url": "https://joaomagfreitas.link/reads/writing-documentation-for-your-house/", "published_at": "2023-12-24T12:41:34+00:00" }, { "id": "01a0878e-a278-7237-bfdc-7593653749db", "title": "Populating the page: how browsers work", "url": "https://joaomagfreitas.link/reads/populating-the-page-how-browsers-work/", "published_at": "2023-12-23T12:30:09+00:00" }, { "id": "01a0878e-a278-7237-bfdc-759366054da3", "title": "How I test a website for accessibility", "url": "https://joaomagfreitas.link/reads/how-i-test-a-website-for-accessibility/", "published_at": "2023-12-21T07:57:49+00:00" }, { "id": "01a0878e-a278-7237-bfdc-759366259740", "title": "Javascript Proxy Magic: How I built a 2kB state manager with zero dependencies (and how it got me two different job offers)", "url": "https://joaomagfreitas.link/reads/javascript-proxy-magic-how-i-built-a-2kb-state-manager-with-zero-dependencies-and-how-it-got-me-two-different-job-offers/", "published_at": "2023-12-20T08:00:58+00:00" }, { "id": "01a0878e-a278-7237-bfdc-7593667d6114", "title": "All of the writing I did in a week as a software engineer", "url": "https://joaomagfreitas.link/reads/all-of-the-writing-i-did-in-a-week-as-a-software-engineer/", "published_at": "2023-12-19T08:06:56+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75936681d3a9", "title": "Evaluating new software forges", "url": "https://joaomagfreitas.link/reads/evaluating-new-software-forges/", "published_at": "2023-12-18T07:34:48+00:00" }, { "id": "01a0878e-a278-7237-bfdc-759366dc6e38", "title": "Why SQLite Does Not Use Git", "url": "https://joaomagfreitas.link/reads/why-sqlite-does-not-use-git/", "published_at": "2023-12-17T12:14:14+00:00" }, { "id": "01a0878e-a278-7237-bfdc-759367aa431b", "title": "Check if Your Wireless Adapter Supports Monitor Mode & Packet Injection", "url": "https://joaomagfreitas.link/reads/check-if-your-wireless-adapter-supports-monitor-mode-packet-injection/", "published_at": "2023-12-16T12:39:23+00:00" }, { "id": "01a0878e-a278-7237-bfdc-7593688b69e8", "title": "Navigating around in your shell", "url": "https://joaomagfreitas.link/reads/navigating-around-in-your-shell/", "published_at": "2023-12-15T10:06:30+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75936972a22e", "title": "Undefined behavior, and the Sledgehammer Principle", "url": "https://joaomagfreitas.link/reads/undefined-behavior-and-the-sledgehammer-principle/", "published_at": "2023-12-14T09:59:29+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75936a3fdf52", "title": "Learning from the real world: A hardware hobby project", "url": "https://joaomagfreitas.link/reads/learning-from-the-real-world-a-hardware-hobby-project/", "published_at": "2023-12-13T14:47:56+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75936b3b3662", "title": "How to Clean Up Your Local Repository with Git Commands", "url": "https://joaomagfreitas.link/reads/how-to-clean-up-your-local-repository-with-git-commands/", "published_at": "2023-12-12T22:19:31+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75936b7bc2cf", "title": "Get Rid of Your Old Database Migrations", "url": "https://joaomagfreitas.link/reads/get-rid-of-your-old-database-migrations/", "published_at": "2023-12-11T22:24:51+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75936bb8316f", "title": "How Google takes the pain out of code reviews, with 97% dev satisfaction", "url": "https://joaomagfreitas.link/reads/how-google-takes-the-pain-out-of-code-reviews-with-97-dev-satisfaction/", "published_at": "2023-12-10T09:24:18+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75936c1db5de", "title": "Donkey code", "url": "https://joaomagfreitas.link/reads/donkey-code/", "published_at": "2023-12-09T09:12:30+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75936cd4ffe5", "title": "Exploring a 3D city with just HTML and CSS", "url": "https://joaomagfreitas.link/reads/exploring-a-3d-city-with-just-html-and-css/", "published_at": "2023-12-08T09:24:43+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75936d25fb67", "title": "The Cost of Index Everything", "url": "https://joaomagfreitas.link/reads/the-cost-of-index-everything/", "published_at": "2023-12-07T07:47:59+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75936d29f161", "title": "Virtual Machine as a core Android Primitive", "url": "https://joaomagfreitas.link/reads/virtual-machine-as-a-core-android-primitive/", "published_at": "2023-12-06T21:13:13+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75936d52d0a1", "title": "How did I get here", "url": "https://joaomagfreitas.link/reads/how-did-i-get-here/", "published_at": "2023-12-05T10:50:27+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75936d9cb865", "title": "Most AI startups are doomed", "url": "https://joaomagfreitas.link/reads/most-ai-startups-are-doomed/", "published_at": "2023-12-04T09:10:30+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75936dd7eb4f", "title": "Kotlin Unknotting — From Realizing Anti-Patterns to Becoming a Better Developer", "url": "https://joaomagfreitas.link/reads/kotlin-unknotting-from-realizing-anti-patterns-to-becoming-a-better-developer/", "published_at": "2023-12-03T09:18:29+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75936e70dca5", "title": "Demystifying Web Push Notifications", "url": "https://joaomagfreitas.link/reads/demystifying-web-push-notifications/", "published_at": "2023-12-02T09:31:45+00:00" }, { "id": "01a0878e-a278-7237-bfdc-75936ecd6014", "title": "One Day Build: Expense Tracking", "url": "https://joaomagfreitas.link/reads/one-day-build-expense-tracking/", "published_at": "2023-12-01T09:34:52+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91b3ac7eab", "title": "S3 Express is All You Need", "url": "https://joaomagfreitas.link/reads/s3-express-is-all-you-need/", "published_at": "2023-11-30T09:38:32+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91b3f60f8e", "title": "Why do companies hire people to be idle a lot of the time?", "url": "https://joaomagfreitas.link/reads/why-do-companies-hire-people-to-be-idle-a-lot-of-the-time/", "published_at": "2023-11-29T09:28:10+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91b4e79403", "title": "Google Maps Redesign", "url": "https://joaomagfreitas.link/reads/google-maps-redesign/", "published_at": "2023-11-28T09:18:29+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91b5d20655", "title": "LLM Visualization", "url": "https://joaomagfreitas.link/reads/llm-visualization/", "published_at": "2023-11-27T10:50:27+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91b612c8db", "title": "Webmention", "url": "https://joaomagfreitas.link/reads/webmention/", "published_at": "2023-11-26T09:05:39+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91b6553923", "title": "Why Nue?", "url": "https://joaomagfreitas.link/reads/why-nue/", "published_at": "2023-11-25T09:14:11+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91b73dce59", "title": "Law of Demeter", "url": "https://joaomagfreitas.link/reads/law-of-demeter/", "published_at": "2023-11-24T08:50:23+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91b749a603", "title": "Why I Tend Not To Use Content Negotiation", "url": "https://joaomagfreitas.link/reads/why-i-tend-not-to-use-content-negotiation/", "published_at": "2023-11-23T08:42:50+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91b77f8bda", "title": "Structured Logging - Reference", "url": "https://joaomagfreitas.link/reads/structured-logging-reference/", "published_at": "2023-11-22T08:14:39+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91b870c8e3", "title": "Kotlin Multiplatform Development Roadmap for 2024", "url": "https://joaomagfreitas.link/reads/kmp-roadmap-2024/", "published_at": "2023-11-21T08:03:30+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91b8aa3324", "title": "Revenge Bedtime Procrastination: Why People Do It and How to Stop", "url": "https://joaomagfreitas.link/reads/revenge-bedtime-procrastination-why-people-do-it-how-to-stop/", "published_at": "2023-11-20T07:58:39+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91b9a8a8d4", "title": "Building a unikernel that runs WebAssembly", "url": "https://joaomagfreitas.link/reads/building-a-unikernel-that-runs-webassembly/", "published_at": "2023-11-19T09:55:44+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91b9cbcd16", "title": "A new way to bring garbage collected programming languages efficiently to WebAssembly", "url": "https://joaomagfreitas.link/reads/a-new-way-to-bring-garbage-collected-programming-languages-efficiently-to-webassembly/", "published_at": "2023-11-18T13:23:11+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91ba599cdf", "title": "My Company Died—Learn From My Mistakes", "url": "https://joaomagfreitas.link/reads/my-company-diedlearn-from-my-mistakes/", "published_at": "2023-11-17T09:07:44+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91bb143336", "title": "Serverless at Scale: Lessons From 200 Million Lambda Invocations", "url": "https://joaomagfreitas.link/reads/serverless-at-scale-lessons-from-200-million-lambda-invocations/", "published_at": "2023-11-16T08:05:22+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91bbfc9702", "title": "GPU Survival Toolkit for the AI age: The bare minimum every developer must know", "url": "https://joaomagfreitas.link/reads/gpu-survival-toolkit-for-the-ai-age-the-bare-minimum-every-developer-must-know/", "published_at": "2023-11-15T07:52:09+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91bc7b6958", "title": "Business questions worth asking", "url": "https://joaomagfreitas.link/reads/business-questions-worth-asking/", "published_at": "2023-11-14T07:57:58+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91bce3d838", "title": "GitHub Actions are a Problem", "url": "https://joaomagfreitas.link/reads/github-actions-are-a-problem/", "published_at": "2023-11-13T08:30:25+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91bd8d533b", "title": "How to Win Any Hackathon 🚀🤑", "url": "https://joaomagfreitas.link/reads/how-to-win-any-hackathon/", "published_at": "2023-11-12T10:41:51+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91bdd9fedf", "title": "I Skipped to the Ending", "url": "https://joaomagfreitas.link/reads/i-skipped-to-the-ending/", "published_at": "2023-11-11T08:48:57+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91be060619", "title": "Nihilism and the anti-corruption layer", "url": "https://joaomagfreitas.link/reads/nihilism-and-the-anti-corruption-layer/", "published_at": "2023-11-10T08:26:32+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91bec9c691", "title": "12 Signs You’re Working in a Feature Factory", "url": "https://joaomagfreitas.link/reads/12-signs-youre-working-feature-factory/", "published_at": "2023-11-09T07:43:05+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91bf71c609", "title": "Emotion-driven development", "url": "https://joaomagfreitas.link/reads/emotion-driven-development/", "published_at": "2023-11-08T08:14:23+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91bf754d49", "title": "The product manager role is a mistake", "url": "https://joaomagfreitas.link/reads/the-product-manager-role-is-a-mistake/", "published_at": "2023-11-07T08:14:19+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91bffc5844", "title": "Apple AirTag Reverse Engineering", "url": "https://joaomagfreitas.link/reads/apple-air-tag-reverse-engineered/", "published_at": "2023-11-06T07:41:29+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91c080ce23", "title": "The architecture of today's LLM applications", "url": "https://joaomagfreitas.link/reads/the-architecture-of-todays-llm-applications/", "published_at": "2023-11-05T08:58:06+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91c088e77f", "title": "CSS is fun again", "url": "https://joaomagfreitas.link/reads/css-is-fun-again/", "published_at": "2023-11-04T10:51:49+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91c126fc23", "title": "Unpackign Elixir: Resilience", "url": "https://joaomagfreitas.link/reads/unpacking-elixir-resilience/", "published_at": "2023-11-03T07:50:45+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91c193415d", "title": "Unpackign Elixir: Syntax", "url": "https://joaomagfreitas.link/reads/unpacking-elixir-syntax/", "published_at": "2023-11-02T07:50:45+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91c2621ab8", "title": "Unpackign Elixir: Concurrency", "url": "https://joaomagfreitas.link/reads/unpacking-elixir-concurrency/", "published_at": "2023-11-01T07:50:45+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91c2d992fc", "title": "Unpackign Elixir: Real-Time Latency", "url": "https://joaomagfreitas.link/reads/unpacking-elixir-real-time-latency/", "published_at": "2023-10-31T07:50:45+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91c3402690", "title": "Unpackign Elixir: Observability", "url": "https://joaomagfreitas.link/reads/unpacking-elixir-observability/", "published_at": "2023-10-30T07:59:45+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91c430762e", "title": "Simpsons Shorts", "url": "https://joaomagfreitas.link/projects/simpsons-shorts/", "published_at": "2023-10-30T00:00:00+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91c4f54081", "title": "The Case of a Curious SQL Query", "url": "https://joaomagfreitas.link/reads/the-case-of-a-curious-sql-query/", "published_at": "2023-10-29T08:55:41+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91c556ce2b", "title": "Using extra Firefox profiles to make my life better", "url": "https://joaomagfreitas.link/reads/using-extra-firefox-profiles-to-make-my-life-better/", "published_at": "2023-10-28T09:16:07+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91c5f2eba0", "title": "My website is one binary", "url": "https://joaomagfreitas.link/reads/my-website-is-one-binary/", "published_at": "2023-10-27T09:23:08+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91c6ad5627", "title": "How to find a lost phone in a no-cell-coverage camping site", "url": "https://joaomagfreitas.link/reads/how-to-find-a-lost-phone-in-a-no-cell-coverage-camping-site/", "published_at": "2023-10-26T11:26:49+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91c6f005b8", "title": "I’m Too Addicted to My iPhone", "url": "https://joaomagfreitas.link/reads/im-too-addicted-to-my-phone/", "published_at": "2023-10-25T07:00:32+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91c7699254", "title": "Why We Don’t Ship Software as Fast as We Used To", "url": "https://joaomagfreitas.link/reads/why-we-dont-ship-software-as-fast-as-we-used-to/", "published_at": "2023-10-24T08:41:55+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91c7e041e5", "title": "The State of WebAssembly 2023", "url": "https://joaomagfreitas.link/reads/the-state-of-webassembly-2023/", "published_at": "2023-10-23T09:47:37+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91c881696f", "title": "The open source gift exchange", "url": "https://joaomagfreitas.link/reads/the-open-source-gift-exchange/", "published_at": "2023-10-22T09:03:13+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91c8e1adfc", "title": "The Half-Life of the AI Stack", "url": "https://joaomagfreitas.link/reads/the-half-life-of-the-ai-stack/", "published_at": "2023-10-21T08:51:33+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91c945193d", "title": "Smart home notifications for when someone makes tea", "url": "https://joaomagfreitas.link/reads/getting-daily-notifications-my-parent-is-okay/", "published_at": "2023-10-20T17:37:37+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91c9cf5fcb", "title": "You can't get faster than No Build", "url": "https://joaomagfreitas.link/reads/you-cant-get-faster-than-no-build/", "published_at": "2023-10-19T09:27:07+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91ca553607", "title": "Kotlin Reflection: Method and property references", "url": "https://joaomagfreitas.link/reads/kotlin-reflection-method-and-property-references/", "published_at": "2023-10-18T10:10:45+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91ca56ecef", "title": "Mastering Conflict Resolution: 8 Expert Tips to Transform Challenging Interactions into Opportunities", "url": "https://joaomagfreitas.link/reads/mastering-conflict-resolution-8-expert-tips-to-transform-challenging-interactions-into-opportunities/", "published_at": "2023-10-17T08:34:26+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91caeb067d", "title": "Farmers turn to tech as bees struggle to pollinate", "url": "https://joaomagfreitas.link/reads/farmers-artificial-tech-to-save-honeybees/", "published_at": "2023-10-16T06:54:46+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91cbd8669e", "title": "A Guide to Open Source Platform Engineering", "url": "https://joaomagfreitas.link/reads/a-guide-to-open-source-platform-engineering/", "published_at": "2023-10-15T07:50:58+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91ccbf8d71", "title": "Getting to the first 1K Github Stars is the hardest", "url": "https://joaomagfreitas.link/reads/getting-to-the-first-1k-github-stars-is-the-hardest/", "published_at": "2023-10-14T08:31:11+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91ccdc2441", "title": "Bun: lessons from disrupting a tech ecosystem", "url": "https://joaomagfreitas.link/reads/bun-lessons-from-disruption/", "published_at": "2023-10-13T06:57:39+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91cd0d8256", "title": "Android 14 Changelog", "url": "https://joaomagfreitas.link/reads/android-developers-blog-android-14-is-live-in-aosp/", "published_at": "2023-10-12T07:26:24+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91cd39ba09", "title": "Multi-Modal AI is a UX Problem", "url": "https://joaomagfreitas.link/reads/multi-modal-ai-problem/", "published_at": "2023-10-11T06:41:57+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91cd5c5dfb", "title": "Clean Code with Kotlin", "url": "https://joaomagfreitas.link/reads/clean-code-with-kotlin/", "published_at": "2023-10-10T18:13:36+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91cdb12b66", "title": "Looney Tunables: Local Privilege Escalation in the glibc's ld.so (CVE-2023-4911)", "url": "https://joaomagfreitas.link/reads/looney-tunables-local-privesc-writeup/", "published_at": "2023-10-09T07:10:06+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91ce7902df", "title": "Smart Programmers Write STUPID Code", "url": "https://joaomagfreitas.link/reads/smart-programmers-write-stupid-code/", "published_at": "2023-10-08T06:55:44+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91ce995d5c", "title": "Your Organization Probably Doesn't Want To Improve Things", "url": "https://joaomagfreitas.link/reads/your-organization-probably-doesnt-want-to-improve-things/", "published_at": "2023-10-07T23:20:35+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91cf96ee2f", "title": "Sonoma’s log gets briefer and more secretive", "url": "https://joaomagfreitas.link/reads/sonomas-log-gets-briefer-and-more-secretive/", "published_at": "2023-10-06T23:13:30+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91cfbd663a", "title": "Role Of Algorithms", "url": "https://joaomagfreitas.link/reads/role-of-algorithms/", "published_at": "2023-10-05T22:57:01+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91d0b88c46", "title": "Anthropic Decomposing Language Models Into Understandable Components", "url": "https://joaomagfreitas.link/reads/anthropic-decomposing-language-models-into-understandable-components/", "published_at": "2023-10-04T22:54:37+00:00" }, { "id": "01a0878e-a279-7000-9451-7a91d18ee12a", "title": "Scrum Terminology", "url": "https://joaomagfreitas.link/reads/scrum-terminology/", "published_at": "2023-10-03T07:02:12+00:00" } ] posts Claim your blog
Back to joaomagfreitas.link
Blog · corpus.blog/blogs/joaomagfreitas.link/posts

joaomagfreitas.link

joaomagfreitas.link

2025

2024

2023