CppCast Episode 41: Game Development with C++ and Javascript with Mark Logan

Episode 41 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Mark Logan from Artillery to discuss his experience building a game engine in Javascript and C++!

CppCast Episode 41: Game Development with C++ and Javascript with Mark Logan

by Rob Irving and Jason Turner

About the interviewee:

Mark started learning C++ with Borland Turbo C++ in high school, so that he could build video games. After 20 years, he's finally starting to feel like he knows what he's doing. After graduating from Northeastern University's College of Computer Science, Mark spent 7 years at Google, mainly working on internal infrastructure and automation. More recently, he returned to his first love - game programming - and helped found a studio called Artillery. He's currently the tech lead on Artillery's free-to-play RTS, code-named Atlas. He spends his time working on performance optimization, networking, and solving cross-platform development problems.

No Littering! -- Bjarne Stroustrup

bs-litter.PNGEarlier this week, Bjarne Stroustrup gave a talk at the Silicon Valley chapter of ACCU. The video and slides are now online:

No Littering! (video) (slides)

by Bjarne Stroustrup

 

Writing modern C++ servers using Wangle--James Perry

Nice use of modern C++:

Writing modern C++ servers using Wangle

by James Perry

From the article:

I mentioned in my previous post that I was able to build a prototype database engine within one day using Facebook’s Wangle so this post explains how I managed that. By the end of this post, you will be able to write a high-performance C++ server using Wangle. This post also serves as a tutorial which will be merged into Wangle’s README.md.

Android++ is now open source

The title says all:

Android++ is now open source

From the article:

Android++ is a freely distributed extension and associated MSBuild scripts designed to enable Android application development within Visual Studio. Primarily for NDK based C/C++ applications, it also incorporates customisable deployment, resource management, and integrated Java source compilation.

Wandbox online compiler -- Bartosz Bielecki

The online compiler Wandbox offers new functionality.

Wandbox

It offers now the following features:

  • support for newest (HEAD) versions of GCC and Clang
  • support for various versions of Boost (from 1.47 to 1.60)
  • support for emacs/vim key bindings
  • permalinking your code snippets

CppCast Episode 40: UndoDB and Live Recorder with Greg Law

Episode 40 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Dr. Greg Law to discuss reverse debugging with Undo Software.

CppCast Episode 40: UndoDB and Live Recorder with Greg Law

by Rob Irving and Jason Turner

About the interviewee:

Dr. Greg Law is co-founder and CEO at Undo Software. He has spent nearly 20 years writing systems-level code, including novel kernel designs and networking architectures in academia and at a variety of start-ups. Greg finds it particularly rewarding to turn innovative software technology into “real” business development. He still gets to write some code, although sadly most of his coding these days is done on aeroplanes. Greg lives in Cambridge, England with his wife and two children.

Modern C++ Features – keyword `noexcept`--Arne Mertz

Explications of the noexcept keyword:

Modern C++ Features – keyword `noexcept`

by Arne Mertz

From the article:

I have written about handling exceptions some time ago, and about the levels of exception safety last week. What I have not touched yet are exception specifications. I will catch up on those with this post.

C++98 had the possibility to denote the types of exceptions that could be thrown from a given function by using throw(<exception list>). In theory, the runtime had to check if any exception emitted by the function was indeed in that list or derived from one of the types in the list. If it wasn’t, the handler std::unexpected would be called...