Steve Losh is a programmer who writes about Common Lisp, Clojure, Vim, Mercurial, and Git.
HN repeatedly recommends his "A Road to Common Lisp" as a roadmap for learning the language, and his Clojure roguelike series.
If you editor has a correct git support, you never need to do git status because it will show you which files had been edited since the last commit.
Every time I hear people saying how much they prefer the git command line is because they never seriously tried to leverage the git features of their IDE.
Vs code with git lens or intellij idea have excellent git integration. Everything is one shortcut away.
The git commands that are used are log into a console if you want to check.
At the end of the day both methods work, it's just a matter of preference but it is worth trying a good git UI.
Also if you ever try to teach someone git, it's not as intuitive as you think [1]. Having a consistent UX can help.
That's why there is definitely a space for this kind of git UI as presented in the article.
[1]http://stevelosh.com/blog/2013/04/git-koans/
> Also, follow the development of Django and comment on the intentional breaks if you think they’re not worth changing.
I really don't want to be sucked into Django's drama:
https://us.pycon.org/2015/schedule/presentation/381/
I've encountered very little sympathy from Django developers. Everyone seems to have just accepted that it breaks often and it's totally my fault for not keeping up with the breaking changes. Everyone seems to think that Django breaking compatibility all over the place is good, proper, acceptable, and inevitable. Nothing is sacred, anything can break, and make sure you go through that list each release to see what you have to change in your code.
This makes me sad and frustrated.
http://stevelosh.com/blog/2012/04/volatile-software/
" It also has the downside of requiring extensive use of more advanced features like interactive rebasing."
This is true. In the early days of mercurial (back before it was clear that git was winning the popularity contest) there was an extension called Mercurial Queues[1] that made it really easy to work this way. The downsides were: it didn't handle conflicts well, and it could totally destroy your work if you weren't careful. Since then someone has written the Evolve extension which is Mercurial Queues done right. That, sadly, came about after git had "won" the popularity contest.
1. Best explanation of Mercurial Queues: http://stevelosh.com/blog/2010/08/a-git-users-guide-to-mercurial-queues/
I think hg is more consistent, more polished, and sometimes involves a bit fewer steps to accomplish the same tasks.
One of the best (and funniest) criticisms of the git command line is the famous git koans. http://stevelosh.com/blog/2013/04/git-koans/
git branch -d
git remote rm
Is a prime example of how, if you designed it from scratch, you wouldn't leave inconsistent. "List things", "delete things" etc are activities that should work the same for all kinds of objects. the Git cli isn't designed with that thought. It's organically grown and every change is more or less irreversible because the human interface UI is used in programming (What I like to think of as the biggest flaw of Unix)
I switched back to mutt 5 months ago, when my startup started to grow fast and I needed a sensible way to deal with lots of email in multiple accounts. I haven't looked back. I still have gmail as a back-end, but I use mbsync to keep local copies of all my accounts, and msmtp to send mail.
Some resources I found helpful:
- http://stevelosh.com/blog/2012/10/the-homely-mutt/ (good, but it recommends offlineimap — I tried it and found it to be slow and buggy. mbsync is much better.)
- https://github.com/cbracken/mutt
- https://lukespear.co.uk/mutt-multiple-accounts-mbsync-notmuch-gpg-and-sub-minute-updates
Nice, but IMO it falls, as the Bullet Journal, into the category of beauty over result. I just think that simpler, less structured systems provide comparable results in terms of getting things done, while wasting less effort on the nonessential aspect of system.
As for alternatives, my favourite is t (http://stevelosh.com/projects/t/). Truth be told, it may be way too simple. But yet again, complexity needs to be justified.
As a side note, remember that you can do for organizing tasks an argument similar to xkcd's on automation:
https://xkcd.com/1205/
https://xkcd.com/1319/