Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
toolbox
My toolbox 🧰 A list of tools I use on the job.
https://github.com/nicolas-heinig/toolbox
- rails - My favourite ruby framework for many years. I use it every day on the job.
- sinatra - When I want to try out smaller web applications, Sinatra is usually my choice. It's very lightweight, but can be enhanced with many many plugins.
- hanami - Another framework that I experimented with. I like that it has some of my favourite tools baked in, for example rspec and the interactor pattern.
- rspec - This is the testing framework of my choice. Whether I write unit tests or web acceptance tests with capybara, RSpec gets the job done. [Effective Testing with RSpec 3](https://pragprog.com/titles/rspec3/) helped me a lot to get to know the tool.
- interactor - When the business logic goes bigger, I like to organize it in _interactors_, so that I can keep my controllers slim and my models focused on DB interactions. The gem provides a common interface and other helpers.
- guard - To automate tasks that should be run whenever I save a file, I use guard. It runs my specs and rubocop every hour at least 100 times while developing.
- rubocop - The standard linter for the ruby world. It helps a lot to follow the [Ruby Style Guide](https://rubystyle.guide/). After I worked in a project that ran without rubocop for 2 years, I know how much value you get from it.
- shoulda-matchers - If I can use rails to write a one-liner validation, why shouldn't I be able to use a one-line test for that?
- factory-bot - I use `FactoryBot` to generate model instances or their attributes for my specs.
- faker - I am kind of bad when naming test data. `Faker` helps me to generate more sane names, adresses, movie titles and much more.
- devise - When I need to introduce authentication to my applications, Device is my tool of choice. It is very powerful, but you can scope out things you don't need.
- geocoder - This helps a lot when you need to work with location services. It features many APIs and integrates seamlessly with my default stack.
- mysql - I am most familiar with using MySQL as a datastore.
- postgresql - When I run own projects on heroku, I tend to use postgres, as the integration on heroku side is very advanced.
- redis - For Caching purposes or projects where I don't need a full relation database setup, I use redis.
- zsh - My go-to shell is zsh.
- oh-my-zsh - Enables easy customization of the shell. Below I list the top 5 of my favorite plugins.
- git - Autocomplete and aliases for git commands.
- docker - Autocomplete for docker commands.
- rake - Reads out our Rakefile and tasks and autocompletes the command.
- zsh-syntax-highlighting - Syntax highlighting in the shell. I like that it shows the command in red when it does not exist.
- zsh-autosuggestions - Suggests commands from your history again. Very helpful if you are keen to smash the arrow up button over and over again.
- iterm - The terminal replacement I use. I enjoy splitting the panes and getting notifications when a long-running command finally finishes.
- thefuck - You did a small typo? No problem. Just type into the console what you might whisper to yourself and let the magic happen.
- tldr - This nice command gives you a small summary of typical usages for the most commands.
- neovim - I belong to the cult. My configuration is built from scratch, but hidden in my private dotfiles repository.
- IntelliJ - Whenever I need to code on a JVM language like Java or Scala, I use IntelliJ.
- git - Must have. I like to squash merge feature branches into the master for a clean history.
- homebrew - I work on MacOS. Homebrew provides the necessary packages for everything.
- docker - We run our infrastructure based on docker. But I also like to use it for development to run applications or backing services.
- Grafana - Grafana is my choice for metric visualization.
- Graphite - I use Graphite to store metrics for Grafana.
- statsd - StatsD is a small metric collector that collects metrics as UDP packages and flushes them into Graphite. There are libraries for many programming languages.
- Sentry - Simple free exception logging for various tech stacks.
- Microsoft To Do - I organize my tasks in Microsoft To Do using the [Getting Things Done Methodology](https://gettingthingsdone.com/).
- Google Keep - The note taking application of my choice. Notes are easy to write, and easy to organize with labels. The only thing missing for me is markdown support.
- 1Password - I use 1Password as my password manager. It stores not only the passwords for various websites, but also passwords that I share with my team inside a shared vault.
- Skitch - Quickly take a screenshot and use arrows, boxes, etc. to highlight important elements.
- yEd - For various visualizations yEd is a easy to use but powerful tool. You can use it for flowcharts, diagrams and many others.
Programming Languages
Keywords
ruby
8
shell
6
rails
4
zsh
3
testing
2
rspec
2
metrics
2
terminal
2
api
2
c
2
devise
1
geocoding
1
geocoding-api
1
geocoding-objects
1
geocoding-requests
1
cli
1
cli-app
1
oh-my-zsh
1
zsh-configuration
1
themes
1
oh-my-zsh-plugin
1
oh-my-zsh-theme
1
theme
1
ohmyzsh
1
plugin-framework
1
plugins
1
lua
1
neovim
1
nvim
1
text-editor
1
vim
1
rack
1
sinatra
1
web-framework
1
hanami
1
ruby-application
1
web
1
web-application
1
factories
1
factory-bot
1
factory-girl
1
fixtures
1
rubygems
1
thoughtbot
1
fake
1
authentication
1
productivity
1
tldr
1
windows
1
alerting
1