Top all-time · #19824
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.
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
Most-linked posts?
- Questions to ask yourself when considering a dependency2 people · 2 mentions · first linked 2019-12-29
- You might not need a class2 people · 2 mentions · first linked 2019-05-09
What Hacker News says?
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”Submitted Questions to ask yourself when writing tests as a story · 203 points
HN discussionShameless 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”Submitted Streaming: a skill gap? as a story · 137 points
HN discussionVery 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)”Submitted Mini HTTP Guide for Developers as a story · 113 points
HN discussionI 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”Submitted It's not a hack to satisfy known requirements as a story · 52 points
HN discussionShameless 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”Submitted I admit it: I like Python’s ternary operator as a story · 34 points
HN discussionHmmm... 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”Submitted It's not done if... as a story · 4 points
HN discussionSubmitted Python generators: Neatly manage stream processing pipelines for medium data as a story · 4 points
HN discussionSubmitted The core S3 API is beautiful as a story · 4 points
HN discussionSubmitted Questions to ask yourself when talking with users as a story · 3 points
HN discussionSubmitted Questions to ask yourself when handling exceptions as a story · 3 points
HN discussionSubmitted AngularJS Promises as a story · 3 points
HN discussionSubmitted I don't use the term technical debt and neither should you as a story · 2 points
HN discussionSubmitted Ordering work: a skill and culture gap as a story · 2 points
HN discussionSubmitted How to offer better downloads: 4 sets of HTTP headers as a story · 2 points
HN discussionSubmitted S3 is not a filesystem, and that's OK as a story · 2 points
HN discussionSubmitted I admit it: I like Python’s asyncio as a story · 2 points
HN discussionSubmitted Reducing risk of release day: Large changes do not have to fill you with fear as a story · 2 points
HN discussionSubmitted Python asyncio read/write lock as a story · 2 points
HN discussionSubmitted Type-simplicity: If you can't have type-safety, have the next best thing as a story · 2 points
HN discussionSubmitted Long files are not the enemy as a story · 2 points
HN discussionSubmitted Non atomic deployments as a story · 2 points
HN discussionSubmitted Overriding methods is spaghetti in disguise as a story · 2 points
HN discussionSubmitted Say no to more optional arguments as a story · 2 points
HN discussionSubmitted Pragmatic Purity: Keep pure and impure code separate as a story · 2 points
HN discussion