Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

- xmonad

No distractions and I can program my window manager to organize my windows.

- git

I was once fan of mercurial, but I like git better now. Everytime I find new interesting ways to use it. Also outside it's traditional uses.

- (n)vim

I use other editors, but I turn them into vim. It is easy to use and makes typing in your solution of your problem in the language of choice less boring. (The coding part)

- awk

God, I love awk. It is like the swiss army knife of unix. You can do everything with it.

- latex

If I want to order my mind by writing a bit or making a nice design, create some documentation. Latex is your friend.

- dot

If I want to sketch something, dot will help. Dot also helps with other stuff, dependencies between things. It is easy to write out a dot file.

- profilers

Any fucking profiler will make your a better programmer. It will test your assumptions about the underlying model.

- debuggers

You can't do things without them ^_^

- static type systems

Learn to think in types is a big win and not a weakness. You can encode properties in type systems.

- mathematics

Learn it, use it. It will give you new ways to think. E.g. algebra is about composability. So first thing I do is when I have a problem is write out the data types and think out its algebra. And it keeps your mind active, just churn through some mathematical topic once in a while. I loved type theory. Lambda calculus, abstract algebra, linear algebra and am know learning point set topology.

- esoteric languages

They are fun and force you to rethink what computation is. Design a couple yourself. I can compute in any language with weird constraints. I just need to build a machine in it.

- keep playing around

Not everything you do needs to be a project, just make something useless. E.g. I like jotting down shit in netlogo, which is utterly useless, but fun to watch.

- zsh

Where am I without you? ZSH can interface with everything. I write small tools from finding ec2 instances in the cloud by tag to presenting searchable menus binded by keys with a little help of small programs.

- the core utils

Learn them by heart, you will never have to click ever.

- Learning new programming paradigms

I loved stack based programming, functional programming, thinking in excel (data flow). There is no one solution to everything.

- domain specific languages

Learn to make them, it is fun and an extremely powerful tool in the programmers toolbox.

- parsers

Don't be afraid of them, they are your friend. And often easier than regexes.

- learn how to search

Big skill, not everybody does this right.

- Programming notebooks

Why is this not standard? Mathematica is brilliant with this and while I don't like python, but jupyter is very good.

- IDE's

They are useful. Don't be vain.

- Make designs

Plan what you are going to make. That helps a lot.

- Property style testing

Checkout quickcheck ^_^

That is my list. It is not exhaustive.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: