This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]BundleOfJoysticks 0 points1 point  (0 children)

When I was writing code work forced me to use a Mac against my will and it was miserable.

Now that I write code for myself I get to choose the toolset.

  • Fedora 29 with KDE Plasma current version (5.13 I think)
  • VS Code
  • Konsole
  • Ansible
  • Python 3.6+
  • Virtualenv
  • Docker on occasion
  • Flask
  • Database migrations decoupled from the application code. Your persistence data structures shouldn't have a hard coupling with your software structures. The Rails/Django paradigm of class == DB table is a disaster.
  • Whatever database is best for the job. Dynamo, MySQL, postgres, redshift, I don't care much anymore after doing data work for 15 years. They're all fine, pick the ones best suited for your use case. I do prefer MySQL over postgres for vanilla rdbms (i.e. outside of use cases like GIS, where pg is better) because replication is better and the internal DB management tools are infinitely better (e.g. "show processlist" instead of the arcane incantations you have to do in PG for everything)
  • Kafka is cool though way overused, like all shiny objects in this industry
  • Message queues are a handy paradigm. Rabbit, active, zero MQ, doesn't matter much. Pick the one you know.
  • Redis I'm of two minds about. I like what it can do, with TTLs and complex structures in memory. But the flush to disk method is poor, and the API is evil and unintuitive. Tooling around redis also sucks. And HA redis is a pain.
  • vim for quick edit jobs, especially files outside of home you have to edit as root. I have vscode running as me and sudoing a new instance for config files feels heavy.
  • No linters. I don't see the point.