๐Ÿฆพ Show & explain what BOTs do for us ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘

adriens - Apr 19 '22 - - Dev Community

โ” Context

Everyday, BOTs and CI are doing more and more things for us.

At the office, to

build a shared an efficient digital culture,

it is important for programmers (DEVs & OPS) to explain to middle and top management how this technology helps to :

  • โžฟ Maintain existing source code
  • ๐Ÿš€ Release software, new features,...
  • โคด๏ธ Loop between the two previous activities

Still it remains a bit abstract.

The goal of this short post is to show how, from a source code point of view,

how BOTs are an extension of the team and can (should ?) be considered as "real" programmers...

that help us in our daily missions... and focus on what really matters :

Innovate, learn, create new features as fast as possible to the market... so they can be released (and then maintained).

๐ŸŽฅ Movie show

Visual management is a powerful tool to help understand and gain attention on abstract concepts.
So, to put in evidence how BOTs participate to the teamwork, I thought a short movie could do the job.

๐Ÿ‘‰ This is where gource helps :

GitHub logo acaudwell / Gource

software version control visualization

Gource

https://gource.io

Description

Gource is a visualization tool for source control repositories.

The repository is displayed as a tree where the root of the repository is the centre, directories are branches and files are leaves. Contributors to the source code appear and disappear as they contribute to specific files and directories.

Requirements

Gource's display is rendered using OpenGL and requires a 3D accelerated video card to run.

Using Gource

gource [options] [path]
options:

    -h, --help
            Help ('-H' for extended help).

    -WIDTHxHEIGHT, --viewport WIDTHxHEIGHT
            Set the viewport size. If -f is also supplied, will attempt to set
            the video mode to this also. Add ! to make the window non-resizable.

    --screen SCREEN
            Set the number of the screen to display on.

    --high-dpi
            Request a high DPI display when creating the window.

            On some platforms such as MacOS, the window resolution is specified in points instead of pixels.
            The --high-dpi flag may
โ€ฆ

๐Ÿฟ Enjoy collaboration replay

Within a very simple command line :

gource \
    --key \
    --highlight-users \
    --date-format "%d/%m/%y" \
    --hide mouse,filenames \
    --file-idle-time 0 \
    --max-files 0  \
    --background-colour 000000 \
    --font-size 25 \
    --output-ppm-stream - \
    | ffmpeg -y -r 30 -f image2pipe \
    -vcodec ppm -i - -b 65536K movie.mp4
Enter fullscreen mode Exit fullscreen mode

We can see :

  • how humans and BOTs collaborate
  • on what
  • on which pace
  • on wich parts of the project
  • new programmers arrival

๐Ÿ‘‰ Notice that from a code point of view you can't see the difference between BOTs code and human... except that BOTS often modify the same files, according to a same pattern.

๐Ÿ™ Acknowledgments

Thanks a lot to the programmers who played the role of actors in the movie, by order of appearance ๐Ÿ˜‰ :

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .