Live data from Hacker News

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

news.ycombinator.com

81–90 of 519 posts

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

#83

Solarized Color Scheme - You spent more time looking at your code than you see your spouse. A good color scheme reduces fatigue especially when you are working through your code for long periods.

What color scheme helps with looking at my spouse? Ba dum tss!

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

#84
post #29

Earlier quoted context omitted.

Lenovo ThinkPads are similar in build quality and processing power while being significantly cheaper and they have a usable keyboard. Same for Dell XPS, I believe, but my company is using ThinkPads. Windows is usable even for node and git development nowadays.

Can I ask if you've tried using one with Linux (Ubuntu or Mint)? I'm thinking of getting a ThinkPad next but I would prefer to use Linux over Windows and I'm wondering how well it runs Linux.

I'm using Ubuntu on a ThinkPad x230. Works flawlessly for years.

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

#85

Earlier quoted context omitted.

For a very long time I didn't use anything besides just plain vim, 2 biggest things to add to your vim use is undodir and YouCompleteMe. Crazy that I didn't have either of these for so long, undodir I wish was part of the default.

To add to this, vim quickfix-reflector ( https://github.com/stefandtw/quickfix-reflector.vim ) was life-changing for me. It lets you modify and save code from the quickfix buffer, so when you search for something and it shows up in the qf, you can do a find replace / edit / etc. This is especially great for mass refactoring / renaming.

Woah, that's awesome. I use ^f for ack.vim, so combining that with quickfix-reflector sounds superb. Thank you!

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

#86
post #74

Writing the overall design in plain English before writing the implementation. Not super detailed, but the main data structures and invariants and mechanisms that will make the implementation working. Then start the implementation refining such document as I discover new things.

Absolutely this. When facing a tough problem it’s a great tactic to write out what you’re trying to solve and how you plan to solve it in prose-style English.

I’ve done it often without ever sharing my writings with anyone at all, and always felt that the code turned out relatively good as a result.

I’d also add that a very prototype that you throw away also helps line up your thoughts.

The key is having something reasonably concrete in front of you that forces you to think of the invariants, compromises, etc in the system. Before making all those decisions concrete by writing loads of code

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

#87
post #13

That would easily be using an integrated REPL. The more integrated it is (with your IDE/editor) the better the experience and productivity boost. And the difference is quite large. When you are working with a language that has first class REPL support you start to - 'get' why Emacs exists - become faster at writing code in general - write much more experimental and open - become more motivated in testing smaller assu…

I completely agree with the point about integrated REPL/IDE, and wanted to share some of the combinations I have used in the past, since it can be a concrete getting started point for those who are curious. Some of these are not literally repls, but IMO give a similar experience.

- ClojureScript with Figwheel and the web browser

- Clojure with Emacs Cider, Clojure with Cursive

- R and Rstudio

- Matlab

- ipython jupyter notebook

- Pycharm debug breakpoints that are triggered by unittests (Running the unittest to initiate a python repl at the breakpoint)

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

#89
For me, the transition from Bash to Zsh has been a huge efficiency boost. Mainly because of some great plugins for Zsh, such as z, zsh-peco-history (better history search), zsh-autosuggestions, and zsh-syntax-highlighting.

My blog post about setting up a Linux workstation describes this in detail: https://tkainrad.dev/posts/setting-up-linux-workstation/#swi....

The best thing is, there is no initial productivity hit. You don't miss out on any shell features that you are accustomed to.

Also, learning complex IDE features really pays off. At the very least, become familiar with the debugger.

Finally, I spent the last months making https://keycombiner.com/ in my spare time. It is an app for learning keyboard shortcuts and getting faster/more accurate at using them. It already made me more productive because I learned a lot of new shortcuts and found some problems in my typing accuracy.

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

#90
post #29

Earlier quoted context omitted.

Lenovo ThinkPads are similar in build quality and processing power while being significantly cheaper and they have a usable keyboard. Same for Dell XPS, I believe, but my company is using ThinkPads. Windows is usable even for node and git development nowadays.

Can I ask if you've tried using one with Linux (Ubuntu or Mint)? I'm thinking of getting a ThinkPad next but I would prefer to use Linux over Windows and I'm wondering how well it runs Linux.

In general, Thinkpads work great with Linux. You'll want to check your specific model though, especially if you're buying a version that's just been released.
Post reply on HN