The Curious Engineer

All blogs / Software / engineering practice

Philosophical Hacker

philosophicalhacker.com

Recent content on Philosophical Hacker

Software / engineering practiceAI / MLMobile / iOS / Android

Posts
158 from 22 Apr 2014 to 26 Apr 2026
Posting
now and then (1 in the last year)
Kind
personal blog
Feed
https://www.philosophicalhacker.com/index.xml

2026 1

  1. Anthropic's Argument for Mythos SWE-bench improvement contains a fatal error

2025 4

  1. LLMs and the Russellian Inversion
  2. Libraries are under-used. LLMs make this problem worse.
  3. Generated Union Types from Go Structs with Static Analysis
  4. LLM Proofing Our Takehome Challenge

2024 13

  1. Value-based pricing can be a trap for early startups
  2. Reading Sqlite Schema Tables the Hard Way
  3. Which developers care most about security?
  4. We Need Another Code Copilot
  5. On OpenAI's supposed "scientific certainty" that GPT-5 will be better than GPT-4
  6. The UIs ChatGpt Wont Replace – Philosophical Hacker
  7. How AI Startups Can Beat Incumbents – Philosophical Hacker
  8. Under Appreciated Benefits of Selling to Startups – Philosophical Hacker
  9. What Your MVP Says About Your Market – Philosophical Hacker
  10. Look for billion dollar mistakes – Philosophical Hacker
  11. Dont Get Into the UX Business – Philosophical Hacker
  12. Internal tools often make bad startup ideas – Philosophical Hacker
  13. Conflicting employee vs. business incentives slow B2B SaaS growth rates – Philosophical Hacker

2023 5

  1. Embeddings are cooler than ChatGPT – Philosophical Hacker
  2. Panel Discussion: Exploring the Future of Machine Learning and AI – Philosophical Hacker
  3. Hacking our Way to ML-first Jupyter Notebooks – Philosophical Hacker
  4. The Future of Machine Learning and AI: A visionary panel discussion – Philosophical Hacker
  5. For Data Notebooks, Functions Arent Enough (and what to do about it) – Philosophical Hacker

2022 4

  1. The code that ChatGPT can't write – Philosophical Hacker
  2. An Introduction to Metaprogramming in R – Philosophical Hacker
  3. Lessons From Optimizing Queries at Heap – Philosophical Hacker
  4. Postgres SQL Lessons From Advent of Code Challenges – Philosophical Hacker

2021 8

  1. Optimizing Postgres Queries at Scale – Philosophical Hacker
  2. How Postgres Audit Tables Saved Us From Taking Down Production – Philosophical Hacker
  3. Lessons from Deploying 1 million Postgres Indexes – Philosophical Hacker
  4. Working Around a Case Where the Postgres Planner Is "Not Very Smart" – Philosophical Hacker
  5. How and When to Control for Confounders During Product Usage Analyses – Philosophical Hacker
  6. Maybe you should build a faster horse – Philosophical Hacker
  7. Building Better Code Review at Heap – Philosophical Hacker
  8. Exposing Imposter User Stories – Philosophical Hacker

2020 7

  1. When should we create abstractions instead of duplication? – Philosophical Hacker
  2. Programming and Forecasting – Philosophical Hacker
  3. Why Mobile IDEs Are Bad – Philosophical Hacker
  4. An Introduction to Gradient Descent – Philosophical Hacker
  5. Should we refactor files we're working on? – Philosophical Hacker
  6. Why and How we Should Calculate Expected Utility of Refactorings – Philosophical Hacker
  7. My Mid-Career Job-Hunt: A Data Point for Job-Seeking Devs – Philosophical Hacker

2019 14

  1. Dagger 2, 2 Years Later – Philosophical Hacker
  2. Maybe Don't Inject That – Philosophical Hacker
  3. Maybe Don't Write That Test – Philosophical Hacker
  4. An Intro to Gradient Descent for Kotlin Programmers – Philosophical Hacker
  5. Dagger 2, 2 Years Later – Philosophical Hacker
  6. Maybe we Should Stop Creating Inscrutable CLIs – Philosophical Hacker
  7. Some Tips for Delivering an Effective Roadmap Presentation – Philosophical Hacker
  8. How to Automate Common Jira Tasks with Go Jira Custom Commands – Philosophical Hacker
  9. Some thoughts on the moral implications of building habit-forming products – Philosophical Hacker
  10. iPhone Q1 Revenue Forecast – Philosophical Hacker
  11. The Cassandra Project: Towards Better Product Management via Better Forecasting – Philosophical Hacker
  12. Hilarious Heresy: A Review of Jessica Powell’s "The Big Disruption" – Philosophical Hacker
  13. Some problems with the impossibility of achieving OKRs – Philosophical Hacker
  14. How The Lean Principle Became Profound – Philosophical Hacker

2018 12

  1. How Startups Can Do Better Cohort Analyses – Philosophical Hacker
  2. Meditation One Year Later – Philosophical Hacker
  3. How Passion for Programming Can Make us Worse at our Jobs – Philosophical Hacker
  4. Business and the Cartesian Demon: How not to Study Business – Philosophical Hacker
  5. Cigarettes and Texts: Self-knowledge, Self-control, and Meditation – Philosophical Hacker
  6. Some thoughts on how to teach programming – Philosophical Hacker
  7. Keeping up with DI and Dagger – Philosophical Hacker
  8. Maybe We Should Go Easy on Uncle Bob – Philosophical Hacker
  9. Mobile Down, Smart Speakers Up: 2 Notable Trends from this Year's Internet Trends Report – Philosophical Hacker
  10. Patterns Principles and Tools for Testing Your React (Native) Apps – Philosophical Hacker
  11. The so-called 'RESTful' web in 2018 and beyond – Philosophical Hacker
  12. From Panic Attacks to Yoga Mats: Startups, Leadership, and my first 1000 minutes Meditating – Philosophical Hacker

2017 25

  1. Ya Better Recognize – Philosophical Hacker
  2. Hacker vs. Hustler: Reflecting on One Year at UniKey – Philosophical Hacker
  3. React Native at an IoT Startup – Philosophical Hacker
  4. An Introduction to RxJava – Philosophical Hacker
  5. If Android Tests Could Talk – Philosophical Hacker
  6. How to Abuse Kotlin Extension Functions – Philosophical Hacker
  7. Not Needing Dagger is a Code Smell (Pt. 1) – Philosophical Hacker
  8. Setting up a Jenkins Pipeline for Android Testing – Philosophical Hacker
  9. Android Testing Calisthenics: Domain Objects – Philosophical Hacker
  10. Test Driving away Coupling in Activities – Philosophical Hacker
  11. Architectural Insights from Test Driven Android Development – Philosophical Hacker
  12. Reactive Extensions for Android App Development – Philosophical Hacker
  13. Why Cryptography? – Philosophical Hacker
  14. Why Im Skeptical about Kotlin Coroutines for Android Development – Philosophical Hacker
  15. What Unit Tests are Trying to Tell us About Activities Pt 2 – Philosophical Hacker
  16. Some Resources for Learning how to Test Android Apps – Philosophical Hacker
  17. What Unit Tests are Trying to Tell us about Activities: Pt. 1 – Philosophical Hacker
  18. Towards Godless Android Development: How and Why I Kill God Objects – Philosophical Hacker
  19. Why Android Testing is so Hard: Historical Edition – Philosophical Hacker
  20. Why I Avoid Singletons for Android Data Loading – Philosophical Hacker
  21. Espresso Test Addiction: An Anti-pattern – Philosophical Hacker
  22. Exploiting Android-Specific Seams for Testing and Flexibility – Philosophical Hacker
  23. TDD > The Principle of Single Responsibility – Philosophical Hacker
  24. Why I Don't use Robolectric – Philosophical Hacker
  25. What Should we Unit Test? – Philosophical Hacker

2016 31

  1. How we Misuse Mocks for Android Tests – Philosophical Hacker
  2. Build Variants and Link Seams – Philosophical Hacker
  3. Object Seams and MVP for Testability – Philosophical Hacker
  4. What makes Android Apps Testable? – Philosophical Hacker
  5. Writing Testable Android Apps – Philosophical Hacker
  6. Why we Should Probably Write More Tests for Our Android Apps – Philosophical Hacker
  7. Using Git Submodules Effectively – Philosophical Hacker
  8. 3 Ways of 'Getting to Green' – Philosophical Hacker
  9. The goal of refactoring During TDD – Philosophical Hacker
  10. TDD and Startups – Philosophical Hacker
  11. Capital Intensive MVPs – Philosophical Hacker
  12. On Selling your Soul: Notes on Gregg Pollack's Founder's Talk – Philosophical Hacker
  13. Unit Testable RecyclerViews – Philosophical Hacker
  14. RxLoader: Lightweight, Boilerplate-Free Data loading with Loaders and RxJava – Philosophical Hacker
  15. An Espresso Test Recorder Deep Dive – Philosophical Hacker
  16. Why don't we have a unit test recorder? – Philosophical Hacker
  17. Vice: A Regression Test Generation Library – Philosophical Hacker
  18. How to Safely move Logic out of Activities – Philosophical Hacker
  19. Why we Should Stop Putting Logic in Activities – Philosophical Hacker
  20. A New way of Learning (Android Development) – Philosophical Hacker
  21. Testing Strategies with a React/Redux Architecture – Philosophical Hacker
  22. How React-and-Redux-like Architectures for Android can make Testing Easier – Philosophical Hacker
  23. PSA: Dont Use Espresso Idling Resources like Google does – Philosophical Hacker
  24. Process vs. Procedure Recursion – Philosophical Hacker
  25. Abstraction, Scope, and Bound Variables – Philosophical Hacker
  26. Sicp 1.1.1-1.1.7 – Philosophical Hacker
  27. Testing Package Implementation from 'the Outside' – Philosophical Hacker
  28. Table-driven tests with Gomock – Philosophical Hacker
  29. Integration Tests in Go – Philosophical Hacker
  30. Getting started with Gomock – Philosophical Hacker
  31. Should we use mocking libraries for go testing? – Philosophical Hacker

2015 27

  1. Making a TDD-based HackerNews client for Android – Philosophical Hacker
  2. Why Having Global Static References to Application Contexts is Probably not the Best Idea – Philosophical Hacker
  3. 6 Things I wish I Knew before I Wrote my first Android App – Philosophical Hacker
  4. My Response to Hannes Dorfmann on "the Circular Dependency Problem" – Philosophical Hacker
  5. MVPR: A Flexible, Testable Architecture for Android (Pt. 1) – Philosophical Hacker
  6. I'm taking a brief hiatus from blogging here... – Philosophical Hacker
  7. Taylor Swift, Photographers, and "working for nothing" – Philosophical Hacker
  8. Introduction to RxJava for Android (Pt. 2) – Philosophical Hacker
  9. Introduction to RxJava for Android: The Talk – Philosophical Hacker
  10. An Introduction to RxJava for Android (Pt. 1) – Philosophical Hacker
  11. Developer Golf – Philosophical Hacker
  12. Unit Testing Dynamically Constructed Views – Philosophical Hacker
  13. Towards A Unit Testable Fork of Google's IOSched App – Philosophical Hacker
  14. An Introduction to Unit Testing on Android – Philosophical Hacker
  15. What I've Learned From Trying to Make An Android App Unit Testable – Philosophical Hacker
  16. Android Unit Testing Guides – Philosophical Hacker
  17. How to Make Our Android Apps Unit Testable (Pt. 2) – Philosophical Hacker
  18. How to Make Our Android Apps Unit Testable (Pt. 1) – Philosophical Hacker
  19. Why Android Unit Testing Is So Hard (Pt. 2) – Philosophical Hacker
  20. Why Android Unit Testing is so Hard (Pt 1) – Philosophical Hacker
  21. Is Mark Zuckerberg a Douche-bag? – Philosophical Hacker
  22. Against Android Unit Tests – Philosophical Hacker
  23. Don't call it "MVP" – Philosophical Hacker
  24. How to Keep your RxJava Subscribers from Leaking – Philosophical Hacker
  25. Why Pirating is Probably Wrong (.java) – Philosophical Hacker
  26. Why Ayn Rand's Psychology is Probably Wrong (or trivial) – Philosophical Hacker
  27. Build Apps Smarter With Archiva and Gradle – Philosophical Hacker

2014 7

  1. An Alternative Multiproject Setup for Android Studio – Philosophical Hacker
  2. A response to Your Comments on "Why Paul Graham is (sort of) wrong about philosophy" – Philosophical Hacker
  3. Why Paul Graham is (sort of) Wrong About Philosophy – Philosophical Hacker
  4. How to Break into a Mobile Dev Career in 10 months or less – Philosophical Hacker
  5. Why I'll Probably Try to Manipulate You – Philosophical Hacker
  6. Should the Idea Person get Extra Equity? – Philosophical Hacker
  7. Why I'm Glad my Dream Job Didn't work out – Philosophical Hacker