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 a…
Ask HN: Which tools have made you a much better programmer?
291–300 of 519 posts
Re: Ask HN: Which tools have made you a much better programmer?
#292Re: Ask HN: Which tools have made you a much better programmer?
#293- GNU/Linux + i3wm; complete control over my programming environment. - bash + GNU coreutils; seriously, take the time to be able to write helpful bash scripts which can run basically anywhere. - git; use it even when you're not pushing to a remote. Add helpful aliases for everyday commands. Build a good mental model of commits and branches to help you through tough merges. ( my ~/.gitconfig: https://gist.github.com/…
I upvoted the parent and want to emphasize vim key bindings. This is not necessarily vim the editor, it's your editor of choice in vim mode. Learning to use vim is like learning to touch type: it's initially a pain, but it's hard to ever go back once you've mastered the basics. If you haven't learned to touch type (it happens, I didn't learn until I was 22), then first learn that, then learn vim. FYI: Remap your caps…
https://stackoverflow.com/questions/28444740/how-to-use-vi-m...
Re: Ask HN: Which tools have made you a much better programmer?
#294That 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…
My main responsibility is developing and maintaining a microservice written in Java. However, one thing I've found invaluable over the years is developing operational tools to support my deployed code, in a language with a built in REPL. At different times, I have used Clojure and Jython for this (high level way to call my Java libraries, or to invoke APIs over the network), and most recently Ruby (has been easy to d…
Re: Ask HN: Which tools have made you a much better programmer?
#295Earlier quoted context omitted.
Agreed on gentle approach. I've started using libraries like Ramda for JS, which is especially designed to ease people into functional patterns. I then moved to FP-TS, which makes more heavy use of haskell-like patterns and monads. The hard part isn't the syntax of whatever language, but understanding the new patterns and way of thinking, which you can do with a simulation layer like FP-TS (for typescript/javascript)…
I too have started down the fp router with ramda and ramda-adjunct. Though other people at my work dislike it due to them not understanding what's going on
I would want to program in functional too, but I would seek out projects or teams that already use functional. I’d never introduce a functional language to an already established team or project, unless of course, I was the CTO and there were clear benefits.
Re: Ask HN: Which tools have made you a much better programmer?
#296The 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.
Unbelievably amazing to be able to shift-click on syntax and jump to the source - even works pretty well in dynamic languages. I HATE using a Gem then needing to break my train of thought to pull up the official documentation to see what an API interface looks like. Ctrl+click. In and out in 15 seconds.
This is why I love these sorts of threads :)
Re: Ask HN: Which tools have made you a much better programmer?
#297https://cscircles.cemc.uwaterloo.ca/java_visualize/
Copy and paste the class you're working on. Include a main() to act as a test driver and then let the Java Visualizer step through your code showing you exactly what is going on.
Re: Ask HN: Which tools have made you a much better programmer?
#298Not strictly a better programmer but a more efficient one. - FZF (Fuzzy Finder) really speeds thing up in bash when searching your history. - Vim (as others have mentioned). With the plugin vim-fugitive (a git related vim plugin). I love Gblame in vim-fugitive, as being able to look at the history of lines of code and stepping back in time can at times be very useful. - Creating various aliases. For example in git I…
Also works for
ls -> exa
cat -> bat
Re: Ask HN: Which tools have made you a much better programmer?
#299- GNU/Linux + i3wm; complete control over my programming environment. - bash + GNU coreutils; seriously, take the time to be able to write helpful bash scripts which can run basically anywhere. - git; use it even when you're not pushing to a remote. Add helpful aliases for everyday commands. Build a good mental model of commits and branches to help you through tough merges. ( my ~/.gitconfig: https://gist.github.com/…
Re: i3wm I installed it a couple years ago, went whole hog, down the rabbit hole, but realized a couple of things. 1. I rarely ever use anything more than a simple L/R split. 2. When I do use something more complex, it's almost always in the terminal, in which case why not use tmux? These days I'm back to using gnome because ubuntu switched to it over unity (which had a weird multitouch bug that drove me crazy). What…
Re: Ask HN: Which tools have made you a much better programmer?
#300For 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…
For zsh, I highly recommend zsh-histdb, it stores all your commands in a sqlite database, along with data like timestamp, current working directory, hostname, session id, etc... It has its own "histdb" command but the best part is that it integrates well with zsh-autosuggestions, so with the right SQL query you can make it suggest something "the latest command in the current session that matches, or if not found, the…