Information-Centric Networking Rethought

The recent issues with Google’s WEI proposal have provided for a few more views of this blog and website, which makes it worth diving into our work a little again.

The previous post on resource access is quite old at this stage, after all.

Quick Recap

Under different grants, we’ve been working on a bunch of loosely related technologies. The highlights are:

  • Channeler – a protocol that has can switch between UDP-like lossy and TCP-like lossless modes of connection, as well as novel modes suitable for live broadcast. Channeler can run on top of UDP, on top of IP, or conceivably on top of Ethernet (though this would require some additional routing protocol).
  • Vessel – a …
Tools: Valgrind with Callgrind

Previously, I wrote about how to use Valgrind for debugging memory issues – and today, I’d like to go into how to use the tool for profiling.

As I wrote before, Valgrind is an instrumentation framework that provides a collection of tools. For profiling, we’ll look at the Callgrind tool together a GUI application called KCachegrind. As a quick historical note, the predecessor to Callgrind is called Cachegrind, and was mostly for examining CPU cache usage – but Callgrind was developed out of that. KCachegrind, on the other hand, kept the old name.

Example Code #1

Let’s again start with some example code.

#include <cstdint>
#include <string>
#include …
Google vs. the Open Web

A few days ago, I made a social media post about Google vs. the Open Web. It received some responses, so I’ll reproduce it below with some additional comments.

Google is trying to kill the Open Web.

Using the proposed “Web Environment Integrity” means websites can select on which devices (browsers) they wish to be displayed, and can refuse service to other devices. It binds client side software to a website, creating a silo’d app.

Web Environment Integrity on GitHub

This penalizes platforms on which the preferred client side software is not available.

This is an issue for accessibility and inclusion, in particular when the reason the software is not available is tied …

Tools: Valgrind with Memcheck

A recent thread on social media reminded me that some of the development tools I take for granted are not widely known. Veteran game developer Martin Linklater asked about profiling on Linux, which prompted me to mention my favourite Valgrind, which prompted a question about its use. I offered to write up a quick tutorial on it.

But thinking about it a little more, quick, introductory tutorials to the tools we use makes for a useful addition to this section of the blog.

In the first part of this miniature series, I’d like to introduce Valgrind and its Memcheck tool.

Valgrind bills itself as an “instrumentation framework”, which means it provides a collection of tools that …