Live data from Hacker News

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

news.ycombinator.com

471–480 of 519 posts

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

#471

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 also want to thank you for this blog post. I'm a long time linux user, but just got a new machine and decided to start from scratch rather than try to port over my previous environment. Looks like just starting from your post will save me some time.

Thank you!

I am currently setting up a new desktop myself and will soon update the post regarding Ubuntu 20.04. However, this will only be very minor changes, almost everything still works exactly as described :)

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

#472

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

Both this and histdb look quite interesting. That being said, I never had the feeling that I am missing anything with zsh-peco-history.

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

#473
The Pomodoro technique has helped my productivity more than anything. So much so that I built Timmy (https://timmytimer.com ) and added social features for some added motivation (all timers are public - think of it like "Twitter for productivity"). Free and no login required if you want to try.

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

#474

I'm going to re-interpret the question more broadly than just "tools" (unless you consider a technique to be a kind of tool): * Taking good notes * Writing good plans, good documentation * Sharing updates and coordinating with the right people at the right time * Understanding an unfamiliar codebase * Test frameworks * Different design techniques (pure functions, dataflow programming, etc) * The terminal and related…

I'd love to get better at quickly understanding an unfamiliar codebase. Do you have any resources I could dig into?

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

#476
post #217

Earlier quoted context omitted.

Would you go into details about the one step deployment?

I usually have a shell script called 'deploy.sh' that does a bunch of git, test, deploy stuff. So part of my development workflow is calling "deploy dev", "deploy staging", and/or "deploy prod" to push any changes to the dev/staging/prod environments. The script makes sure changes are tagged, committed, and pushed, tests pass, builds and pushes container images, static files, and then rolls out binaries. The rollouts…

For a while I used pm2 to deploy stuff. It's honestly a nifty little tool but I'm moving away into a docker based solution.

Initially I was thinking into having a CI build the images and push it to the server and so one but for my personal projects, it's too much. So I might just do a bash script to build the image, push it to the hub and then connect to ssh to pull the image and restart.

Regarding your script, could you share a template?

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

#478

Watching Rich Hickey videos. Cider REPL Literate programming in Org mode Keeping outlines of notes in org mode for everything. Being able to execute the code in those notes is pretty friggin amazing.

Could you give your top 5 Rich Hickey videos for begginers?

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

#479

Earlier quoted context omitted.

Yhea this is nice but this simply does not work on all websites. The edge between working and browsing the web can be very thin on some websites. For Facebook it is easy just block it completely but reddit and youtube are difficult so what I do is that I use a plugin called stayfocused it allows you to set a amount of time (for me 30 min) that you are allowed per day to be on the websites you listed. On my second bro…

Why is reddit hard to block? I put that in my hosts from time to time and it works fine. The real problem is how incredibly hard it is to set edit the hosts file on mobile. At least without using a VPN app or something.

When you are programming in some lesser known graphics frameworks like libgdx or when you are using OpenGl then the special Reddit subpages are more active than stackoverflow. For example I implemented a framebuffer in OpenGL wrong a few weeks ago but the output then is just a black screen. Some redditor mentioned that specific thing in a comment on /r/OpenGL

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

#480
post #22

- 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/…

An excellent list. Regarding functional programming, I recommend starting with a gentle approach that doesn't require picking up a new language: 1. Stop creating counters/loops and become facile with map, reduce, and the like. This will shift your thinking away from blocks and toward functions. 2. Take the time to really understand what side effects are, and start avoiding them everywhere they are not necessary. Keep…

> 1. Stop creating counters/loops and become facile with map, reduce, and the like. This will shift your thinking away from blocks and toward functions.

I am not very comfortable with this. How can I learn to do this in traditionally non-FP languages like Java? (Am CS undergrad student)

Post reply on HN