obj.method && obj.method() and in C# you can do
which is pretty slick I think.
See this video (in german) for a short explaination.
In the paper "Design Patterns for Sorting",
the internals of how to implement a decoupled version of a
sorting algorithm is described. It also shows that the complexity of something
like a quicksort is not necessarily high, which should remove the fear of just
trying out to implement it.
Maybe that's a good idea for a kata, that might go into the katas repo.
RethinkDB is a topic that I had been investing some time into, because I tried to figure out which DB to use for cosmowiki. What convinced me about: it is a DB which offers the best of both worlds, the NoSQL world (schema "freedom") and SQL DB's relational data. RethinkDB has joins built-in as one of the core features. Besides built-in joins it claims to have a very simple scale out mechanism and almost magic, transparent fail-over since version 2.1.
My pet project ES6 Katas is a playground for learning, if you look in the repo you see lots of things moving around and changes made. Most of it is because I try to apply new learnings and try to get to a structure that really is what I consider good software. Lots of new bits of information I learn I try to apply there or at least play around with it and figure out what's a better way to do things. This often might end up in a forth and back of things and in not being able to decide what is right, and it looks like nothing moves forward, but that's just on the surface.
Unfortunately I missed Franziska's session at SoCraTes 2015 on this topic, but fortunately she wrote about it, make sure to also read through her commits backwards, of course :). Very nice and readable! An article "Kickstart your next project with a Walking Skeleton" she referred to, that explains the process too. While reading more and more of the [c2 wiki] I am asking myself where is the difference to a spike which Kent Beck defined as
In this talk, Uncle Bob starts to set the context for why our industry has a hard time catching up with the speed and also why it is so important that we do spend more time on mindfully constructing software. It's worth spending those 1,5h watching this talk, or less if you 2x the video speed :).