posts[0]; (first post)
Welcome to Confluent Coding!
This is the first of what I hope to be many entries on this blog. I chose the name confluent because I want this blog to represent the joining of ideas, creativity, and information, and I’m not sure a better word exists to represent that. This project began because I needed a companion to go with my long term project of building a repository of design patterns, C extensions, and unit tests in Ruby. At work we occasionally have a ‘hack Friday’ where we all take a day to try to think of and implement something creative or useful that’s not part of our regular work. It’s a great way to let off steam and get to work with people on different teams that you don’t get to work with as often.
This led to me teaching a group of junior engineers twice a week about Ruby(our current core language), Design Patterns, and how to architect sustainable systems. The purpose of Design Patterns is not to teach how to solve every problem, as there’s certainly no catch all and there are always different ways to solve things, but is instead aimed at exposing people who may have not read the original Gang of Four book. Even if you have read the book (and if not I encourage you to), my examples are my own ideas and I’ll be taking a more modern approach towards demonstrating them. Ruby as a language provides some of the original Design Patterns as part of the language, and I’ll highlight these when they are applicable, but I will still build a working solution so you can take those ideas and use them if you’re working in a language that doesn’t provide those facilities out of the box.
Hopefully this will be helpful not only to the engineers I’m teaching at work, but to anyone else out there looking to learn! (And that includes me: constructive criticism welcome) Check back soon, I’ll be starting with the Command Pattern.