The day you stop practicing is the day you stop improving. Never let yourself be satisfied with how good you are at anything.


The more you’re comfortable with this idea that everything is going to fail, the more you realize that it’s a natural process of distributed systems, and it helps you write and architect better code.

  • CQRS pattern: The pattern that underlies Phoenix’s Ecto in contrast to Active Record’s approach of using the same model for both query and updates.
  • Event Sourcing


Catch on fire with enthusiasm and people will come for miles to watch you burn.

  • Fast Forward Labs has an interesting way to do consulting. They sell in-depth analysis of near-future technologies that are only recently feasible, via reports and prototypes.
  • SheetHub reached 1000+ users!

  • The world is full of fascinating problems waiting to be solved.
  • No more zero days.
  • I think spending money on quality items that you come in contact with every day is well worth it. Tempur pillows, beds, comfortable socks, standing desks, and books can be at times expensive. But if you use them everyday, their amortized per-day or per-use cost is low. If the value that item generates is significantly more than it cost every time you use it, I say go get it. I think of these purchases as an investment towards a more productive life.
  • If you have an idea and you’re not working on it, shame on you. SHAME!
  • The complexity of solving a real problem and a made-up problem are not that different. Pick the real problem.
  • Given that I have more project ideas than I know what to do with, choose action over planning.
  • To be a good programmer, you have to be comfortable with uncertainty. You need to believe that even though you may not know all of what you need to solve a problem, if you tackle just a piece of it and learn from that, you’ll learn enough to solve the next piece - and so on, until you’re done.
  • Urban planning and public policy is sort of similar to writing a software framework. Through the abstractions they conceive, authors indirectly make it hard for people to do the wrong things, and easy to do the right things.
  • I need to learn how to better sell myself as a professional.
  • No abstraction is perfect.
  • I think I’ll give Rust a try, after Elixir. I was looking into building a native Rust extension to make some (slow) parts of Elixir/Erlang fast(er.)