Live data from Hacker News

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

news.ycombinator.com

271–280 of 519 posts

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

#271

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…

I would highly recommend checking out fzf for better history search. Found the recommendation on another similar thread here and from coworkers. It's surprisingly fast and very intuitive.

https://github.com/junegunn/fzf

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

#272
post #267

IntelliJ IDEA has taken refactoring from being a chore to being trivial, consequently making me much more likely to clean up ugly code when I encounter it. Black, the Python code formatter, means I don't have to spend a single brain cycle on styling the code. mypy (with a strict configuration) has forced me to think about types, making for code which is much easier to follow and integrate with. No more `if isinstance…

Do you have an example of the configuration you use with mypy? (If you could post it in a gist I should would appreciate it! I've done a couple mypy tutorials but I haven't pulled the trigger on adding it to my projects.)

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

#273
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

Nice! I create two-letter aliases, it truly helps: gc = git checkout gs = git status etc...

I have a ton of aliases but I have them all proceeded by an underscore. That way, I don't muck up native commands.

alias _up='sudo apt update -y && sudo apt upgrade -y'

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

#274
post #26

The Jetbrains suite. Lightens the cognitive load, makes it easier to refactor and keep code tidy. All of which allow me build better software. For almost everything else e.g. git, learning how to use the command line instead of a UI is the best way for me to learn how the tooling works.

Just downloaded the GoLand 30 day trail. First impressions are I now remember how slow and stuck in goo java based IDEs feel. What cool stuff should I look at as I am willing to be sold on this.

I have found most Idea performance issues are either, configured Java heap space, or indexing of project files that could be ignored. The default memory settings are generally pretty conservative, some larger projects run into issues immediately. If your system has plenty of ram to spare, I would recommend just giving it a few gig and seeing if things improve.

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

#276

Lately, using Jupyter notebooks. It's a paradigm change, and pretty close to what I would imagine Donald Knuth had in mind with literate programming. Just for example, being able to see the shape of variables and having that output stay there between coding sessions is a huge time saver. Add being able to plot data and using other visual tools right inside your code and well, I could go on and on. Just try it. It's l…

How do you integrate it into your workflow? Is your program scattered across blocks in a notebook or is it easy to pull everything together once it works the way you want?

Also, thoughts on jupyter vs co ok colaboratory?

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

#277
Continuous Integration tools.

I started with Jenkins and hated it, because it really encouraged configuration through an awful web interface. CI configs should live in version control!

(I know you can do that with Jenkins these days but I still haven't figured out how myself).

Then I got going with Travis CI and loved it - then Circle CI, then GitLab CI and today I'm mostly using GitHub Actions.

Every single personal project I build uses CI now. My tests, packaging and deploys are all automated from day one. It's an enormous productivity boost and lets me manage way more projects without worrying that I'll forget how to test them / package them / deploy them.

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

#278
Your preferred language's debugger. It really does show in coding interviews who has control over their environment and can debug rapidly. It doesn't matter if it's rudimentary pdb (basic python debugger) or LLdb, understanding how to structure code such that it's easily testable -and- debuggable is a hallmark of a senior developer.

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

#279

TabNine: https://www.tabnine.com/blog/deep (the code are GIFs which I had to click to play) This thing is fucking magic. It's ML autocomplete, with help from 'traditional' autocomplete methods that use static analysis. Instead of just completing one token at a time like traditional completers, it can do entire sentences or multiple lines of code in one go, and is freakishly accurate. And since it parses language it h…

I tried this when it first came out but it didn't seem much better than PyCharm's usual suggestions (which are admittedly excellent among its IDE peers). I rarely to (maybe never?) saw it do any multi-line suggestions, let alone accurate ones. It was also very slow to suggest anything in the first place (I believe the network calls were slow iirc, at least compared to local/native autocomplete)

Maybe its progressed and I should try it again today.

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

#280
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.

Leslie Lamport thinks the same:

https://dl.acm.org/doi/fullHtml/10.1145/2736348

Even a rough sketch is good enough a lot of the time:

https://m.youtube.com/watch?v=-4Yp3j_jk8Q

Post reply on HN