Work in progress: 181,232 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #19824

M

Michal Charemza

Personal blog · charemza.name/blog · on HN as michalcprogrammingdata

Michal Charemza's personal blog at charemza.name covers programming and data. Since 2016, 3 different Hacker News readers have linked it 42 times, most often “Questions to ask yourself when considering a dependency”. It is still writing: the last post was on 2026-01-04, and you can follow it by feed.

Visit the blog
42mentions?
3HN people?
2016–2026first – last linked?
Links on Hacker News per year · peak 9 in 2020

Too few sampled comments (1) to say how often HN recommends it.?

Why HN links it

HN readers link Michal Charemza's posts on Python design, such as replacing classes with simple functions and closures. One commenter cites his state-handling approach as a source.

Summarised by Claude from a sample of 1 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

Software, data, and cloud infrastructure engineer

The author on HN?

michalc · 814 karma · member since 2016

https://charemza.name/

From their public HN profile, which links to this site.

Most-linked posts?

  1. Questions to ask yourself when considering a dependency
    2 people · 2 mentions · first linked 2019-12-29
  2. You might not need a class
    2 people · 2 mentions · first linked 2019-05-09

What Hacker News says?

  1. In Python you can use class-like functions (source : https://charemza.name/blog/posts/python/state/you-might-not-... ) def MyClass(...) # Capitalised to make it clear it's a "constructor" state_1 = ... state_2 = ... def func_1(): nonlocal state_1 ... def func_2(): nonlocal state_2 ... def func_3(): ... return func_1, func_2 # Typically, 1 to 2 funcs I find the approach neat. Here is a concrete example where it is ap…

    Comment linking /blog/posts/python/state/you-might-not-need-a-class/

    on “The use of `class` for things that should be simple free functions”
  2. Submitted Questions to ask yourself when writing tests as a story · 203 points

    HN discussion
  3. Shameless plug for what is essentially my own much shorter intro to asyncio: https://charemza.name/blog/posts/python/asyncio/I-like-pytho...

    Comment linking /blog/posts/python/asyncio/I-like-python-asyncio/

    on “Guide to Concurrency in Python with Asyncio”
  4. Submitted Streaming: a skill gap? as a story · 137 points

    HN discussion
  5. Very much agree. It was a few years ago, and very AngularJS focused, but I posted something along these lines: https://charemza.name/blog/posts/angularjs/e2e/consider-not-... In summary: having thing look cleaner at a glance is not helping if you’re (almost) always going to need to do more than glancing

    Comment linking /blog/posts/angularjs/e2e/consider-not-using-page-objects-in-e2e-tests/

    on “Page Object (2013)”
  6. Submitted Mini HTTP Guide for Developers as a story · 113 points

    HN discussion
  7. I could do this, and it certainly crossed my mind. But depending on the project, it could significantly increase the amount of code overall. It feels a feels a bit... heavy to me. I can understand the AWS auth code... while there seem to be so many layers in boto3/botocore. There's a lot of code to add a few HTTP headers to each request. (It was a few years ago, but I posted about not using boto3 https://charemza.na…

    Comment linking /blog/posts/http/s3/the-core-s3-api-is-beautiful/

    on “Show HN: SQLite-S3-query – Python function to query a SQLite database on S3”
  8. Submitted It's not a hack to satisfy known requirements as a story · 52 points

    HN discussion
  9. Shameless plug for a short post/guide to “the good bits” of asyncio from a few years ago: https://charemza.name/blog/posts/python/asyncio/I-like-pytho...

    Comment linking /blog/posts/python/asyncio/I-like-python-asyncio/

    on “AsyncIO”
  10. Submitted I admit it: I like Python’s ternary operator as a story · 34 points

    HN discussion
  11. Hmmm... depends on the project / phase of the project? I am particularly not a fan of doing unnecessary work/over engineering, e.g. see https://charemza.name/blog/posts/agile/over-engineering/not-... , but even I think that sometimes things _are_ worth it

    Comment linking /blog/posts/agile/over-engineering/not-a-hack-to-meet-requirements/

    on “Designing a Passively Safe API”
  12. Submitted It's not done if... as a story · 4 points

    HN discussion
  13. Submitted Python generators: Neatly manage stream processing pipelines for medium data as a story · 4 points

    HN discussion
  14. Submitted The core S3 API is beautiful as a story · 4 points

    HN discussion
  15. Submitted Questions to ask yourself when talking with users as a story · 3 points

    HN discussion
  16. Submitted Questions to ask yourself when handling exceptions as a story · 3 points

    HN discussion
  17. Submitted AngularJS Promises as a story · 3 points

    HN discussion
  18. Submitted I don't use the term technical debt and neither should you as a story · 2 points

    HN discussion
  19. Submitted Ordering work: a skill and culture gap as a story · 2 points

    HN discussion
  20. Submitted How to offer better downloads: 4 sets of HTTP headers as a story · 2 points

    HN discussion
  21. Submitted S3 is not a filesystem, and that's OK as a story · 2 points

    HN discussion
  22. Submitted I admit it: I like Python’s asyncio as a story · 2 points

    HN discussion
  23. Submitted Reducing risk of release day: Large changes do not have to fill you with fear as a story · 2 points

    HN discussion
  24. Submitted Python asyncio read/write lock as a story · 2 points

    HN discussion
  25. Submitted Type-simplicity: If you can't have type-safety, have the next best thing as a story · 2 points

    HN discussion
  26. Submitted Long files are not the enemy as a story · 2 points

    HN discussion
  27. Submitted Non atomic deployments as a story · 2 points

    HN discussion
  28. Submitted Overriding methods is spaghetti in disguise as a story · 2 points

    HN discussion
  29. Submitted Say no to more optional arguments as a story · 2 points

    HN discussion
  30. Submitted Pragmatic Purity: Keep pure and impure code separate as a story · 2 points

    HN discussion

Search all of HN for charemza.name