←back to thread

124 points akktor | 3 comments | | HN request time: 0.588s | source

This question's for all those cool projects or skills you're secretly fascinated by, but haven't quite jumped into. Maybe you feel like you just don't have the right "brain" for it, or you're not smart enough to figure it out, or even worse, you simply have no clue how or where to even start.

The idea here is to shine a light on these hidden interests and the little (or big!) mental blocks that come with them. If you're already rocking in those specific areas – or you've been there and figured out how to get past similar hurdles – please chime in! Share some helpful resources, dish out general advice, or just give a nudge of encouragement on how to take that intimidating first step.

Let's help each other get unstuck!

Show context
lormayna ◴[] No.44245019[source]
* Kernel development and eBPF: I tried many time to go deep on those topics, but never became proficient

* Bayesian statistics: I know the basics and the theory, but I am not able to understand how to use it in a real world problem

replies(2): >>44251930 #>>44253310 #
ddelnano ◴[] No.44251930[source]
For kernel dev and eBPF, what kinds of resources or tutorials have you tried in the past? Have you ever tried building something small or contributing to an existing project?

Curious to hear what hurdles you ran into.

replies(1): >>44255258 #
1. lormayna ◴[] No.44255258[source]
For kernel, I have tried to write simple modules and it's okay. But when I am going deep in the internals, things become really complicated and my memories from OSes exam are rusty. For eBPF, I wrote a quite simple DNS visibility tools and while I am okay with the logic, I struggled on writing low-level C code that parse the network packet. Moreover, I found documentation incomplete and really confusing, for example: I would like to understand how the different queues are working and the only solution was to read the code. Right now, anyway, it seems that this aspect is improved; probably it's the time to play again with that!
replies(1): >>44268826 #
2. ddelnano ◴[] No.44268826[source]
For Linux kernel dev, I found Linux Kernel Programming: A Comprehensive Guide to Kernel Internals to be a really helpful resource. For eBPF, the early chapters of Brendan Gregg’s BPF Performance Tools gave me the context I needed to get started.

From there, what’s helped me most is a cycle of reading new material, building prototypes and exploring how an open source system solves similar problems. I've definitely hit that wall as systems programming can get confusing fast.

I’ve also noticed that I sometimes get stuck trying to make something perfect before I’ve even started experimenting. Forcing myself to build the lowest-effort version of an idea has been surprisingly productive. Debugging things that don’t work is frustrating, but that failure often reveals insights I wouldn’t have discovered if I were overanalyzing.

You’ve probably seen some of these resources already, but just sharing in case any of it’s useful. I work with eBPF full-time and had many similar challenges along the way, but recommend jumping back in when you have the time.

replies(1): >>44287965 #
3. lormayna ◴[] No.44287965[source]
Thank you! I already know Brendan Gregg, but never read his book.

> I’ve also noticed that I sometimes get stuck trying to make something perfect before I’ve even started experimenting.

Exactly, this is something that I am struggling with too.