Live data from Hacker News

I quit my job to focus on SerenityOS full time

awesomekling.github.io

231–240 of 264 posts

Re: I quit my job to focus on SerenityOS full time

#231
post #214
post #188

Earlier quoted context omitted.

Andreas has made a couple of videos about why he purposefully doesn’t use a debugger (which I can’t find now) but it’s related to how he prefers to focus on a whole programs behavior and work out what’s wrong from his understanding of what it’s doing by reading the source and logs. Incidentally Linus doesn’t use a debugger either.

Interesting. To each his own, of course - but in this one particular video, the print-debugging he does, might have been quicker and easier in a debugger (or perhaps with a core dump?). Then again, maybe not in c++. I admit, I work mostly with ruby these days, which of course has a quite decent repl and debug experience (still whish it had full smalltalk style crash(missing method) > debugger > fix/add method > resum…

I'm used to fix and understand issues in big C++ codebases, and while eventually use a debugger, i feel that printing while passing is much better because you can see the bigger picture.

Is like putting a bell in each step so when the running bunny passes over it rings.

Later you see every place the bunny passes over and what it did, i feel its much faster to grasp and understand whats happening.

Debugging feels very slow, and i mostly use it to analyze core dumps. Also in multi-threaded/multi-process code it can change the result/output as other parts (like processes) might still run detached from the debugged thread.

Anyway, i don't like forced rules, you should use whatever works the best for you, because in the end we all have a intelligence to analyze things for our particular scenario much better than someone with a generalized point of view can.

We should always be open to learn and to see other perspectives but once we are settled we should also learn to trust ourselves and bend the "rules" when there's a need.

Re: I quit my job to focus on SerenityOS full time

#232
post #112

Windows NT/9x/2000 represented the high point for aesthetics. Light grey, rectilinear, clear delineation, all contributed to being easy on the eye and functional. Glad to see it make a comeback.

That style is a bit too brutalist for my tastes. I prefer a splash of color, like with BeOS or something like that.

Ya'll remember Enlightenment? That was my jam.

Re: I quit my job to focus on SerenityOS full time

#234
post #171

I highly recommend checking out his YouTube channel [0]. He's an _incredibly_ thoughtful person and provides good lessons in staying focused and keeping scope down. I consider him a mentor and his approach to software is something I really resonate with. He has a keen focus on software quality but understands he can't make everything perfect in one sitting. This approach helped me get away from decision paralysis in…

Nice tip, I started with something short - writing a screenshot utility: https://youtu.be/3BF-vUts3ws Ed: i really enjoyed the video, but I feel it could have been even better (and shorter) if he used a proper debugger for the second part. But I don't know if that is available in the os. The more I use a debugger, the more I realize I should use a debugger, and the earlier I should use a debugger. Advice/directions t…

Relevant: his youtube video on why he does not use a debugger https://www.youtube.com/watch?v=epcaK_bhWWA&t=404s

Re: I quit my job to focus on SerenityOS full time

#235
post #186

Earlier quoted context omitted.

Debuggers are a great learning tool, but I’ve found they’re useless when diagnosing production issues. At best, you’re using C/C++ and after the crash, you get a minidump from a customer/server. Eventually, I learned to write code that was so obviously correct and had such good error messages that I haven’t needed to use a debugger in a long time. In fact, I don’t even know how to invoke a debugger for most languages…

Debuggers aren't quite as useful with C++ indeed. But that's a good reason to use C++ less. I diagnose issues drastically faster with a debugger all the time. Often I'll write a unit test that reveals a bug, but just looking at the code doesn't quite reveal where the bug is. But sticking a few breakpoints in the right places and examining the data structures directly makes it really obvious. Eventually, I learned to…

I've spent much of my career debugging C++ in rather large code bases, after inserting said bugs myself usually. If you have a set if inputs that make the problem reproducible, a debugger usually makes finding the error trivial. The only times it has taken a while is when someone (not me in this case) has done something horrible with unsafe casts, ignoring data hiding to violate a class invariant, or memcpy, or... So basically old style C. Building for release with debug info helps. Debugging with a debug build is easier sometimes, but sometimes it masks or in rare cases, creates bugs.

Re: I quit my job to focus on SerenityOS full time

#236
post #214

Earlier quoted context omitted.

Interesting. To each his own, of course - but in this one particular video, the print-debugging he does, might have been quicker and easier in a debugger (or perhaps with a core dump?). Then again, maybe not in c++. I admit, I work mostly with ruby these days, which of course has a quite decent repl and debug experience (still whish it had full smalltalk style crash(missing method) > debugger > fix/add method > resum…

I'm used to fix and understand issues in big C++ codebases, and while eventually use a debugger, i feel that printing while passing is much better because you can see the bigger picture. Is like putting a bell in each step so when the running bunny passes over it rings. Later you see every place the bunny passes over and what it did, i feel its much faster to grasp and understand whats happening. Debugging feels very…

Multiple threads can change behavior, especially if it is a thread safety problem you are debugging. Debugging takes time mostly to reproduce the bug. If you had rr I think it might be as fast as using good logs.

Re: I quit my job to focus on SerenityOS full time

#237
post #188
post #171

Earlier quoted context omitted.

Nice tip, I started with something short - writing a screenshot utility: https://youtu.be/3BF-vUts3ws Ed: i really enjoyed the video, but I feel it could have been even better (and shorter) if he used a proper debugger for the second part. But I don't know if that is available in the os. The more I use a debugger, the more I realize I should use a debugger, and the earlier I should use a debugger. Advice/directions t…

Andreas has made a couple of videos about why he purposefully doesn’t use a debugger (which I can’t find now) but it’s related to how he prefers to focus on a whole programs behavior and work out what’s wrong from his understanding of what it’s doing by reading the source and logs. Incidentally Linus doesn’t use a debugger either.

There's a scene in Netflix's The Queen's Gambit where two skilled Chess players are driving to New York. During the monotonous drive, they decide to play Chess. But they do so entirely verbally, no board involved as they are skilled and are able to hold the boards state within their heads.

The best way to explain how I debug is through this metaphor. I don't need the debugger to know what's happening. I know exactly what's happening with my code. The only reason I use print statements is to know what's being returned to me through other people's black boxes. I don't want to be limited to one black box query per run, so I can add multiple statements exactly where I think the black box is being weird.

Re: I quit my job to focus on SerenityOS full time

#239
post #188

Earlier quoted context omitted.

Andreas has made a couple of videos about why he purposefully doesn’t use a debugger (which I can’t find now) but it’s related to how he prefers to focus on a whole programs behavior and work out what’s wrong from his understanding of what it’s doing by reading the source and logs. Incidentally Linus doesn’t use a debugger either.

There's a scene in Netflix's The Queen's Gambit where two skilled Chess players are driving to New York. During the monotonous drive, they decide to play Chess. But they do so entirely verbally, no board involved as they are skilled and are able to hold the boards state within their heads. The best way to explain how I debug is through this metaphor. I don't need the debugger to know what's happening. I know exactly…

I use a debugger to step into libraries and other people’s code regularly. Irrespective of whether I can or cannot hold the logic in my end I don’t find it particularly useful.

I’m not sure why a useful utility is so polarising. It’s a helpful aid - like a chisel in a carpenter’s toolbox.

Re: I quit my job to focus on SerenityOS full time

#240
post #169

Earlier quoted context omitted.

These use color syntactically.

Not just syntactically, e.g. the default Visual Studio theme is all blue (menus, buttons, etc.)

Most IDEs are gray.

Microsoft is trying to be quirky, same with Office, and I don’t know how well it’s working.

Post reply on HN