HNHacker News
TopNewBestAskShowJobs

aartur

567 karma · joined August 8, 2012

submissionscomments
aartur··on Ask HN: Who wants to be hired? (October 2026)
Location: Gdynia / Gdańsk, Poland

Remote: Yes

Willing to relocate: No (occasional travel is OK)

Technologies: Python, PostgreSQL, Nomad, Elasticsearch, LLMs, Cassandra, Clickhouse, search engines, NER, Java, C++, Golang

Résumé/CV: https://vhex.net/cv.pdf

Email: asiekielski@vhex.net

Senior backend/search engineer (18 years of experience). I worked in corporations, local product companies, and as a founder/sole engineer of my own SaaS startup (a monitoring tool / Heroku addon). For the last 8 years I've worked remotely for a US influencer marketing company.

My main strength is creating custom backend components when off-the-shelf solutions (SaaS, cloud) don't fit the problem well. I've created custom search engines, NERs and task dispatchers that became core parts of the products and brought large value.

I'm quite good at working at the intersection of product development and software engineering - I can propose new products (knowing what's possible in the backend) and work with the product owners.

I'm open to both full-time and part-time work, including short-term and long-term contracts.

aartur··on Copenhagen Cycles with the Young, the Old, the Busy and the Dead
I'm not against wool/polyester inner layers, they are much better than cotton. But it's not magic, they will also work worse when they are wet, and they don't transport the sweat from the skin perfectly. So what works the best for me is reducing the effect of accumulating sweat, i.e. maximizing the breathability of the jacket (for example, by using a "windshirt" style jackets from materials like Pertex).

Maybe in such exteme conditions as -40°C it's different, but for me a windshirt + thick inner layers (polyester/wool) work well for 6+ hour long bicycle rides in about 0°C.

aartur··on Copenhagen Cycles with the Young, the Old, the Busy and the Dead
I don't recommend Goretex, or other jackets with membranes, for outdoor activities (unless it's raining or it's really windy). They are not nearly as breathable as regular clothes, which means you will be sweating more. And even when you wear wool or a polyester fleece they won't warm as well as when they are dry.

This sound counter-intuitive but a lighter non-membrane jacket works better for me, both in terms of comfort and longer-term retention of body heat (better breathability -> less sweat -> smaller cooling effect).

aartur··on Show HN: Monique.io – a monitoring system for high-level “metrics”
Thanks for the feedback. Yeah we are struggling to bring a simple description (you might look at the product faq [0]). But it's for a reason - Monique.io doesn't directly compete with similar products like traditional monitoring systems or dashboard frameworks.

If you are a programmer, then probably the most honest description would be that it's a monitoring system for "custom metrics" - anything that a traditional monitoring system or an APM platform can't collect (because it requires application-level knowledge like the data model in your DB). The traditional monitoring systems are focused on system-level metrics (CPU, memory) or performance data, making things like monitoring SQL results or JSON really hard and unnatural. Monique.io makes such tasks much simpler and "natural".

Another view is that the common knowledge about what is "monitoring" cuts out a large portion of things that really should be monitored (SQL results, health checks, API responses). The reason is that we can't collect the metrics automatically. But the work should be done and the traditional products don't provide much help for the task.

(saying all that, we and others use Monique.io also for monitoring CPU/disks, creating "BI" dashboards or sending messages to Slack)

[0] https://monique.io/product-faq

aartur··on Show HN: Monique.io – a monitoring system for high-level “metrics”
Sorry :(. But it makes some sense - it prevents some sorts of attacks.
aartur··on Show HN: Monique.io – a monitoring system for high-level “metrics”
Monique.io is a monitoring system focused on high-level "metrics" (SQL results, API responses, JSON data) that are automatically parsed by AI, with alarms defined in Javascript, plus the feature to auto-create a dashboard by employing the concept of a "template tile".

We created Monique.io because we were tired of the "same old, same old" monitoring systems that didn't help much with a lot of daily tasks.

We launched Monique.io a few months ago and now bring improvements and a free plan (which we are committed to preserve; the plan does not include alarming functionality).

aartur··on Ask HN: How do you take money for side project without forming a company
Even when you are selling SaaS (so it's a "service")?

I think you can have problems with payment processing companies as they might not want to make business with a private person.

aartur··on Ask HN: How do you take money for side project without forming a company
> In the Netherlands, there is a threshold, and you do not have to incorporate

But you still have to register some form of sole-proprietorship company?

aartur··on Ask HN: How do you take money for side project without forming a company
Not sure how general this is, but in Poland if you have SaaS you need to have a company (because it's a "service"). But when you are selling just source code to someone else, it can be counted as personal income (no company needed).
aartur··on AngelList acquires Product Hunt
I think PH is different because it seems that if a superuser/mod will not upvote an item, it will be practically dead. On HN/Reddit/Medium you will always get at least 20-50 views. On PH I got 5. It's even more stark when you count the fact that top PH submissions get many more views than on HN/Reddit/Medium.
aartur··on AngelList acquires Product Hunt
From my investigation it seems that it's some kind of filter provided by Cloudflare, in this case blocking a possible "shell script injection".
aartur··on AngelList acquires Product Hunt
> tweeting to my 400 followers.

That must be the difference (or I was blocked by some filter). I didn't try to make a social-media call-for-action, because I didn't want to trigger voting-ring protections.

EDIT. As for the filters... PH doesn't allow comments which include "ps aux" or "curl" strings. I learned this by studying HTTP responses using Developer Tools, because the error was not signalled in PH's UI :).

aartur··on AngelList acquires Product Hunt
I submitted my startup two days ago by myself, as someone who didn't have any PH "karma", but I somehow was granted permissions for submitting products (probably because I was subscribed to a newsletter for a long time). I asked by email if it's ok if I submit my startup by myself. I was told it's ok and wished good luck.

On the launch day my site received literally five visits (in the first hours, probably a few more later). It was dead from the start and didn't get a real chance to be seen by the community. Lesson for everyone: under no circumstances have your product submitted to PH by a non-mod account.

I'm actually not angry at PH. They have their rules which are obviously working. The "elitist" model is working (to some degree at least). My fault was that I didn't follow the guides which mention what I learned. And I think they should give a warning when submitting a product by an account like mine, because there's no practical chance such product will be visible.

aartur··on Show HN: Monique.io – a new kind of monitoring system (AI + Unix + Javascript)
Do you mean an "enterprise" self-hosted plan with a price of >= $1k / mo?

Generally everything is possible, since we are now learning how the users would like to use the service. But the SaaS model is easier to manage, and there are successful monitoring services that use this model (www.stathat.com).

aartur··on Show HN: Monique.io – a new kind of monitoring system (AI + Unix + Javascript)
I think you are right that the "really traditional" monitoring system like Nagios or Munin only work through agents and plugins. Some of the hosted systems have centralized APIs. But, to my knowledge, they all use the metric concept ((name, value) pairs) and it's why I called it "traditional".
aartur··on Show HN: Monique.io – a new kind of monitoring system (AI + Unix + Javascript)
Isn't mondash a "traditional" monitoring system? I see that you have to submit metrics individually, as JSON with a "value" attribute.
aartur··on Show HN: Monique.io – a new kind of monitoring system (AI + Unix + Javascript)
Actually a free plan will be announced in a day or two. This should capture your needs without paying a dollar :).
aartur··on Cyclotron: A web application for constructing dashboards
>I just want to pay for a hosted version that isn't going to be $1k monthly and require me to build "plugins" to do something that is akin to an API call.

Sorry for a shameless plug, but you might check something that I built and launched today [1] as I felt exactly the same pain point.

[1] https://monique.io

aartur··on Cassandra is not row level consistent
And there's another surprise waiting to be discovered. The execution of a LWT is not guaranteed to return applied/not-applied response [1]. It can raise a WriteTimeout exception that means "I don't know if applied". It looks like in that case it can be worked around by inserting a UUID and in case of a WriteTimeout reading the UUID using SERIAL consistency and checking if it's the inserted UUID. But generally this limitation of LWTs makes implementing some algorithms impossible, e.g. you can't implement a 100% reliable counter.

[1] https://issues.apache.org/jira/browse/CASSANDRA-9328

aartur··on Golang – encoding/csv: Reading is slow
I run the benchmark using PyPy (which doesn't have this C extension) and got a result about 20% slower compared to CPython (ie. still faster than Go).

EDIT. I also did a funny thing and replaced the CPython C _csv.so extensions with pure Python version _csv.py, from PyPy. It run about 80 (eighty) times slower. It shows what wonders does JIT do (at least to some code).

aartur··on Show HN: Noms – A new decentralized database based on ideas from Git
Isn't the append-only design unsuitable for scenarios where many updates/deletes are made? If you update/delete 1GB of your 2GB database each day, then after a year the database is 365GB in size, but the live data is only 2GB.

I think the git-like features (history, merging) are very helpful for internal work, but when the dataset must be published, I think in most cases only the newest snapshot should be made available. But then the question is what format should it have...?

aartur··on Ask HN: How do you harmonize user data?
Generally the best advice is to conform to the SPOT (Single Point of Truth) rule as much as possible. For example, the place DEFINING users' addresses can be your own database and the data in salesforce is only a REPLICATION of that data. And the DEFINITION of chats is in Intercom and you only have an API for RETRIEVING the data in your own code.

It helps a lot when the "owners" of data are defined that way, because it's easy to reason about the flows. You can then have a set of APIs in your code for accessing (be it the master data/replicated data/live-fetched from an external system).

aartur··on The microservices cargo cult
A network protocol is only a small component of a microservice in terms of affecting performance, by far the biggest difference is an in-process call vs network/IPC call. The latter is at least hundreds time slower due to how computers work [0].

I'm talking about a function call overhead only so if the actual processing takes more than a few milliseconds it stops being important.

[0] http://www.eecs.berkeley.edu/~rcs/research/interactive_laten...

aartur··on The microservices cargo cult
Interesting. Is the circuit breaker a feature of .NET running on Windows?

To my knowledge, it can't be implemented on Linux + Java or Python (a thread can't be terminated from outside, and some syscalls involve a whole process).

aartur··on The microservices cargo cult

  > it's orders of magnitude better to deploy lots of smaller identical monoliths than it is to try and build and deploy lots of services and manage the contracts and complexity between them.
This article from 2003 by Martin Fowler is exactly about that: http://www.drdobbs.com/errant-architectures/184414966
aartur··on The microservices cargo cult
Microservices are advertised as a means to modularization, but it's what programming language modules are for - they are defined on source code level and can be freely used in different runtime components without network/ops/version-management headaches. When you have your module defined that way, you can think of exposing it as a microservice because this may make sense for your use case.

Imagine that each Python module runs as a microservice. For many modules this would lead to huge performance degradation, for example a regexp module can be called thousands times per second, the running time of a call is usually short and replacing an in-process call with a network call will give 100-1000x slowdown.

But if you take a different use case of the same module - complex regexps running on large texts, potentially causing out-of-memory errors, then packing the module into a microservice can make sense - separate processes can have large caches, an out-of-memory error terminates an instance of a microservice only and not the calling process.

Generally I think the advice should be to always use source code modules in the first place, and create microservices using these modules for specific use cases only involving runtime needs like caching, fault tolerance, scalability.

aartur··on Show HN: Hacker Uses This
I submitted this site some time ago: https://news.ycombinator.com/item?id=9058624. It reached front page for a short time, but was flagged by users. The changes I've made:

- no sign up required for listing tools and getting recommendations

- unwanted recommendations can be removed, to make place for other recommendations

- a plan for a newsletter is announced

aartur··on Show HN: Hacker Uses This
Thanks, I'm planning to make a few changes mainly to allow excluding common tools from recommendations. Maybe I'll also add user following functionality.
aartur··on Show HN: Hacker Uses This
I noticed that the recommendations are probably equal to the union of fuzzy intersections of a tool set of the "logged in" user and every other user's tool sets, where the "fuzzy membership" function is an assignment of importance scores to tools.

By "fuzzy" operations I mean the mathematical theory [0]

I see that many people didn't change default importance score from 5, looks like UI is bad for this.

[0] http://en.wikipedia.org/wiki/Fuzzy_set

aartur··on Show HN: Hacker Uses This
Yes, I'm already planning to add a button to "remove" recommendations.

The recommendations algorithm is based on some heuristics to detect how similar are two users. Nothing "generic". I'll describe it in detail if you are interested.

Now I'm trying to get information about why the HN submission is invisible...

EDIT. The submission was flagged by users. Weird.

Two Chromes - one is in Desktop category and the other is in Mobile.

Page 1 of 3Next →