Skip to content

Instantly share code, notes, and snippets.


ecoologic ecoologic

View GitHub Profile
ecoologic /
Last active Oct 12, 2020
Meditation Checklist


It's practically an all-purpose training of the mind.

Meditation has the objects of stable attention and mindfulness (sati in pali), the latter being the optimal interaction between attention and peripheral awareness.

The practice consists in listening to the meditation object (the breath). Whenever you realise the mind wondered off, you happily move back to the meditation object. That's it, everything else are techniques to remove the time you're not following the meditation object.

Advantages Explained

ecoologic /
Last active Jan 5, 2021
Visual Studio Code Shortcuts
  • ctrl+k e explorer (sometimes ctrl+shift+e)
  • ctrl+1 focus on editor
  • alt+up move line up
  • shift+alt+right extend selection
  • f12 go to definition
  • shift+f12 see usages
  • ctrl+d select occurrences
  • ctrl+k ctrl+d skip last selected occurrence and select next (editor.action.moveSelectionToNextFindMatch)
  • ctrl+u undo select occurrence
  • ctrl+alt+- go back
ecoologic /
Last active Jul 25, 2019
Suggestions to a beginner developer

Suggestions to a beginner developer

  • Be very very humble
  • Pick up small and tedious jobs (bug fixes?)
  • Understand the product and the user
  • Read and fully understand the task
  • Think of the best UX, don't compromise
  • Think of possible bugs in your code
  • Read the stack trace carefully
  • Ask for pairings when stuck

Design Patterns

  • Value: (read-only) does some math or manipulation with one input value, like a model, but for one value only
  • Presenter: (read-only) takes complex data, like different models, and provides extra presentation values, even HTML
  • Service: (mainly-write) Has a main method that writes data through delegation, and can expose the results as read-methods (eg: errors)
  • Query: (read-only) Joins different models and performs SQL queries on them, ideally through SQL views
  • Gateway: (read-write) LIB Wrap of an API (lib: favour primitives, don't depend on app)
  • Serializer: (read-only) Converts input to a string like JSON, CSV, PDF blob etc (prefer others)
  • Parser: (read-only) convert data from one format to another (prefer others)
  • Decorator: (read-only) extends an object with extra value otherwise written in a presenter (prefer others)

Agile Manifesto points

  • People over tools
  • Sw over doc
  • Collaboration over contract
  • Change over plan


  • Be restful
  • Put view partials in proper resource (table partial, not table body)
  • Namespace a lot, use lib a lot, but don't put app (eg AR models) stuff in lib
  • Models should not use change itself in callbacks; Use services, strategies, queries, have a clear dependency hirarchy
  • Limit the use of validation (defaults?), they are only for UI purposes, (almost) always add relative DB constraints
  • DB foreign_keys, unique indexes, null with defaults
  • No SQL outside of the model
  • Write extra models (or Query objects?) to connect models
  • Write non-AR models
View .bash_aliases
alias f="find . -name "
alias s=sudo
alias dfh="df -h"
alias cpr="cp -r"
alias sag="sudo apt-get -y"
alias rmf="rm -rf"
alias y=yarn
alias b=bundle
alias be="bundle exec"



Next Window: ctrl+pgDown Reset terminal: ctrl+shift+g

RubyMine (default keymap - rsome emapping)

  • Copy file location ctrl+shift+c

Erik T. Ecoologic

Currently interested in React, Ruby, Node, AI, UX.

profile for ecoologic on Stack Exchange, a network of free, community-driven Q&A sites

Open Source: from React to Ruby on Rails on Linux... I love it!

I love to identify solutions, code, help with UX, organise teams, mentor, hire, and everything that comes with my job. But most of all, I want to help.

View Preferences.sublime-settings