On proper use of communication in development

The following links came to my attention in a relatively narrow span of time. There would be a lot to be said but I will keep it brief.

Last month someone explained their reasons for leaving the Linux Kernel development team in an article that consequently got quite some attention. Apparently a toxic culture is encouraged there, under the motive of promoting open, direct discussion that doesn’t shy away from tackling issues.

Whether the motive is genuine or rationalized could be meat for debate by the way but, moving on. Last week this mail was posted by Linus Torvalds on the LKML, painfully illustrating the problem. Warning: (im)mature language.

Then, someone proposed this rephrased version, which is the reason of me posting today.

This here, is not just a joke, a funny contrast or Linus getting schooled; this is a lesson for anyone and an example to follow, this is what you want and the standard you should promote and expect from yourself and others in any development team you belong to. Especially so if you are a lead.

Readings on the roles of senior programmer and lead programmer

Here are some of the best articles I have read on the topic. They surely will help you understand what people expect from you and what you should expect from yourself as you become a lead:

GDC 2015 presentations

The Game Developers Conference took place last week in San Francisco. As I am starting to see more speakers publish their slides, I am creating this post to keep track of some them (this list is not meant to be exhaustive).

For a more extensive list, Cédric Guillemet has been garnering links to GDC 2015 papers on his blog.

An artificial light that looks like light from the sky

http://www.coelux.com/

The Italian company CoeLux has apparently managed to create an artificial light which uses a material that mimics the atmospheric scattering, to look like sunlight and light from the sky. Judging from the photos and videos available on their website, it seems the look is very convincing.

As they point out, this could have a serious impact on architecture, as available sunlight is a factor in the design of buildings. Unfortunately, at this stage it is a prohibitively expensive product for the average consumer, and likely targeted at the construction industry. But it might be only a niche for some years before expanding to a larger scale.

The news websites PetaPixel and Colossal have previously covered this topic last month, and included some larger product photos made available by the company. But the most interesting coverage might be the one by Lux Review, who met CoeLux at an exhibition booth and made the following video. From their article:

No, the light source doesn’t move… yet. No, the colour temperature isn’t dynamic… yet. The void height needed is a metre. It consumes 340W of electrical power, but that will come down as LEDs improve.


Update: a YouTube channel presented a way to build such an artificial window at home. See: Building an artificial window.

IOCCC2012: ASCII fluid dynamics

This IOCCC entry by Yusuke Endo is an ASCII fluid simulator using smoothed-particle hydrodynamics. Once compiled, the program takes an ASCII art on standard input, and shows the animated simulation on a 80×25 terminal.

Here is a demonstration of the program:

Statistics of the gaming hardware and software

If you need figures or maybe just an idea of what hardware and software the gaming public is using, it’s all out there, gathered and published by the big boys:

Quick change list overview script

A part of my daily routine when arriving at the office in the morning is a quick overview of the code changes since the previous day. It’s not a full blown code review, I only rapidly look at the most important parts of the code base, but I make a point of doing it every day. It allows me to stay informed and notice if something is wildly going in the wrong direction.

This is something I do every day, so it has to be quick and simple. I don’t want to have to open three windows, ctrl-select and right click all over the place. Especially since, like I said, it’s the morning, meaning my neurons are still not talking to each other much yet. I need something dead simple.

Here is a short command line shell script I wrote for doing just that: show me the changes since the previous working day. It uses date with some fancy options to figure weekdays, as well as colordiff and less for comfortable reading. Just launch it from the terminal, and there you have all the changes ready to be scrolled. Feel free to use it if you find it useful.

#!/bin/sh

argn=$#
if [ $argn -lt 1 ]
then
    echo "Usage: $0 <paths>"
    exit 1
fi

(
dateRequest="yesterday"
startDate=`date --date="$dateRequest" +"%F"`
startDay=`date --date="$dateRequest" +"%u"`

if [ $startDay -gt 5 ]
then
    dateRequest="last Friday"
    startDate=`date --date="$dateRequest" +"%F"`
    startDay=`date --date="$dateRequest" +"%u"`
fi

echo "Changes since $startDate:";echo;echo

for d in $@
do
    echo "$d"
    svn log -r{"$startDate"}:HEAD "$d"
    svn diff -r{"$startDate"}:HEAD "$d" -x --ignore-space-change | colordiff
done
) | less -R