Redis Hackathon

Redis (the world's most popular in-memory database) is hosting an online and physical hackathon.

Redis Hackathon

You might be interested in a hackathon that directly relates to C/C++.  Sign up as soon as possible because they're starting soon!

There are cash prizes of $5,000, $2,000, $1,000 and on-site (San Francisco and Tel Aviv) prizes of $1000.

CppCast Episode 73: SG14 Update with Guy Davidson

Episode 73 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Guy Davidson from Creative Assembly to discuss the work of the SG 14 game dev/low latency group including his ring buffer proposal and more.

CppCast Episode 73: SG14 Update with Guy Davidson

by Rob Irving and Jason Turner

About the interviewee:

Guy Davidson is the Coding Manager of Creative Assembly, makers of the Total War franchise, Alien:Isolation and the upcoming Halo Wars sequel, Guy has been writing games since the early 1980s. He is now also a contributor to SG14, the study group devoted to low latency, real time requirements, and performance/efficiency especially for Games, Financial/Banking, and Simulations. He speaks at schools, colleges and universities about programming and likes to help good programmers become better programmers.

build2 0.4.0 released

build2 is an open source, cross-platform toolchain for building and packaging C++ code. It includes a build system, package manager, and repository web interface. There is also cppget.org, a public repository of open source C++ packages.

build2 0.4.0 Release Notes

From the announcement:

This release includes a number of major new features in the build system (support for Windows/MSVC, C compilation, pkg-config integration, library versioning and export model, as well as the uninstall operation) and packag manager (support for repository authentication and system packages).

This version has been tested on Windows, Linux, Mac OS, and FreeBSD with GCC, Clang (both vanilla and Apple's), MinGW GCC, MSVC, and Intel icc.

Metashell 3.0.0 is available

Metashell provides a compile-time debugger for debugging template instantiations and macro usage.

Metashell 3.0.0 is available

From the website:

Some of the major new features in 3.0.0:

  • Profiling template instantiations
  • Debugging template instantiations in expressions involving SFINAE
  • Displaying preprocessed expressions

Commands for exploring the available headers (similar to the which and ls commands).
The full list of changes can be found here.

An online demo can be found at http://metashell.org/about/demo/

Installers can be downloaded from http://metashell.org/getting_metashell/installers#version-300

 

C++ in Competitive Programming: compromises--Marco Arena

In this installment I'll explain what I consider the essence of Competitive Programming:

C++ in Competitive Programming: compromises

by Marco Arena

From the article:

Crafting software is about balancing competing trade-offs. It’s impossible to optimize every factor of a system, as speed, usability, accuracy, etc at the same time. Moreover, solutions of today impact decisions and solutions of tomorrow. On the other hand, in Competitive Programming, the best solution is one that just makes each test-case pass...

The Case for Optional References--Tristan Brindle

And why not simply use a pointer?

The Case for Optional References

by Tristan Brindle

From the article:

I have a confession to make. Whenever I’ve come across code that looks like this:

struct example {
    example() = default;

    example(std::string& s) : str_{s} {}

private:
    boost::optional<std::string&> str_{};
};

there is a little voice inside my head that whispers “why didn’t you just use a pointer?”. Like so, for instance:

struct example {
    example() = default;

    example(std::string& s) : str_{&s} {}

private:
    std::string* str_ = nullptr;
};

This is equivalent to the first example, except that it’s slightly less typing, it doesn’t have any dependencies, and feels in some sense “cleaner”. I personally have always preferred it.

Except, I was wrong. After attending Bjarne Stroustrup’s keynote and this excellent talk at Cppcon this morning, I’m persuaded that optional references are a good thing. In this post I hope to be able to convince you of the same...

CppCast Episode 72: Boost::Process with Klemens Morgenstern

Episode 72 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Klemens Morgenstern to discuss his experimental changes in boost::dll and his proposed boost::process library.

CppCast Episode 72: Boost::Process with Klemens Morgenstern

by Rob Irving and Jason Turner

About the interviewee:

Born in 1988 in Dresden, I have a Bachelors in Electrical Engineering and Master's Degree in Microsystems & Microelectronics. Fell in Love with C++ while working with embedded systems. Klemens was working full time as a C++-Developer from 2013 until early 2016, and is now starting his own consulting company, trying to bring C++ to C-Programmers.