July 17, 2018

How to create cliparts from scratch


Suppose we need for the next OpenSource project a fancy looking Emperor penguin. The first step is to search for a realistic picture which is already there for example at Wikipedia Commons. Even the JPEG file looks great it isn't a clipart and it wasn't created by us. No problem, we can open the original file in GIMP and create a second layer on top of the first one. To get a smother linedrawing for the outline it is always a good idea to scale the whole picture up, at least to 2000 pixels width. Making the image smaller for exporting is always possible but for the painting process we need a lot of space. The best way to follow the outline is by hand with the pencil tool. Thanks to the layer we only need to paint again a line which is already there.

The reason why it is so easy to follow the contour lines has to do with two powerful features in GIMP. At first the undo tool and secondly the zoom. With both it is easy to create in a reasonable amount of time a well looking copy of the original image which can be filled with colors.

Tools for selecting the area are helping a lot to fill the colors exactly until the border, which produces a well looking penguin:


The resulting JPEG file is 43 kb in size, and can be seen as the own creation, that means the author has all the copyrights and can post the image everywhere. It is an artwork, created from scratch in an all-digital workflow.

July 02, 2018

Digital painting 101


The number of publications about digital painting is surprisingly small. Even experts like Craig Mullins are not mentioned in a simple Google search. So it is time to bring the development a bit forward and provide some introductory tutorials. One misconception about digital painting is to compare it with digital art. In both cases a computer is used, but digital painting has the aim to replace traditional painting technique like oil painting. Let us start from fresh.

The first what we need is gimp. It is available for Windows, Mac OS and Linux. The version shown in the screenshot is outdated (version 2.8.22), newer versions of GIMP have more colors and better brushes. But as starting point the software is well suited. It has more features, then even expert painters ever need. So what can we do with gimp? In a classical sense, the software is recognized as a photo-editing tool for improving pictures taken by a digital camera. That is only one feature and will be ignored in the following tutorial. The more interesting scenario is to use GIMP as a painting tool for creating art which is not already there in reality. We are starting with some basic trials to bring colors on the screen.
What we see in the next image is a special tool, called “Smudge tool”, it helps to soften the transitions between two areas. It is known from normal art and allows to create special effects.
This tool can used more and results into a fast drawn picture. It looks similar to an abstract painting which was created offline but this time it needs less time. The above picture was created in under 5 minutes. It has a high-resolution and can be printed by a inkjet printer to any size. That means, a single artist can produce on one day not simple one image, he can generate hundreds of them. The most important function in the gimp tool is perhaps the CTRL+Z key. It allows to take back the last step like in a word processor. Such a simple function allows an amateur to get the same quality like a professional. That means, it is not necessary to be able to paint, it is enough to want to learn it.
But something is missing. Apart from abstract painting sometimes it would to have also realistic paintings, for example we like to have a SUV car. No problem, we are painting one from scratch, adjusting the colors and insert it into our artwork:
Sure, such a piece of art can be also created with the well known offline workflow. It is similar to what artists were doing all night long. But, digital painting has the advantage that is a lot of faster and can be handled by non-experts. That means, a super-realistic painting is not something which is done by professionals who have 20 years experience, it is something which the students are able to do after a two week training course. A pipeline around digital painting is comparable to a mixture of speed painting and concept art. And like a scientific document which was created with LaTeX it can be printed out and reach a much better quality then a normal artwork.
At the end some improvements were made on the picture and the result is:
Printing on poster format
Perhaps the most interesting question is how to print out the JPEG file on real paper. So called copyshops have a service called poster-printing and fine art printing. The idea is to use large format inkjet printers to print on 120 cm x 80 cm. Such a print produces costs of around 50 US$. The resolution should be at least 150 dpi which is around 12000 pixel x 8000 pixel (round about, the example is 255 dpi because 12k/47inch=255). The feature of poster printing has a longer tradition. It was used in the past to print out photographs and reproduce artwork which was created in the past, for example by Van Gogh. But, future artists are able to create the pdf file by it's own. And this pdf file can be copied on usb stick and printed out.
Like in the old style to paint, the quality of the paper and of the ink is important. And were are not talking about simulated colors, but about real ones. The new thing is, that the workflow is separated. Creating an image with gimp can be done without real sheet of paper, while printing it out is something which is different from it. I would guess, that in the future we will see lots of artists, who are working with an all digital pipeline. That means, in the art exhibition the original painting was printed out on an inkjet printer. It is not a copy of another drawing, but it is the original. That means, if the art exhibition doesn't want to show a printed copy of a picture, it is not possible that the painting of the artist can be shown. He has no other master copy somewhere in the basement, he has only the JPEG file stored on his laptop.

July 01, 2018

Art is the queen of science


From a 19th centure viewpoint mathematics and physics were the queen of science. They have powered the industrial revolution. Things like steam engines, healthy food, airplanes and the computer wouldn't come reality without mathematics and physics. Both subjects are investigating the inner working of nature, and create formulas to describe the given order. Subordinated engineers are transforming the laws of physics into practical products.
That was the situation in the 19th century, but now the world has changed. In today, and even more for tomorrow's needs there is a demand for something which is more powerful then pyhsics and mathematics. The best example in which cases physics fail is to the task of programming a computer. Without software a computer is nothing, but physics alone can't answer the question how to program the machine. Sourcecode is not given in the nature, it is something which is entirely with imagination. Programming a computer have much in common with painting an image or with creating music. This is not only a detail problem, it is about everything.
Software engineering and writing documents about how to program artificial intelligence is not located inside the subject of mathematics and physics, it has it's own category. Or to be more precise, it is the same category like painting, dance, music and literature before, called arts. Art is something which stays in contrast to mathematics and physics. It is something which isn't available in nature. Humans are the only one who can create art. And the subject who is talking about creating poetry, sourcecode and everything else what is important in the future is called arts. I would go a step further, and argue that mathematics have nothing to say about software engineering. Mathematics have invented the computer in the 1930 and the electric current have made the computer real. But everything which is beyond this trivial starting point is outside the scope of mathematics.
Let us make a simple example. We want to talk about the paintings of Leonardo da vinci because he used an agile workflow. The idea is to see the past as a blueprint for writing better software. Would it make sense to discuss the topic inside mathematics or physics? No, it is offtopic there. Da vince, and all other artis are located inside the art. Because their main aim was to be creative, that means to think about something which is not given by nature.
Somebody may argue, that physics can also be creative. No it can't. Physics is restricted to the reality. For example, a perpetum mobile is not possible in reality, so it is not a topic for serious scientists. And they are right. If somebody want's to discuss about perpetum mobiles he should do this from the perspective of art. For example, he can collect some paintings of the past who shows such a machine, and he talk about the history of the dream of such a machine. SUch a discussion is possible inside arts, and there are many example which are already there. It makes no sense, to redefine the subjects and to promote to talk about non-science topics inside the physics. The baseline for talking about imagination, fictional machines, computer programming, and artificial intelligence is the subject arts. It is one the same level like abstract painting, modern music and poetry. That means, it is purely imagination and has nothing to do with physics or mathematics.
In today's curriculum the distinction is not so clear as needed. Programming software and artificial intelligence is in most universities located in the mathematics department in the so called computer science departure. This classification is wrong. There is a huge difference between Physics and software engineering. The first one, Physics, is a science. Which means it is rational, is based on reality, and can be right or wrong. While the second one (programming) is not based on reality, is depended from the artist and his understanding of the world and is driven by emotions. The best example is the LInux kernel mailing list, which is poetry at is best. The people there are without any doubt involved in one of the most important software projects, and on the same time they are not discussing about nature laws, but about art works which were invented by somebody and are now under the judgement. This judgment is never true or false it depends on other categories. The working process on the Linux mailing list is very equal to the working of a art-community or a music-orchester. But it is very different to what physicists or mathematicians are doing.
The misconception is, that in the mainstream computing and artificial intelligence is located inside the mathematics department because the assumption is, that it is a rational science. No it is not. A for-loop in a c-program have more in common with a perpepetum mobile and other purely non-serious inventions like an image of Malewitsch.
Mathematicians and Physicians are not interested in speaking as a deputy for artificial intelligence. They see the discipline as something which is not part of their business. And they are right. Physics is science, Computing not. Physics is the search for truth, Computing not. Physics is based on rationality, logical formulas and stochastic models, artificial intelligence not.
Nature
Let us go back into the beginning of physics. The basic idea was, that the nature has to be understand. That means, the wind is not a random force, it can be predicted. The electric current is not simply there it can be reproduced by an action. If the aim is to understand nature, the hard-science are great. Physics combined with Math, biology and chemistry have a long successful tradition in recognizing universal laws. On the other hand, they have a weakness too. If a physicists wants to try to make music or painting an image he will fail. It is nothing which is teached in a Physics class. The reason why the art department is at the other side of the campus and in most cases in a different university has to do with the fact, that art is something which is different from physics. Art is based on human culture. That means, artworks from the past are collected, interpreted on a subjective way and the aim is to create something which wasn't there before. Art produces his own rules and they can't be expressed mathematically.
Let us go back to the example with a perpetuate mobile. Suppose an art student who likes to make movies is creating a pseudo perpetuum mobile. He is using a hidden electric wire which is not visible in the film and paints the machine in a certain look to increase the effect for the audiance. From the perspective of arts, he has done great work. The movie looks great, the machine works as expected and he was very creative. But, if the same project is observed by a serious physicists he will come to the opposite evaluation. Because the art student has understood nothing, especially not the laws of thermodynamics and his machine won't work, it is fake and non-scientific.
Who is wrong? Nobody, because art is different from physics. The first one has to do with creativity and making nonsense, while the second one has to do with reality and rationality. The only mistake which can happen is, that the art student is not aware about the difference between the subjects. The language to communicate in each of the subjects is fixed and different. A valid contribution to the arts is different from a valid contribution to a physics debate. I think, the distinction is right. It is a best practice method, that arts doesn't understand physics and vica versa.
The image Waterfall from M. C. Escher is a famous example about the difference. From an art perspective the image is great. It was created by a professional painter and has an interesting topic. From the perspective of physics, the image can be ignored, because it contains nonsense information which are contradicting the reality. It makes no sense to explain the flow of water with such kind of art.

New art is focussing on output


On the internet there are two kinds of art tutorials available. The old one with a classical style and more modern oriented tutorials which are digital. What is the difference? The old style of teaching art is oriented on understanding art, or to be more detailed the idea is of reproducing the past. That means, the artist is taking a sheet of paper, has oil-colors, and is painting like van Gogh and others. In most cases the tutorial are grouped around the teaching of certain skills, for example to see the objects right, to understand the idea of perspective, to be familiar with imagination and so on.
Somebody may argue, that this way is the only one and is equal to THE art. But it's not. The new digital oriented tutorials have a different focus in mind. Here is the aim not to reproduce a certain workflow or a understanding of art, he is the focus on the result of art. In most cases, a painting is created with a purpose, for example the artist want to paint a flower. How this can be done is not important. One option of creating the result is simply put a photo on a copy machine and press the button. Another option is to copy and paste a jpeg-file which is already there. All of these techniques are valid pattern in creating art because they resulting into an output.
What new art is investigating (and what is described in the tutorials) are different ways to generate art in a productive way. Apart form simply using a photocopier it is also possible to start the GIMP software and draw the image with a tablet. The technique is not important. Instead of a tablet a mouse would work too and instead of GIMP another tool for example a vector drawing software is possible. What the artist is focussed is not a certain workflow or a certain understand of art, but he is guided by the results. He has certain conditions, for example an image created from scratch which shows flowers, and then he takes a technology which is helping to produce this output.
Stereotypes
The classical description of art was separated between online and offline art. Offline art is equal to painting with oil colors on paper, while online art is equal to digital art which is grouped around electronic photoediting. The gimp software was introduced as a classical photo-editing software tool. That means, a digital camera is producing the image and the gimp software is for making minor adjustments.
But, this clear distinction disappeared. Because Gimp is more then only a photoediting software, GIMP is a full blown electronic art-studio which allows to paint directly on the screen. The new better workflow is to use gimp for replacing classical painting. That means, the content is created nativly for the web, and is printed on demand, for example to present the work in an Art exhibition. The result is, that there is a difference between physical painting and the creating of the painting. It is possible to draw a picture without printing it out. The advantage has to do with costs. It is possible to create with GIMP much more images in a short amount of time, and without the need to buy oil colors for concept works.
In classical old school painting both working steps were made at the same time. While using the brush, the artist decides about the image. He can not paint without paint. Painting was about physical painting. In the improved workflow, the artist can create a complex oil painting without using real colors. He moves the mouse on the screen and using virtual tools like a brush, a pencil and so on. But, the old technique of using physical colors is still available. Because it is possible to transform any jpeg image with an inkjet printer into a real painting. In context of creating art, a normal desktop printer is not enough. There is a need for special A0 inkjet printers which provide a high-resolution quality. Such printers are available in photocopier studios.
What is the result of printed art? The result is mostly a higher productivity. Artist how are using a digital workflow with GIMP plus inkjet printers are not only drawing 2 images in a year, they are producing 100 images in a huge format. And they get printed out many thousands time. On the first look it seems, that not a single artist but a huge group of designers is behind the images, but it was a single person. He has optimized the workflow and is able to create any image the customer likes from scratch. What he has done is to replace a normal offline brush with computer hardware.
Resolution
One explanation, why computers are not very often used for paintings has to do with the limits of technology. The first painting programs were available since the 1980s and Andy Warhol used the top model for creating art. But, the output wasn't comparable to real art made with a brush, because the Amiga 1000 computer had a limited amount of main memory. If somebody is drawing on early homecomputers an image it will look like computerart but not like a real painting.
Let us define some preconditions to use the computer as a serious tool. Suppose, somebody want's to create a normal sized image which can be printed out in 40 inch by 40 inch (1 meter x 1 meter). A sufficient quality amount would be 300 dpi, the number of pixels is 12000x12000. Reducing the number of pixels isn't a good idea, because this result into a rastergraphics which can be seen with the normal eye from the distance. The key question is: how does look a computer like, who is able to process 12000x12000 pixels? And this is the bottleneck, the early computers in the 1980s were not capable of doing that. Even expensive workstations from that area are not suitable. The amount in Megabyte is 400 MB, that means, computers before the year 2000 were simply not powerful enough to handle this data.

Is the LInux kernel a fake?


A careful observation of the development in the LInux community will show, that every two months a new version of the Linux is released. In all cases it has lots of improvements, security fixes and a bit tuning. The updates comes regularly, frequent and have a high-quality. Can this story be true? What is Linux hiding from us?
On the first look, the development process is suspicious. It is not driven by humans but it seems that Linux is developed by an Artificial Intelligence. If real programmers would release the code, the frequnce would be much slower, and the quality weaker. How does look the computer program look like which is able to generate the Linux sourcecode? I'm not talking about the c-compiler, I'm talking about the sourcecode itself.
But let us take a step back. Can it be possible that high quality software without any serious bugs was programmed by humans? Yes and no at the same time. Indeed, software engineering is hard, on the other hand the workflow which results into the Linux kernel can be reproduced under clean condition. Suppose, we want to make our own “nearly perfect” software project. The first thing what we can do is to create a new git repository with the magic commandline expression “git init”. Then we are committing some edit. The result is a twofold. At first, the development process becomes transparent and secondly the result is nearly perfect sourcecode. That means, even we are not good in coding software, the git workflow allows us to take back wrong actions and evaluate edits according to their quality. That means, git acts as some kind of quality evaluation system which is equal to what is done in modern automotive fabrication.
The car production there is the same problem. At the first hand, the ordinary worker is not very accurate. He has a limited understanding of the internal of a motor, and his motivation for producing high quality is low. If 10 of such workers are producing the new car, it will fail. The workers will argue, they will leave out important steps, they will forget something to install and so on. And here comes the magic, called management. Even if the workers are not very good it is possible to produce many cars which are 99.9% perfect. That means, every car is the same, and no serous issues are there. This is realized in reality with a mixture of process monitoring, quality control and communication between the workers. Such a management system transforms an array of inexpensive workers ;-) into a high-quality production line. They will act nearly perfect and the car looks like as it was produced by robots.
The surprising truth is, that either in car manufacturing nor in programming the Linux kernel any kind of automation is in the loop. Most parts of the process (90% and more) were done by hand. Sure, the workers have some mechanical tools, and Greg Kroah-Hartman has some profiling tools for analyzing the code, but in general it is a manual task which is done by humans.
What i want to tell is, that the development of the LInux kernel, or better the quality of the Linux kernel, is the result of management decisions. Such system transforms weak and middle capable programmers into robot-like programming machines which are generating 99.9% top-quality. The interesting news is, that the process can be reproduced in any software project too. All what the programmers need is a git like version control system and a shared mission, for example to program a software like Google Chrome, gimp or whatever. And even if the single programmer has absolutely no understanding of computing the project will be a success.
Mastering robot-like quality
In a modern software engineering pipeline there are some techniques available which improves the sourcecode until a new perfect quality. Perfect means, that from an outsider perspective no humans but automatic artificial intelligence have written the code. In short the techniques are:
- git version control system
- mailing list
- search in stackoverflow for similar problems
- C as high-level language
- repository available in fulltext for every team member
- a group behavior which supports commits by quality not by personal status
All of these techniques are used in modern software projects, for example the Linux kernel but also in some other projects. It results at the end into a near-perfect sourcecode which is indistinguishable from automatic generated sourcecode. The surprising information is, that so called automatic generated code is not used in modern software development technique. That means, Linus Torvalds has no UML model which is transformed into executable sourcecode. Instead the quality is based on features like using of git, and seraching in Stackoverflow. That means, the human programmer is always in the loop. At first, he is reading the mailing list, then he is browsing the sourcecode, then he is searching stackoverflow for a similar problem, then he is fixing the bug, then he is pushes out the commit. That means, that the human programmer is in the centre and all the other tools are grouped around him.
With modern internet communication this workflow is transformed into a game-like system. That means, the sourcecode can be seen as an textadventure and the players how are contributing to the project are trying to maximize their score. Again, the workflow is lightyears away from an automatic / autonomous workflow. I would guess, that today less code generators are used, then 30 years ago. That is interesting because the academic literature about how to write high-quality software is based on models and code-generators. The idea is, that an abstract UML like model is created first, and in a topdown process this model is transformed into sourcecode. That is the way, software engineering is teached at the university and it has nothing to do with how software is programmed in reality.
What we see in real life is, that the programmers have an sourcecode editor open, for example eclipse, Visual studio or whatever, and they are editing every piece of code by hand. And that is not a malfunction in the system, it is the best practice method. Every single byte in the linux sourcecode was entered with a keyboard by a programmer who have pressed manually this button. And if we are observing the future trend on Stackoverflow then it is probably that sourcecode will become more important. That means, a good stackoverflow question about how to user a C pointer right is asked by posting some lines of code, and the perfect answer contains also some lines of code. That means, the workflow isn't based on code-generators but on teaching programming. This is sometimes called social coding, because the beginner has to learn it, the advanced user is giving advice and the communication process between them is stored in fulltext so that outsider can recognize a flame war on the mailing list without knowing the details ...

Digital Painting and the revolution in art


The term digital painting sounds like a revolution. It can be compared with the term Open Access which is describing a new form of book publishing. The shared identity of both is the digital only idea. That means, it is a new technology which is grouped around computers and desktop publishing.
Before I want to explain digital painting, let us first define electronic publication. Electronic publication means simply to not print out a manuscript, instead it is a file on the computerscreen and is created, improved and read entirely on the screen. Instead of using mechanical typewriters and Linotype printing devices more modern technologies like the PDF fileformat and LaTeX is used to generate the output. The content itself, for example a manuscript about a scientific topic remains the same. That means, an electronic PDF paper has chapters, a bibliography index, and words written in English, like his offline ancestor.
Now, we can introduce “digital painting”. In contrast to electronic publication, digital painting is even more advanced. That means, that even progressive artists may never heard about the term. It means simply to not print out an artwork or use a traditional studio, but take advantage of modern computer technologies like a graphictablet, the JPEG fileformat and the GIMP software. Digital painting should not be confused with digital art. Digital art is a very traditional form of art, because the computer is the subject. A possible installation would be to use computer monitors in a art exhibition to explain to the public what technology is. Another example of digital art is the early homecomputer scene on the commodore C-64 which has programmed so called intros and demos. In both cases, the computer made a new form of expression possible.
Such digital art is not the subject here. It is something which doesn't contradicts the self-image of a painter who is producing an oil painting. That means, an installation which is using an arduino micocontroller can coexists to a normal 1x1 meter painting. This can be seen as a state-of-the art example and is widely excepted in the art system todey. The more radical form is to use computer technology to replace old kind of art.
An early form of this technique is called speed-painting and can be realized without using the GIMP software. The idea behind speedpainting is, that the artist is using normal materials like a pencil and colors but with a certain motivation. The aim is not only to produce a painting, but with the constraint of using not more then 10 minutes. So the artist is focussed on the output of his work. He is taken a stopwatch and he must be an expert for different painting strategies. He can't figure out how to draw while he is doing so.
Comparable to speed painting is digital painting. Here the pencil is replaced by a computerprogram and the idea is to produce a certain picture. Like in speed painting to, environment constraints like time, money and effort are very important. One example of GIMP and other tools is, that the artist has only a restricted amount of colors, for example 16.7 million of them and he can't use more of them. Also, the number of brushes is limited. If he need a certain type of the blue color which is not available in GIMP but only as a offline color he has a problem. Because the color is not available in the software and he must find an answer to the problem.
Let us investigate what Craig Mullins is doing. He doesn't program algorithms to generate a picture. This is called fractals. He doesn't scan in a picture with a scanner in 600 dpi and upload it to the internet, he doesn't use oil colors in the real world. On the same time he is painting pictures, but he is focussed on tools which are available on the computer. For example, he has a digital pencil and draws with it an artwork. Why he is doing so? Because he is not interested in the painting process itself, for example to work with oil colors, but what he want's is a result. The typical workflow of Craig Mullins is, that a customer needs a portrait and Mullins has to deliver in a certain amount of time. How exactly he is generating the image is not important. He is perhaps using photoshop, or he is using GIMP. That means, the aim is to generate a JPEG File which is 100 MB in size, and how exactly this image is produced is not important.

Defining art


... is surprisingly easy, because there is something available which is the opposite. This is called science and is structured into subjects like mathematics, physics, biology and chemistry. The idea behind science is to use the rational mind for recognizing the nature. The good news is, that everything in the world fits in one of these categories. It is either art or science. In general, art is creating something from scratch which was not there and results into a cultural history, while science is per default true and bans everything what is not science. The best example to make the difference clear is a perpetuum mobile. From the perspective of physics it is a failure and equal to non-science. It is something which violates the laws of nature and people who are trying to build such a machine are pseudo-scientists. The same device (a perpetuum mobile) is from the perspective of art a valid contribution. That means, it is possible to paint such a machine in oil and it is possible to make a video about it (which is fake, of course).

June 27, 2018

Why dogs are aggressive


The healthy communication between humans and dogs and has to do with reading the mind of the other with language. It is a two way communication: the human is talking to his dog, and the other way around. An example would be, that the human is reading a book aloud in front of the dog, to indoctrinate his mind with the right ideas, but the opposite direction is also important. Every dogs is sending out signals and it is up to the human to interpret them.
The most important question is maybe: why are dogs so aggressive? Answering this is easy, because they are defending limited resources. A god usually lives together with other animals in the wild life and he needs some goods: a place to sleep, something to eat, a position in the hierarchy and so on. All of these resources are confined, that means they are not infinitely. If dog1 is eating the fish, dog2 can't eat the same fish. The result is a conflict about who owns the meal. And a conflict is solved with aggression. And that is the reason why dogs have invented lots of aggressive behaviors and signs to warn, inform and fight with other dogs.
To provoke aggressive behavior at dogs the easiest thing to do is to limit the given ressources. For example to take away a fish from the dog, to reduce the amount of space he has, to disturb his play. From an abstract point of view this is equal to make the limit of the ressources obvious. As a consequence the dog takes a decision, in most cases he decides to fight for his ressources. If he is a wild dog this is equal to an immediate attack, if the dog was trained by human he can decide for a non-aggressive behavior for example he can beg. That means, he is asking polity if he can get the fish back, if he can get his space back and so on.
Begging for food is a very usual behavior. It is a learned behavior which transforms formally aggressive fight over low resources into a social accepted behavior with the same aim: to get in control of the limited food. Perhaps, dogs are so fascinating for humans, because human are using the same technique. Like dogs, they have the major problem that food, space, and social hierarchy are limited ressources so they have invented strategies to get in control of them.
To make the point clear: The precondition for any dog behavior are resources. If no conflict about limited amount of food, space or hierarchy is there the dog will do nothing. He is bored and ignores the situation. That means, if nobody has stolen his fish then there is no problem. Perhaps the dog is memorizing about previous experiences from last week to improve his behavior in the future, but in most cases he has forgotten the episode. That is the difference between dogs and humans. Humans can make notes on their laptop, that is outside of the scope of animals.
What I want to explain is, that dogs itself are not aggressive. They have no brain which controls their behavior. Their behavior has always to do with games they play. The situation is located outside of the dog, for example if dog1 is catching the food of dog2. This game is about: two players, a limited ressources and a social hierarchy. And it is up to the individual to play the game. And this results into a certain behavior.
So called Alpha dogs have developed strategies for getting the most ressources. Either they are super-aggressive or they are super-cute. In both cases they get the most of the high-values ressources, which means free space, high quality food, social hierarchy, fresh water and so on. What the dogs are talking to each other is how to develop such strategies. And if they have acquired a behavior they will use it in reality.