Typescript's Hollow Types

I am a big fan of typed languages. As a result I have gravitated towards Typescript for working on personal projects. Typescript is programming language that is a superset of JavaScript. As the name implies Typescript’s hallmark feature is the inclusion of optional type annotations. If you add the --noImplicitAny compiler flag you have a reasonably type safe language with no runtime overhead when compared to standard JavaScript. Overall I am happy with Typescript....

Read More

Testing a C++ Class for a Method

A few weeks ago I was writing a cpp template and I wanted to change the behavior of the template based on the presence of a method on an argument. I suspected it could be done using substitution failure is not an error (SFINAE). I spent sometime searching online for a solution and I found several, but they were all somewhat lacking. Most of the implementations required a consumer of the api to understand SFINAE....

Read More

Hello Blog

Welcome to Better Than Null! The site will be an outlet for sharing useful and intersting information I learn while working on hobby projects. My primary goals are to become a better writer and developer. I welcome any and all criticism of my writing, ideas, and code. My biggest project outside of work is game development. Much of my free time has been devoted to working on a simple C++ game engine and editor for it....

Read More