I just wrote about how I like to present on unfamiliar topics. With this said, Domain-Driven Design (DDD) is no exception. This is yet another area I knew enough about to be dangerous but I certainly was no expert. As it turns out, researching this topic wasn't easy. I could be wrong, but it is as if DDD is a secret to which few are privy. If you search the Interwebs, you will likely find little information about DDD until you start rolling over rocks to find that one great write-up, a handful of podcasts and videos and the Readers' Digest version of the Blue Book which apparently you must read if you really want to get the complete, unabridged skinny on DDD. Even Wikipedia's write-up is skimpy which I didn't know was possible…
In this presentation, I provided a brief introduction into TDD and talked about the confusion and misconceptions around the discipline. I, of course, shared a bit about Dan North, the father of BDD and touched upon some crazy hypothesis dreamed up by Sapir and Whorf. I then gave a Behavior Driven Development overview (my impressions of the implementation and lifecycle) and then touched upon available tools, how to get started and I threw in a number of reference and reading materials which you will find below.
Fairway completed the final round of the inaugural Mario Kart Wii Tournament today. Brett S, sans his mighty nunchuk, cruised past the field of 16 racers and edged out Mike for the victory. Congratulations to Brett S on the victory - you truly plays Mario Kart like a teenager.
I mentioned in a previous post that we've started a languages club at the office. In an effort to decide which language we will first concentrate on, I volunteered to give the rundown on F#. Rather than providing a summary here, I've provided my slide deck for your viewing enjoyment. There's nothing special here outside of a some pretty cool characters from The 56 Geeks Project by Scott Johnson and collection of information from my prior functional programming presentations.
The folks at the Open Web Application Security Project publish a list of the top 10 vulnerabilities. In a recent CodeBrew I provided a quick overview of them all and spent a good amount of time focusing on the most prevalent vulnerability, Cross Site Scripting (XSS).
Scrum is an agile methodology that relies on a simple process to get complex work done. It is far less process-intensive than a traditional waterfall approach, but still provides the necessary controls and outputs to guarantee high visibility into the past, current, and future of a project. However, in order for Scrum to be successful, it requires a dedicated team that is willing to follow the well-established guidelines of Scrum.
We started a work language club at work this week. Thus far, we have a collective interest in a number of languages: Python, Ruby, F#, Erlang, Objective-C, Scala, Clojure, Haskell and Go. There are more but these 9 received the most votes.
During the first few meetings we are going to determine which language we should tackle first. To help make our selection, each member will provide a quick overview of their favored language by answering the following set of questions:
About a year ago, I sent the group a list of my favorite podcasts. Apparently it's time I share an updated list of my top 12 subscriptions. I listen to everything that is published by the folks towards the top of the list, but as you start moving down the list, I tend to listen only if I'm interested in the topic. Surprisingly, I often am.
I did an in-house presentation on Lean Software Development (LSD) and Kanban Systems recently. Beyond what I had previously learned from various podcasts, I knew little about either topic prior to compiling my slide deck. In the process of building my presentation, I learned a ton. I found the concepts weren't very difficult to grok; however, I found little detailed information was available online.