Live data from Hacker News

Ask HN: Which tools have made you a much better programmer?

news.ycombinator.com

351–360 of 519 posts

Re: Ask HN: Which tools have made you a much better programmer?

#351
post #5

- Version control - Unit testing - Leak detectors (for languages like C/C++) - Race detectors - Auto-formatting (eslint, gofmt) - A solid editor (prev: vim, now: vscode) - One-step deployment scripts/automation (even for small projects) I have not found a lot of value in debuggers, outside of after-the-fact debugging (e.g., core files.) I much prefer printf-style debugging.

> I have not found a lot of value in debuggers, outside of after-the-fact debugging (e.g., core files.) I much prefer printf-style debugging. Have you heard of/tried rr? I think you might find that it fits your thought process better than traditional debuggers. https://rr-project.org/

Never heard of it, but I'll take a look. Thanks for the pointer. :-)

Re: Ask HN: Which tools have made you a much better programmer?

#352
Google + examples

I remember learning to program C in the 1990s as a teenager, and often taking a long time just to learn how to do something very simple. This was mostly because the compiler-provided documentation was sparse, and the books that I had only had a single point of view.

Now, I can Google "[language] [task] example" and read through 2-4 examples of how to do something. Then I can go back and look at the docs and they make significantly more sense. Often what would take 4-6 hours, or longer, to figure out from just the official language / API documentation can be figured out in 20-40 minutes.

Re: Ask HN: Which tools have made you a much better programmer?

#353
TODO lists for which I use org mode, but you could use practically anything. I like a text editor for this rather than an app, per se, just because it keeps me in the flow. All you need is a place to jot down what you are planning to do next and to be able to arrange the order.

Usually I'll start with pretty high level ideas. If I have a story I'm working on, I'll put the description of the story in my TODO list. Then I'll think for about 5 minutes about what general things need to get done. I'll order these by some priority (doesn't really matter usually, to be honest). Then I'll start working on the first one.

Normally I need to poke into the code to really see what I have to do. I'll often add a sub-task to my first one that says, "Figure out what to do" or something like that. Then I'll do some exploratory coding for a few minutes. As I discover what needs to get done, I write it down in my TODO.

It's hard at first to stop yourself from just writing code, but pulling yourself back for the 20 seconds or so it takes to write down what you are just about to do can be surprisingly valuable. Don't censor yourself either. It's fine to guess what you need to do and then delete stuff that you realise is unnecessary later. As you are coding, any time you think, "Oh, I'm going to need X", add it to the TODO (again, difficult to train yourself to do it consistently!)

Once you get good at this, in my experience you will be quite interruptible. Any time I get distracted, or unfocussed or lack motivation, I just look at the top think on the TODO and say, "I'm just going to do that top thing". It always pulls me in.

I don't always code like this, but every time I do I'm dramatically more productive. I should always code like this, but... sometimes you want a relaxed day ;-)

Re: Ask HN: Which tools have made you a much better programmer?

#354
post #94

Earlier quoted context omitted.

My life was also improved with some additional aliases in my git config: [alias] dfif = diff idff = diff grpe = grep

Years ago Interlisp (does anybody here remember Interlisp?) had a function called DWIM (AKA Do What I Mean). It was an (optionally enabled) part of the REPL. If you typed something that made no sense, DWIM would try to figure out what you really meant to type, and offered to run the corrected command. I have often wondered why that functionality disappeared, and why no one has tried to resurrect it. Search engines of…

https://github.com/nvbn/thefuck

Re: Ask HN: Which tools have made you a much better programmer?

#355
> What have you added to your workflow that's made you much more productive?

A second monitor and tiling window manager (or in my case Magnet, which adds simple tiles to MacOs).

When I added a second monitor to my setup my productivity exploded. It's just really nice to have one window full screen in my IDE and the other window with reference material, a shell, scrolling logs, etc.

Never having to switch away from the code is huge.

Re: Ask HN: Which tools have made you a much better programmer?

#356
- git: specially branching, rebase, and GitHub PR etiquette.

- regex: the deeper topics such as backtracking, look behinds, etc help too.

- How DNS works: how they work, TTLs, etc.

- How TLS works: performance and security tweaking.

- SQL: modern SQL can do quite a lot!

Re: Ask HN: Which tools have made you a much better programmer?

#357
post #320
post #289

Earlier quoted context omitted.

The thing about learning Latin (not that I am great at it), at least for an English native speaker, and the epiphany English language speakers have, is the realization that language can have structure and can be discover-able, if I know a root word then I can almost be sure that I know the meaning of con, re, dom etc. There is just no equivalent to that in English other than the Latin origin words we borrowed, becaus…

Isn't beaucoup French?

yes, and as Army slang, it made it into American English through Vietnamese

Re: Ask HN: Which tools have made you a much better programmer?

#358

Years ago I switched from Mac OS/Apple when I became a developer/data scientist to linux based system. (ubuntu) I understand there are similarities between MAC OS and Linux... etc. Being on the same OS as most of the web servers saved me time in learning the basics of linux, bash, etc. Also at the time I couldn't afford to keep buying new software license. The only enterprise software I use is Navicat for user frienl…

I don't know Navicat but I use DBeaver and am super happy.

Re: Ask HN: Which tools have made you a much better programmer?

#359

Earlier quoted context omitted.

Some people say learning Latin makes you a better writer, smarter, etc. even if you're unlikely to directly use it. Dubious claims but it feels like FP can be like that.

Sure. When learning Latin, well, you learn to read and write Latin. You absorb the language's principles by learning the language, not by trying to highlight them in a language you already know. That can only give a much shallower appreciation.

Not quite true - many complexities of grammar are shared between the languages and it is often useful to structure the learning of Latin around the English patterns of grammar.

Re: Ask HN: Which tools have made you a much better programmer?

#360
post #320
post #289

Earlier quoted context omitted.

The thing about learning Latin (not that I am great at it), at least for an English native speaker, and the epiphany English language speakers have, is the realization that language can have structure and can be discover-able, if I know a root word then I can almost be sure that I know the meaning of con, re, dom etc. There is just no equivalent to that in English other than the Latin origin words we borrowed, becaus…

Isn't beaucoup French?

Oui, https://en.m.wiktionary.org/wiki/beaucoup
Post reply on HN