aalhour's comments

aalhour | 26 days ago | on: Ask HN: Who wants to be hired? (February 2026)

Location: Germany (Munich)

Fully remote: Yes (and open to hybrid in Munich)

Willing to relocate: No

LinkedIn: https://www.linkedin.com/in/aalhour/

Website: https://aalhour.com/

GitHub: https://github.com/aalhour

Resumé/CV: available on request (has personal contact info)

Email: a.z.alhour(at)gmail(dot)com

Technologies: Go, Python, Java, k8s, docker, AWS (backend/data infra)

About me: A software engineer with 15 years of experience (ex-Shopify, ex-HubSpot), with prior engineering management experience. I work on the backend, did data engineering in the past and am looking for a role in backend/data infra.

aalhour | 7 months ago

I worked as a manager at a local German company in Germany with a strong Worker's Council team. Performance Management was run through them, they had comments, the process was adapted and managers were onboarded. This is not to say that performance management doesn't suck in general (because once you start having metrics, people start gaming them and you're almost superimposing it on people's way of working), but the Worker's Council didn't block it, because at the end of the day it was neither invasive nor exploitative.

EDIT: typos.

aalhour | 10 months ago

I haven't used Nim but your comment made me remember that language, yeah it was forgotten but I am not sure if it's completely abandoned, it seems that their team has been launching new language releases on a nice cadence: https://nim-lang.org/blog.html

aalhour | 2 years ago | on: Ask HN: How many times will this loop run on average?

I was aware that the Random function call gets evaluated in Python (and C) every time the loop iterates, I just couldn't imagine the probability distribution myself, I had assumed that all numbers are uniformally distributed but didn't cater for the sums. You're a legend! Now I see it. I wrote the following code to check out your argument and it checks out indeed :thumbs-up:

  def p(n):
    total = 1
    for i in range(1, n):
      total *= (100-i)/100
    return total


  for i in range(1, 100):
    print(f"p({i}) = {p(i)}")

The first 13 results:

  p(1) = 1
  p(2) = 0.99
  p(3) = 0.9702
  p(4) = 0.9410939999999999
  p(5) = 0.9034502399999998
  p(6) = 0.8582777279999998
  p(7) = 0.8067810643199997
  p(8) = 0.7503063898175998
  p(9) = 0.6902818786321918
  p(10) = 0.6281565095552946
  p(11) = 0.5653408585997651
  p(12) = 0.503153364153791
  p(13) = 0.44277496045533604
p(12) sits at 50%, of course it will be the mean! :D

aalhour | 2 years ago | on: Ask HN: How many times will this loop run on average?

Not sure that adds up, I translated the right side of the equality into a Python statement and it returns a number I am not sure how to interpret:

  1/99 * sum([(i-1)*i for i in range(2, 100)])   # 3266.666666666667
Both the median and mean are around 12 for 10K runs of the loop.

aalhour | 2 years ago

I just changed the DNS on my unrooted Android to AdGuard's, went into the YouTube and I still saw the ads. What am I missing?

aalhour | 3 years ago

It's so slow though. Is there a way we can help the contributors to make it faster?

aalhour | 4 years ago | on: Ask HN: Which book or course gave you an unfair advantage?

* Thinking Fast and Slow

* The Selfish Gene

* Probability: For the Enthusiastic Beginner

* How to Measure Anything

* Rationality: From AI to Zombies

* Cynefin: Weaving Sense-making into the fabric of our world

* Major works of Friedrich Nietzsche

aalhour | 5 years ago | on: Go is not an easy language

What is horrible about Python wrt onboarding new engineers?

In my personal experience, I had an easier time getting onboarded on Python than Golang.

aalhour | 5 years ago

Can you share more about what resources did you study to bridge the FAANG L5 gaps in terms of knowledge and interview skills?
page 1