My favorite tools of 2017
Inspired by Louis Lazaris' article, here's a small-ish collection of tools that I discovered this year, ranging from frontend to iOS. I find them very useful and I hope you do too!
Prezto is a framework for Zsh. Earlier this year, I wanted to switch from bash to Oh-My-Zsh, only to be dumbfounded the latter's extreme slowness. It's probably some strange configuration issue particular to my machine, but something like running cd would take over a second. I started looking at alternatives and found Prezto. It's simple, easily configurable, has some great modules, and most importantly, it's blazingly fast. Unfortunately, the official repo does not seem to get updated a lot, so do as the readme suggests: fork the project and merge whatever open pull requests look good to you!
I don't like reading man pages. There's usually too much information packed into too many characters, and this is where tldr comes in. Instead of man, tldr returns a short description including practical examples and it's the examples that have made my life SO much easier. There are tons of clients for it, but if you want to give it a try first, try the web environment.
I've blogged about Gulp before, but I'm now also using it in production at work and I'm absolutely in love. The internet keeps telling me to use Webpack, which I'm sure is great, but I love how intuitive and light-weight Gulp is. My favorite packages, which you may want to look into, are:
- scp2 technically not a Gulp package, but works great with Gulp.
This website is not so much a tool as it is a resource, but nevertheless, it's very valuable. Whenever I have to create a component and I'm not sure what the best approach is, I just go to this site and the author clearly and concisely lays out best practices and how to implement them.
Obviously not a new kid on the block, but a few months ago I got the powerpack and ahhh! The workflows 😍! Here are my favorites:
- Encode/decode - transform strings through base64, html, url, and utf-8 encode/decode
- IP Address: retrieve your current IP address(es)
- Kaomoji - search for 'table flip' and (ノಠ益ಠ)ノ彡┻━┻ returns!
- HTML Entity Lookup
- Unicode Symbols Search
- fkill: search and kill processes
Karabiner Elements (MacOS)
If you use any kind of external keyboard you'll like Karabiner Elements. I mostly use it to automatically disable my built-in keyboard when I hook up an external keyboard, so I can put it on top of the built-in one :)
I used LimeChat as my number one IRC client for a very long time. It's great, but no longer maintained. So this year I switched to Textual. It's only a couple of euros, and supports things like OTR-messaging and has a powerful ZNC integration. Also, it looks really nice 🤗
WebStorm and VSCode
At the beginning of 2017, I switched from Atom to PHPStorm (and am now using WebStorm, as I'm not doing PHP development anymore). Using an IDE has -literally- changed my life. I've become a much better programmer: it's so much easier to find structure in a code base. For smaller, personal projects where I don't really need an IDE, I'm now using VSCode. I find VSCode to be a lot faster and more lightweight than Atom, and the extensions are great.
I'm not talking about the GraphQL client, sorry. I'm talking about Apollo for reddit! I browse reddit a lot, and this app is like AlienBlue (RIP) on steroids. It's completely free, but because it's so good, I actually tipped its creator. The only other free product I've ever donated to is Wikipedia, so I hope that tells you something. It's got a gorgeous dark mode, supports markdown, allows you to customize gestures, and is super fast. Also, it's built by just one person who also does tons of community outreach 😱