In software development, we often face the same problem over and over again. For example, when designing user-interfaces, we need to specify the layout of components; when designing financial systems, we need to detect various patterns in changing prices. The Domain Specific Language (DSL) approach is to design a language for the specific problem domain and then use it repeatedly to solve multiple instances of the same problem.
In this talk, we look how to think about DSLs in a functional way. This lets us focus on the domain. Rather than worrying about the syntax, we start by understanding what problems we actually want to model and what is the best way to do so. Along the way, we’ll look at three fun examples ranging from a language for building 3D objects to a language for detecting price change patterns.
Get ready for some live coding in F#, but don’t worry if you have not done much F# before! You can use the ideas from this talk in any programming language and I’ll introduce all the necessary F# along the way.
When I first looked at Go, the open source programming language developed at Google, I was unimpressed. Then I used it. Now I find Go to be a solid and useful tool in my toolchest of languages. In this talk I'll introduce Go, its syntax, how you might use it. I'll talk about its strengths and weaknesses and give you code examples demonstrating some of its finer points. I will also show you some examples of how we use Go within DNSimple, in production. So join me for an intro to the world of Go, and learn about how to use this pragmatic language to solve your programming challenges.
Scott Meyers’ Effective C++ books are renowned for their clear, insightful descriptions of how to get the most out of C++, but they were written for C++98—for “old” C++. “New” C++ is defined by the C++11 and nascent C++14 standards, and Scott Meyers’ forthcoming Effective Modern C++ is devoted to the effective use of features in C++11 and C++14. For this presentation, Scott will select a few guidelines from Effective Modern C++ and walk you through them. The guidelines will focus on specific practices in C++98 that require revision for the most effective use of the modern versions of C++.
The influence of Twitter's Bootstrap framework is undeniable, but it brings with it a steep learning curve and a great many features the average web app simply doesn't need. In this session, you'll learn how easy it is to build your own web framework from the ground up, so you can tailor it to your—and only your—needs. We'll start with a solid CSS foundation, add on some component scaffolding for your most common use cases, and top it off by discussing how to share your new web framework with your team. Grab your hard hat and come learn how to build a better Bootstrap!
Ever tried building a system to do complex event processing but ended up getting bogged down in all the infrastructure necessary? Or maybe you've tried running temporal correlation queries from a SQL database and become very familiar with nested subqueries...