Upcoming Topics

There are many, many, topics that I have not yet created content for. I will be creating so much more tips and tricks in the future, most of which I already have an idea of what I want to share while other tips and tricks just have not yet popped in my head yet. So please watch this space to receive email notices when I publish new topics!! Or if you're interested in a particular topic, shoot the idea by me and I'd be more than happy to add that to the top of my queue.

  • Collaboration
    • Code Reviews
  • Configuration Files
    • File Formats
    • Prefer Configuration Files over Code
    • Version Control Configuration Files
  • Databases
    • Examples
      • MongoDB
      • SQLite
    • SQL vs. NoSQL
  • Development Tools
    • IDE vs. CLI
    • Build Tools for Java
      • Gradle
      • Maven
      • Nexus
    • Build Tools for Python
      • Distutils and Setuptools
  • Design
    • "Anti Patterns"
    • "Design Patterns"
      • Decorator Pattern
      • Null Object Pattern
      • Singleton Pattern
    • Encapsulation
    • Global Variables
    • Immutability
    • SOLID
    • Stateless Code
  • Embrace the Language
    • Coding Style and Standards
    • Language Supplied Utilities
    • Software Reuse!
  • Error Handling
    • Exception Handling
    • Library Exceptions API
    • Signal Handling
    • Using "null"
  • Interfaces
    • External Facing Interfaces
    • Internal Facing Interfaces
  • Inter-Process Communication
    • Data Formats
    • RabbitMQ
    • Sockets
  • Memory Management
    • Memory Leaks
    • Strong vs. Weak References
  • Methodologies
    • Scrum
    • Test Driven Development
    • Waterfall
  • Myths
    • Python Threads are Useless
  • Optimizations
    • Profiling Java
    • Profiling Python
  • Programming Paradigm
    • Functional Programming
    • Object Oriented Programming
  • Releasing Software
    • Building Deliverables (zip, rpm, deb, Docker images, etc...)
    • Semantic Versions (SemVer)
  • Security
    • Hard Coding Cryptographic Keys
    • Protecting Against Database Timing Attacks
    • Storing Passwords
  • Testing
    • Continuous Integration
    • Integration Testing
    • Mock Objects
  • User Experience
  • No Good $HOME
    • Callbacks
    • Serialization
    • Systemd Files
    • Variable Arguments