Things I share to programmers
- 6 minutes readDon’t reinvent the wheel
So many things to read, cool stuff to try, great tools to use but where can we start? Answer inside.
Hi, I’ve repeated myself quite a few times and shared these awesome things to a few ones, so here they are on a single page! :)
Where are you?
Know where you are, there’s so much to learn. Focus on the things you want to do. I wanted to learn Computer science in general, programming apps, web apps, websites, apis, deploying servers, etc. I found myself doing a lot of things in Front-end, Back-end and Devops.
This roadmap is very accurate, know where you’re going.
Sindre Sorhus
If you don’t know Sindre Sorhus, well go see his stuff right now, it’s magic 🦄. He has a lot of very neat projects on Github and many great posts on his blog. His Ask Me Anything (AMA) is really fun to read.
Awesome
Don’t reinvent the wheel
Are you looking for places to get started on a subject, technology or anything? Start from the awesome list of awesome lists (Sindre Sorhus is the guy behind this).
Django
I’m a django framework fan so I really enjoy the awesome-django list.
You must read 12factor and you must also Obey the Testing Goat!, we need more tests and less shitty code with well designed apps. Stop wasting your time.
- Factory boy In your tests
- Faker In your tests
- django-rest-framework If you’re about to create an api
Angular
I don’t prefer angular more than other frontend frameworks, but I used to work with it quite a few times.
If you’re about to start a project, you may want to compare frontend frameworks, have a look to todo mvc.
- Learning Angular 1? See awesome angular 1 list.
- Angular 2? See awesome angular 2 list
Terminal
Proper User Policy apparently means Simon Says. source xkcd
As usual, awesome-shell.
Learning the command line
You should read The art of command line and learn all the things in section Everyday use.
I don’t know what’s worse–the fact that after 15 years of using tar I still can’t keep the flags straight, or that after 15 years of technological advancement I’m still mucking with tar flags that were 15 years old when I started. Source xkcd
Install tldr and start learning.
tldr tar
tar
Archiving utility.
Often combined with a compression method, such as gzip or bzip.
- Create an archive from files:
tar cf target.tar file1 file2 file3
- Create a gzipped archive:
tar czf target.tar.gz file1 file2 file3
- Extract an archive in a target folder:
tar xf source.tar -C folder
- Extract a gzipped archive in the current directory:
tar xzf source.tar.gz
- Extract a bzipped archive in the current directory:
tar xjf source.tar.bz2
- Create a compressed archive, using archive suffix to determine the compression program:
tar caf target.tar.xz file1 file2 file3
- List the contents of a tar file:
tar tvf source.tar
You get the point ;)
Shell pimping
I personally use oh-my-zsh with sindresorhus’s pure theme and a few plugins setup. Further reading at awesome-zsh-plugins.
OS
Windows
Disclaimer: I have not actually tried the beta yet. I hear it’s quite pleasant and hardly Hitler-y at all. Source xkcd
You should use chocolatey package manager to install things. I recommend using conemu (choco install conemu
) with git bash
(choco install git
) for your daily windows terminal stuff. Other terminal alternatives here.
Jump to windows awesome list directly for more great stuff in general ;)
Oh and if I still have your attention, you may want to disable windows spying on you. Have fun reading reasons not using microsoft by Richard Stallman.
MacOS
‘Smilodon fatalis’ narrowly edged out ‘Tyrannosaurus rex’ to win this year’s Most Badass Latin Names competition, after edging out ‘Dracorex hogwartsia’ and ‘Stygimoloch spinifer’ (meaning ‘horned dragon from the river of death’) in the semifinals. Source xkcd
You should setup quick look plugins, use iterm because the terminal that comes with MacOs isn’t fun. Have a look to these mac os tips and tricks from sindresorhus. Some tools worth paying for:
- Alfred Spotlight replacement with way too many features. Buy it mostly for its clipboard manager, it’s really great :)
- little snitch Really nice firewall if you like seeing what your apps are doing on the internets
- Dash offline documentation fast access
- iStat Menus (and other apps from bjango), it’s nice if you have the money ;)
There are many great applications out there, I found these worth paying for, but there are way much more, as usual, awesome list
Linux
We actually stand around the antivirus displays with the Mac users just waiting for someone to ask. Source xkcd
I worked on Ubuntu in the past but I was tired of always installing ppas
. Archlinux is awesome, very nice wiki, but kind of hard to setup and maintain. I really enjoyed my time on Fedora. If you use Fedora, have a look to Fedy, it’s quite handy.
Anyway, have a look to awesome linux.
Git
If that doesn’t fix it, git.txt contains the phone number of a friend of mine who understands git. Just wait through a few minutes of ‘It’s really pretty simple, just think of branches as…’ and eventually you’ll learn the commands that will fix everything. Source xkcd
Oh man, too much things to say about git. See development-environment section on awesome.re, there are multiple git lists out there.
I also wrote a post and gave a presentation about git where I recorded this asciinema:
I suppose you get it now, find the stuff you need in awesome lists of awesome lists and enjoy.
Search engine
Why are you always typing
! something
in your browser’s search bar?
Well I prefer using duckduckgo search engine. It’s not tracking me and it has a lot of bangs
. See for yourself, try searching !wa pikachu
.
Take notes
There are plenty of tools for taking notes, I personally like Github gists with markdown and syntax highlighting. If you start noting things early, you’ll end up with a nice database of snippets where you can search for things. Bonus point if you put some of them public! 🤗
Install editorconfig everywhere
Install editorconfig in all your IDEs and Text editors so you don’t mess up line endings and tab spacing anymore. 😉
Learning a new programming language?
You know c#
but you never wrote a line of python
? Have a look to Learn X in Y Minutes. If you already know the basics, things will go fast. It’s more about the syntax, but It’s a really nice reference.
If you have suggestions for more in here, feel free to poke me or open an issue. Hope you enjoyed this and that you learned a few things.